RAGとは?AIが推測をやめて根拠を示す仕組み

簡潔な回答

RAG、つまりretrieval augmented generation(検索拡張生成)とは、AIモデルが答える前に関連する文書を検索し、見つけた内容から答えを書く技術です。モデルは学習データしか知らないという限界があるために、この技術が存在します。RAGは、チャットボットがあなたのファイルや社内wiki、最新のウェブ検索結果から答えられる仕組みそのものです。

RAGとは実際何なのか

AI単体の言語モデルは、いわば持ち込み不可の試験のようなものです。答えられることはすべて学習が終わった時点で固定されており、あなたの契約書や社内のコードベース、昨日のニュースについて尋ねても、断られるか、自信満々の当て推量が返ってくるだけです。AIが間違える理由では、この推測の問題を詳しく取り上げています。

RAGは、この持ち込み不可の試験を、資料を見ながら答えられる試験に変えます。モデルが答えを書く前に、システムはアップロードされたファイルや社内のwiki、あるいはリアルタイムのウェブといった知識ソースを検索し、最も関連性の高い文章を取り出して、あなたの質問と一緒にプロンプトに貼り付けます。モデルはその取り出したテキストをもとに、記憶だけに頼らずに答えを書きます。

それだけの話です。名前は仰々しく聞こえますが、仕組み自体は「まず調べる」ことに尽きます。RAGエンジニアリングのそれ以外の部分は、すべてこの検索ステップが正しい文章を見つけられるようにするための工夫です。

そもそもモデルに検索ステップが必要な理由

この必要性を生む厳しい制約は2つあります。

学習には終了日がある。 2026年初めまでの情報で学習されたモデルは、それ以降に起きたことを何も知りません。そして最先端モデルの再学習には数か月とばく大なコストがかかります。検索は、誰も再学習をしなくても、AIプロダクトが今朝の発表について答えられるようにする方法です。

学習データは公開情報だった。 あなたの請求書やチケット、社内文書がそこに含まれていたことは一度もなく、どれほど巧みなプロンプトを使っても、モデルが一度も見たことのない情報を取り出すことはできません。検索は、汎用モデルが非公開データから答えを出せる唯一の方法です。

もう一つ、より分かりにくい3番目の理由があります。根拠づけです。答えが渡された文章に基づくものであれば、モデルは出典を示せますし、あなたはそれを確認できます。記憶から作られた答えは検証すべき対象を何も提供せず、それこそがハルシネーションを危険にしている失敗のパターンです。

30万トークンのマニュアルへの質問1件: 全文貼り付けで60セント、検索なら0.5セント未満
マニュアル全文を貼り付け1問あたり300,000トークン、100万トークン$2$0.60該当箇所だけを検索1問あたり2,000トークン、同じ単価0.5セント未満1マスは1セント

RAGパイプラインの仕組みをステップごとに見る

チャットでPDFを扱う機能から企業向け検索プロダクトまで、すべてのRAGシステムは同じ5つのステップで動いています。

  1. チャンク分割。 元となる文書は、数百語程度の文章の単位に分割されます。検索は文書全体ではなく文章単位で機能するためです。
  2. インデックス化。 各チャンクは埋め込み(その意味を表す数値の列)に変換され、似た意味同士が近くに位置するようにベクトルデータベースに保存されます。
  3. 検索。 あなたの質問も同じ方法で埋め込みに変換され、システムはそれに最も近いチャンクを取り出します。通常は上位3件から10件程度の文章です。
  4. 拡張。 それらの文章は「以下の文脈のみから回答してください」といった指示とともにプロンプトに挿入されます。
  5. 生成。 モデルは拡張されたプロンプトから答えを書き、理想的にはどの主張がどの文章に基づいているかを示します。

長い文書をチャットツールにアップロードして質問すると、このどれかのバージョンが背後で実行されています。chat with PDFガイドでは、Whizi内でそれがどのように動くかを実際に示しています。

RAG対ロングコンテキスト対ファインチューニング

この3つが混同されるのは、いずれも「モデルにあなたのデータを教える」ものだからです。ただしそのやり方はまったく異なります。

手法仕組み最適な用途弱点
RAGまず検索し、その結果から回答する大規模または変化し続ける文書群、出典の提示回答の質が検索の質に依存する
ロングコンテキストすべてをプロンプトに貼り付ける1つの文書を深く相互参照する場合コストと注意力の限界
ファインチューニング例を使ってモデルを再学習する文体、形式、振る舞い事実に弱く、更新のコストが高い

理論より経済性のほうが選択を決めます。GeminiやGPT-5.6ファミリーといった最先端モデルが今では備えている100万トークンのコンテキストウィンドウは、およそ1,500ページ分に相当するので、マニュアル全体を丸ごと貼り付けることも本当に可能です。しかしGPT-5.6 Terraの入力トークン料金は100万トークンあたり$2なので、質問ごとに30万トークン分のマニュアルを送ると、1回の質問あたり約$0.60かかります。一方、正しい2,000トークンだけを検索するコストは0.5セント未満です。3回質問すれば、ロングコンテキストは同じ答えを得るために100倍のコストがかかることになります。コンテキストウィンドウとはで、この根本的な制約を説明しています。

ファインチューニングは少し違う種類のものです。モデルが知っていることではなく、モデルの振る舞い方を変えます。チームは文体や出力形式のためにこれを使い、事実についてはやはりRAGを追加で組み合わせます。

気づかないうちに、すでにRAGを使っている場面

チャットボットのウェブ検索。 ChatGPT、Gemini、Perplexityがウェブを検索してリンク付きで答えるとき、それはインターネットを知識ソースとするRAGです。

ファイルとのチャット。 PDFをアップロードして質問すると、コンテキストに無理なく収まらないほど長い文書であれば、チャンク分割、埋め込み、検索が裏側で実行されます。

カスタマーサポートボット。 実際のヘルプセンターから答えを出し、記事を引用するものはRAGシステムです。即興で答えるものはそうではなく、それははっきり分かります。

最新の出来事について答えるAIアシスタント。 モデルの学習カットオフ以降の出来事についての正しい答えは、記憶ではなく検索によって得られたものです。

RAGが失敗する場面と、その見分け方

RAGはハルシネーションを減らしますが、なくすわけではありません。そして独自の失敗パターンも生み出します。

検索の外れ。 検索ステップが誤った文章を取り出してしまうと、モデルは無関係な文脈から流暢に答えます。見分け方は、あなたの文書を引用しているのに、少し違う質問に答えているような答えです。

古くなったインデックス。 ベクトルデータベースが知っているのは、最後にインデックス化された時点の文書だけです。前四半期の方針についてのRAGシステムは、出典付きで自信満々に古い答えを返します。これは単純なハルシネーションより説得力があるため、むしろ厄介です。

矛盾する出典。 取り出された文章同士が矛盾している場合、モデルは矛盾を指摘するのではなく、それらを一つの滑らかな、間違った段落にまとめてしまう傾向があります。

実用的な対策は、他のAIの答えに対するものと同じです。引用の有無だけでなく、引用された文章そのものを確認することです。答えが主張する内容を、実際にはその出典が述べていないケースが、本番システムで最も多い深刻な失敗です。

チェックリスト
  • 質問があなたのデータや最新の出来事に関するものなら、RAG的なツール(アップロードやウェブ検索)を使いましょう
  • 深く掘り下げたい1つの文書にはロングコンテキストを、大規模または変化し続ける文書群には検索を優先しましょう
  • ファインチューニングに事実の追加を期待しないでください。変わるのは振る舞いであって、知識ではありません
  • 常に引用された文章を開き、答えが主張する内容と一致しているか確認しましょう
  • 出典のない自信満々な答えは、記憶に基づく当て推量として扱いましょう

よくある質問

AIにおけるRAGとは何の略ですか。

RAGはretrieval augmented generation(検索拡張生成)の略です。retrieval(検索)は関連する文章を知識ソースから探すこと、augmented(拡張)はその文章をプロンプトに追加すること、generation(生成)はモデルがそれをもとに答えを書くことを意味します。この技術によって、モデルは学習されたことのない文書やデータからも答えられるようになります。

RAGはファインチューニングより優れていますか。

解決する問題が異なります。RAGは事実に強く、知識の更新は再学習ではなく文書の再インデックス化で済み、答えに出典を示せます。ファインチューニングは文体、トーン、出力形式に強いです。実運用のシステムでは両方を使うのが一般的で、振る舞いにはファインチューニング、知識にはRAGを使います。

大きなコンテキストウィンドウがあれば、RAGは不要になりますか。

いいえ、変わるのはしきい値です。100万トークンのウィンドウがあれば、およそ1,500ページを直接貼り付けられ、単一文書の作業に限ってはRAGを本当に置き換えられます。しかし、すべての質問ですべてを貼り付けると、そのたびに入力トークンのコストがかかります。100万トークンあたり$2の料金で30万トークンのマニュアルを送る場合、1回の質問あたり約$0.60です。一方、検索であれば数千トークンだけを送ります。大規模で変化し続ける、あるいは頻繁に問い合わせるコレクションについては、検索が経済的な選択のままです。

RAGを使うために何かを作る必要がありますか。

ユーザーとしては不要です。チャットツールに文書をアップロードしたり、ウェブ検索を有効にしたりするだけで、すでに裏側で検索が実行されています。ベクトルデータベースを使った独自のパイプラインを構築する必要が出てくるのは、非公開の文書コレクションから自動で答えるソフトウェアを開発する場合だけです。

RAGはAIのハルシネーションを止めますか。

答えを検索したテキストに根拠づけることで、ハルシネーションを大幅に減らしますが、独自の失敗も生みます。誤った文章を検索してしまう、古くなったインデックスから答えてしまう、矛盾する出典を混ぜてしまうといったことです。信頼できる習慣は、引用された文章が実際にその主張を裏づけているかを確認することであり、これはRAGだからこそ可能で、記憶だけに基づく答えでは不可能です。