RAG(検索拡張生成)とは
この記事の結論
- RAG(検索拡張生成)とは、AIが回答を書く前に外部の文書を検索し、見つけた内容をプロンプトに添えて答えさせる仕組みです。
- 流れは「文書を小分けにして索引を作る → 質問に近い断片を探す → 断片を添えて生成する」の3段階です。モデルの重みは変えません。
- 答えの質は検索でほぼ決まります。うまくいかないときは、生成より先に「正しい断片が取れているか」を確かめます(2026-09-26 更新)。
らぐ/Retrieval-Augmented Generation
AIが回答を書く前に外部の文書を検索し、見つけた内容をプロンプトに添えて答えさせる仕組みです。
最終更新: 2026-09-26
RAG(検索拡張生成)とは
RAG(検索拡張生成)とは、AIが質問に答える前に手元の文書やデータベースを検索し、見つけた断片を材料として渡してから文章を生成させる仕組みです。読みは「らぐ」。英語の Retrieval-Augmented Generation の頭文字で、「検索で補強した生成」という意味です。
名前が広まったきっかけは、Lewis ほかの論文(2020年)です。この論文は、モデルの重みにしまわれた知識を「パラメトリックな記憶」、外から引く文書の索引を「ノンパラメトリックな記憶」と呼び、両者を組み合わせました。検索先には Wikipedia を密ベクトルにした索引が使われ、答えの根拠を示しやすいこと、知識を更新しやすいことが利点として挙げられています。
RAGの仕組み:索引・検索・生成の3段階
- 索引を作る:マニュアルや議事録を段落くらいの断片(チャンク)に切り、それぞれを埋め込みという数値の列に変えて、ベクトルデータベースに入れておきます。これは質問が来る前に一度だけ済ませる準備です。
- 探す:質問文も同じ方法で数値に変え、意味の近い断片を上から数件取り出します。単語の一致で探すキーワード検索を併用することもあります。
- 添えて生成する:取り出した断片を「参考資料」としてプロンプトに差し込み、「資料にないことは答えない」といった指示と一緒にモデルへ渡します。
ファインチューニングがモデル自体を書き換えるのに対し、RAGはモデルに渡すコンテキストを毎回組み立て直すやり方です。文書を差し替えれば、次の質問から答えが変わります。
RAGの具体例
- 社内ヘルプデスク:就業規則や経費精算の手順書を索引にしておき、「出張の日当はいくら?」という質問に、該当する条文を添えて答えさせます。回答の下に参照した文書名を出すと、読み手が原文で確かめられます。
- コードベースへの質問:AIコーディングエージェントが大きなリポジトリを扱うとき、関連しそうなファイルを検索して読み込んでから答えるのも、同じ発想です。
- 製品ドキュメントのチャット窓口:版ごとに違う設定手順を、利用者の版に合う文書だけに絞って検索させます。
実装の最小形は、質問を受けたら search(query, top_k=5) で断片を取り、その本文をプロンプトの前半に並べてから生成を呼ぶ、という数行の処理です。
RAGのよくある誤解
- 誤解:RAGを入れればハルシネーションはなくなる
実際:減らしやすくはなりますが、なくなりはしません。関係の薄い断片を渡すと、それをもとにもっともらしい誤答を作ることがあります。 - 誤解:文書を入れるだけで動く
実際:切り方で結果が変わります。見出しから切り離された断片は「何の話か」が分からず、検索に引っかかりません。 - 誤解:どんな規模でもRAGが必要
実際:資料が少なければ全部をプロンプトに入れるほうが簡単です。後述の技術記事は、約20万トークン(約500ページ)より小さい知識ベースなら丸ごと入れる手もあるとしています。
RAGの精度を上げるコツ
- 断片に文脈を足す:各チャンクの頭に「どの文書のどの章か」を一文添えてから埋め込みにします。文脈付き検索の技術記事(モデル開発元)では、この方法とキーワード検索の併用で検索の失敗が49%減り、並べ替え(リランキング)を加えると67%減ったと報告されています。
- 検索だけを先に評価する:想定質問と「正しく取れるべき断片」の組を作り、生成を通さずに取れているかを数えます。精度改善の公式ガイドも、RAGでは検索という新しい調整軸が加わると述べています。
- 権限を検索にも効かせる:閲覧権限のない人の質問に、見せてはいけない文書の断片が混ざらないようにします。
関連用語
関連記事
出典・参考資料
よくある質問
Q1. RAGとは何ですか?
AIが回答を書く前に外部の文書を検索し、見つけた内容をプロンプトに添えて答えさせる仕組みです。Retrieval-Augmented Generation の略で、日本語では検索拡張生成と呼ばれます。
Q2. RAGにベクトルデータベースは必須ですか?
必須ではありません。意味の近さで探すためによく使われますが、キーワード検索や既存の全文検索でも仕組みは成り立ちます。両方を組み合わせる構成もあります。
Q3. チャンクはどのくらいの大きさに切ればよいですか?
決まった正解はありません。見出しや段落の区切りで切り、断片だけ読んでも何の話か分かる大きさにするのが出発点です。想定質問で検索結果を確かめながら調整します。
Q4. RAGを使えば回答は常に正しくなりますか?
なりません。検索で外れた断片を渡すと、その内容に引きずられた誤答が出ることがあります。回答に参照元を表示し、利用者が原文を確かめられるようにしておくと安全です。