【ITニュース解説】Adding RAG: store your own judgment and grow your AI
2026年10月31日に「Dev.to」が公開したITニュース「Adding RAG: store your own judgment and grow your AI」について初心者にもわかりやすく解説しています。
ITニュース概要
AIが過去の指示や経験を忘れがちな問題を解決するため、RAGを導入。AIが質問ごとに意味の近い過去のメモを自動検索し、回答前に参照する。これにより、AIは再学習なしで利用者の知識を活かし、賢くなる。システムはローカルで高速動作し、プライバシーも保護される。
ITニュース解説
AI(人工知能)は日々の業務で私たちの強力なアシスタントになりつつあるが、その能力を最大限に引き出すためには、いくつかの課題がある。特に、AIが過去の自分の作業記録やメモ、私たちの指示を「必要なタイミングで」参照し、活用できないという問題は大きい。私たちはAIに何度も同じ間違いを指摘したり、同じ情報を教えたりすることがあるが、AIはなかなかそれを学習してくれない。これは、AIが情報を「記憶」していても、それが「活用される瞬間」を逃してしまうことが原因だ。
例えば、あるAIアシスタントが「英語バージョン用のスクリーンショットは英語UIで撮るように」という指示を何度も受け、その内容をメモとして保存していたとしよう。しかし、実際に作業中に英語UIのスクリーンショットを撮る場面になっても、AIはそのメモを自ら探し出して参照しないため、また同じ間違いを繰り返してしまう。このように、メモは存在しても、AIが状況に応じて適切に検索し、利用するという「判断」ができていなかった。
この問題を解決するために導入されたのがRAG(Retrieval-Augmented Generation)、日本語では「検索拡張生成」と呼ばれる技術である。これは、AIが何かを生成したり、質問に答えたりする前に、外部に保存された情報源の中から関連性の高いものを探し出し、その情報をAIに与えることで、AIの回答能力を向上させる仕組みだ。まるで、AIに「ちょっと待って、過去の記録を調べてから答えるね」という一手間を加えるようなものだと考えると分かりやすい。
具体的なRAGの仕組みは次のようになる。私たちがAIアシスタントにメッセージを送るたびに、RAGは自動的に起動する。まず、私たちの過去のメモや会話履歴、共有されているルールといった情報の中から、送られたメッセージの意味に最も近いものを高速で検索する。この「意味で検索する」というのがRAGの大きな特徴だ。単なるキーワードの一致だけでなく、言葉の裏にある意図や文脈を理解して関連性の高い情報を探し出す。これは、テキストを「埋め込み」(Embedding)という数値のリストに変換し、意味が近いテキストほどその数値も近くになるようにすることで実現される。この埋め込みモデルは、日本語と英語のような複数の言語を同じ空間で扱えるため、英語で質問しても日本語で書かれたメモを見つけ出すことも可能だ。
検索で見つかった関連性の高い情報の中から、RAGはごく少数の「見出し」(メモの要約のようなもの)を抽出する。そして、AIが回答を生成する直前に、この見出し情報をAIに提示する。AI自体は再学習されない。変わるのは、AIが回答を作る際に与えられる情報の質だ。私たちが修正や決定をメモとして残すたびに、それはAIが次に同じような状況に直面したときに参照できる「知識」として蓄積されていく。このようにして、RAGはAIを「成長」させるのだ。
RAGを導入するメリットは多岐にわたる。まず、AIが必要な情報を適切なタイミングで参照できるようになるため、同じ間違いを繰り返したり、何度も同じ指示をしたりする手間が減る。また、意味で検索するため、私たちが使う言葉遣いが毎回異なっていても、AIは関連するメモを見つけ出すことができる。さらに、この検索プロセスは私たちのローカル環境(例えばMacなどのPC)で完結し、外部の有料サービスを使う必要がないため、費用がかからず、情報が外部に漏れる心配もない。プライベートな情報や企業秘密も安心して扱える。検索も非常に高速で、通常は数十ミリ秒で結果が返ってくるため、会話の流れを止めることはない。もし検索に時間がかかりすぎても、AIはそのまま回答を続けるため、システムが止まることもない。
RAGは、単に関連性の高いメモを全てAIに渡すわけではない。重要なのは「本当に必要な情報だけ」を渡すことだ。テストの結果、最も関連性の低い質問でも高いスコアを示すことがあり、単純にスコアだけで関連性を判断すると、不要な情報が混じったり、本当に必要な情報を見逃したりすることがわかった。そこでRAGは、検索結果のトップスコアと、それに続く複数のスコアとの「差」(ギャップ)を見ることで、本当にその情報が突出して関連性が高いのかどうかを判断する。このギャップが大きいほど関連性が高いと判断し、渡す情報の量を変える。例えば、ギャップが非常に小さい場合や、トップスコア自体が低い場合は、AIに何も渡さないことで、余計なノイズでAIのコンテキストを汚染しないようにする。
RAGの具体的な実装は、いくつかのステップから構成される。まず、私たちの判断や修正事項を一つずつ個別のメモファイルとして保存する。次に、これらのメモを「埋め込み」に変換し、ローカルのデータベースにインデックス化する。この埋め込み変換と検索を行うプロセスは、AIアシスタントと並行して常に稼働させておく。そして、AIアシスタントにメッセージを送る際に、そのメッセージをRAGの検索プロセスに渡し、得られた関連性の高い見出しをAIアシスタントに渡すフック(特定のイベントが起きたときに自動的に実行されるプログラム)を設定する。このようにして、AIアシスタントは私たちの蓄積された知識を、その時々に応じて活用できるようになるのだ。
RAGの導入は、AIとの付き合い方を根本から変える可能性を秘めている。これまでは、AIは受け取った情報をその場で処理し、必要に応じて大局的な学習を行うのが一般的だった。しかしRAGを使えば、私たちが日々の業務で得た具体的な知見や判断を、AIがタイムリーに参照できるようになる。私たちが記録すればするほど、AIは私たちの「判断」を学んで賢くなる。もし、AIに同じ修正を何度もしていると感じるなら、それはAIが適切なタイミングで過去の情報を参照できていないのかもしれない。RAGはその問題を解決し、AIを真の「パートナー」へと成長させるための重要な一歩となるだろう。