AI Wikiに戻る

AI Wiki · 詳細ガイド · 手法

RAG(検索拡張生成)

モデルの内部知識だけに頼らず、質問のたびに外部の文書を検索して手元に引き寄せ、その根拠を読みながら答えさせる。

How it works

RAG(検索拡張生成)の一巡

loop

ステップ 1 / 5

文書を索引化

社内文書やWebページをチャンクに分割し、埋め込みモデルでベクトル化してベクトルDBに格納しておく。ここは事前の準備工程。

「検索→生成」は一度で終わらないことが多い。最初の答えが根拠不足なら、モデル自身が検索語を練り直して再検索し、証拠が揃うまでループする(エージェント的RAG)。

詳しい解説

パラメトリック記憶と非パラメトリック記憶

大規模言語モデルは学習時に見た知識を重み(パラメータ)の中に圧縮して覚える。これは滑らかで速いが、更新できず、うろ覚えの部分をもっともらしく作話(ハルシネーション)しやすい。RAGはこの「パラメトリック記憶」に、検索可能な外部文書という「非パラメトリック記憶」を足す。Lewisら(2020)はこの二つを組み合わせると、より具体的で事実に即した生成ができることを示した。

なぜ作話が減るのか、そしてどこで壊れるか

答えの材料を目の前に置くことで、モデルは「思い出す」代わりに「読む」タスクに変わり、引用で検証もできるため作話が減る。ただしRAGは検索の質で決まる。関連文書が索引に無い・近傍探索が取り逃す・チャンクの切り方が悪いと、モデルは間違った文脈を自信満々に要約してしまう。取り込んだ文書に悪意ある指示が紛れる「コンテキスト汚染(プロンプトインジェクション)」や、索引が古いままの陳腐化も典型的な失敗モードだ。

検索がすべて — 埋め込み・チャンク・再ランク

実務のRAGは三つのつまみで精度が決まる。第一にチャンク化 — 意味のまとまりを壊さず、かつ長すぎない単位に切る。第二に埋め込みと近傍探索で候補を広く速く集めるリコール工程。第三に、質問と候補を同時に読むクロスエンコーダ再ランカで、少数の本当に効く証拠へ絞るプレシジョン工程だ。長文脈モデルが登場しても、必要な数件だけを渡すRAGはコストと精度の両面で有利に働くことが多い。

主要な考え方・要点

チャンク化

文書を検索単位に切る方法。段落・見出し・文数などで区切り、重なり(オーバーラップ)を持たせて文脈の断裂を防ぐ。粒度が検索精度を大きく左右する。

埋め込み

テキストを意味の近さが距離に対応するベクトルに写像するモデル。質問と文書を同じ空間に置くことで、語が違っても意味が近いものを探せる。

ベクトルDB / 近傍探索

数百万のベクトルから近いものを近似最近傍(ANN)で高速に取り出す索引。キーワード検索と組み合わせるハイブリッド検索が実務では強い。

再ランカ

リコールで集めた候補を、質問と各候補を同時に読むクロスエンコーダで精密に並べ替える段。取り込むチャンク数を絞り、生成の精度とコストを改善する。

グラウンディングと引用

回答を検索した根拠に縛り付け、どのチャンク由来かを明示する仕組み。検証可能性を与え、根拠が無い主張を抑える最後の砦。

最新の動向

1

検索を一度で終えず、モデル自身が検索語を練り直して繰り返す「エージェント的RAG」が主流化し、複数ステップの調査タスクに適用が広がっている。

2

長文脈モデル(数十万トークン)の登場で「RAGは不要か」が議論されたが、コスト・鮮度・引用可能性の面でRAGと長文脈は補完的に併用されるのが実務の結論になりつつある。

3

文書間の関係をグラフで表す GraphRAG など、単純な近傍探索を超えた構造化検索が、横断的な質問への回答品質を上げている。

4

クロスエンコーダ再ランカとハイブリッド検索(密ベクトル+キーワード)が標準構成となり、リコールとプレシジョンを分けて最適化する設計が定着した。

データ・ベンチマーク

オープンドメインQAでの効果

複数のオープンドメインQAで当時の最高精度を達成

RAGを提唱した Lewis ら(2020, NeurIPS)は、パラメトリックのみのベースラインを上回り、より具体的で事実的な生成を示した(arXiv:2005.11401)。

作話への効き方

根拠を与えることで事実性が向上(定性的)

RAGサーベイ(Gao ら, 2023/2024)は、外部知識のグラウンディングが作話低減と最新性の両方に寄与する一方、検索品質が全体の上限を決めると整理している(arXiv:2312.10997)。

※数値は各出典に基づく参考値です。前提により変わります。最新情報は一次情報をご確認ください。

もっと深く、一緒に。

疑問も、探究心も歓迎です。CODASのDiscordで、AIとプライバシーに取り組む仲間とつながりましょう。