本文へスキップ

GLOSSARY

RAG

外部の文書を取り込んでから答えを作るAIのしくみ。

ラグ11分で読めます

RAG(ラグ・Retrieval-Augmented Generation=検索拡張生成)とは、生成AIが答えを作る前に、外部の文書やデータベースから質問に関連する情報を検索(retrieval)して取り込み、その内容を根拠(グラウンディング=回答を実在の資料に接地させること)として回答を組み立てるしくみを指します。モデルが学習時に記憶した知識だけに頼るのではなく、回答のたびに最新・固有の資料を引き寄せて参照する点に本質があります。今日のAI検索(=検索エンジンや対話型AIが要約回答を返す仕組み)の多くは、この RAG の考え方の上に成り立っています。

RAGとは

RAG は 2020年に Meta(当時 Facebook)の研究チームが提唱した手法で、「検索」と「生成」という2つの異なる技術を1つのパイプライン(=処理の流れ)に組み合わせた点が新しさでした。従来の大規模言語モデル(LLM=大量の文章で訓練された言語予測モデル)は、学習を終えた時点で知識が固定され、その後の出来事や、学習データに含まれなかった社内文書のような固有情報には答えられませんでした。RAG はこの弱点を、モデルの外に置いた「知識源(ナレッジベース)」を都度参照することで補います。

重要なのは、RAG がモデルそのものを作り替える技術ではないという点です。モデルを固有の知識で鍛え直す「ファインチューニング(追加学習)」とは異なり、RAG はモデルには手を触れず、答えるときに渡す材料(コンテキスト=文脈として与える文章)を差し替えます。したがって知識源を更新すれば、モデルを再訓練しなくても回答内容がその場で新しくなります。運用の軽さと、根拠を明示できる透明性が、RAG が急速に普及した理由です。

とえるなら、RAG は「暗記だけで試験に臨む学生」を「参考書の持ち込みが許された学生」に変える技術です。持ち込んだ参考書(知識源)が新しく正確であれば、暗記だけでは答えられない問いにも、根拠を開いて正しく答えられます。逆に、持ち込んだ参考書が古かったり間違っていたりすれば、その誤りをそのまま答案に写してしまいます。この「参考書の質が答えの質を決める」という構図が、RAG を理解し・使いこなすうえでの中心的な視点になります。

なぜ重要か(AI検索での位置づけ)

AI検索では、利用者の問いに対してAIが要約的な回答を返しますが、その回答が「どの資料に基づくのか」を示せなければ信頼されません。RAG は、検索で拾った文書を根拠として提示できるため、AI検索の回答に出典リンクを添える基盤になります。Google の AI Overviews(=検索結果上部のAI要約)や、Perplexity(パープレキシティ=出典付きで回答する対話型AI検索)のように、回答の脇に参照元を並べるサービスは、いずれも RAG 的な検索→生成の流れを内部に持っています。

当ラボの関心である LLMO(=生成AIに引用・参照されやすくするための最適化)の観点でも、RAG の理解は要になります。AIが回答時に検索して拾う対象に自社のコンテンツが入り、かつ根拠として選ばれることが、AI検索時代の露出の条件だからです。つまり RAG は「AIがどうやって外部情報を選ぶか」という、露出を左右するメカニズムそのものであり、対策を立てる上で避けて通れません。従来のSEO(検索エンジン最適化)が「検索結果で上位に出ること」を目指したのに対し、RAG 時代の対策は「AIが検索して拾う候補に入り、根拠として引用されること」を目指す点で、狙う場所が一段深くなっています。

もう一つ、RAG が重要なのは「知識の鮮度」を運用でコントロールできるからです。LLM は学習時点で知識が凍結され、その後に起きた出来事や、価格・在庫・制度改定のように頻繁に変わる情報には追随できません。RAG なら、変化する情報を知識源側で更新するだけで、モデルを触らずに回答を最新化できます。速く変わる領域ほど、RAG の価値は大きくなります。逆に言えば、RAG に拾われる側の情報が古いまま放置されていれば、AIはその古さをそのまま回答に反映してしまうため、情報を出す側にも鮮度を保つ責任が生じます。

埋め込みとベクトル検索の関係

RAG の心臓部は「意味の近さで文書を探す」ベクトル検索です。ここで鍵になるのが埋め込み(エンベディング)で、これは文章の意味を数百〜数千個の数値の並び(ベクトル)に変換したものです。意味が近い文章どうしは、この数値空間の中で近い位置に配置されます。キーワードが一字一句一致しなくても、「解約」と「退会」のように意味が近い言葉であれば近い位置に来るため、言い回しの揺れを越えて関連文書を拾えます。これが、単語一致に頼る従来の検索と RAG の検索の決定的な違いです。

埋め込みへの変換には専用の埋め込みモデル(=文章をベクトル化することに特化したAIモデル)を使い、変換したベクトルはベクトルデータベース(=ベクトルの近さで高速に検索できる専用の保管庫)に蓄えます。利用者の質問も同じ埋め込みモデルでベクトルにし、近いものを引き当てる、という対称的な設計になっているのがポイントです。埋め込みが「意味の座標」、ベクトル検索が「その座標で近所を探す動作」という関係で理解すると、両者の役割分担が見えてきます。

仕組み(retrieval → 拡張 → generation)

RAG の処理は、大きく「検索」「拡張」「生成」の3段階に分かれます。中心にあるのは、意味の近さで文書を探す「ベクトル検索(=文章を数値の並びに変換し、近さで似た内容を探す方式)」です。

  1. 事前準備(インデックス作成):知識源の文書を適度な長さに区切り(チャンク化)、それぞれを埋め込み(エンベディング=文章の意味を数百〜数千次元の数値ベクトルに変換したもの)にしてベクトルデータベースに格納しておきます。
  2. 検索(retrieval):利用者の質問も同じ方式で埋め込みに変換し、ベクトルデータベースの中から意味が近い文書チャンクを上位数件取り出します。キーワードの一致ではなく「意味の近さ」で拾うため、言い回しが違っても関連文書を見つけられます。
  3. 拡張(augmentation):取り出した文書チャンクを、利用者の質問と一緒にプロンプト(=モデルへの指示文)に埋め込みます。「次の資料を根拠に、この質問へ答えよ」という形で、モデルに材料を渡します。
  4. 生成(generation):LLM が、渡された資料を踏まえて回答を生成します。多くの実装では、どの資料を使ったかを併せて出力させ、出典リンクとして提示します。

具体例と関連手法

身近な例で言えば、社内規程を読み込ませた問い合わせチャットボット、製品マニュアルを根拠に答えるサポートAI、論文データベースを検索して要約する研究支援ツールなどが、いずれも RAG で作られています。共通するのは「モデルが知らない固有情報を、外部の知識源から補って答える」という構図です。

RAG と近い概念の対比
手法モデルを変えるか知識の更新出典提示主な用途
RAG(検索拡張生成)変えない知識源の差し替えで即時しやすい固有・最新情報への回答、AI検索
ファインチューニング(追加学習)変える(再訓練)再訓練が必要で重いしにくい口調・形式・専門領域への適応
プロンプトだけの利用変えないできない(学習知識のみ)しにくい一般的な文章生成・要約

横にスクロールできます

検索段階の精度を上げる工夫も多く、意味の近さで拾ったあとにキーワード一致の検索(BM25=単語の出現に基づく古典的な検索指標)を組み合わせるハイブリッド検索や、拾った候補を並べ替えて上位だけ渡すリランキング(再順位付け)などが実務でよく併用されます。近年は、モデルが自ら「何を検索すべきか」を判断し、必要に応じて複数回検索を繰り返す「エージェント型RAG(=AIが自律的に検索と推論を往復する式)」も広がり、単純な一度きりの検索より複雑な問いに対応できるようになっています。

RAG の代表的な用途を整理すると、適用先の広さが見えてきます。共通するのは、モデルが学習で覚えていない「固有・最新・大量」の情報を、外部の知識源から補う点です。

RAG の代表的な用途
用途知識源解決する課題
社内ヘルプデスク就業規則・申請手順・FAQ担当者に聞かないと分からない社内固有の手続きに即答する
カスタマーサポート製品マニュアル・過去の問い合わせ製品ごとの詳細仕様に、根拠付きで正確に答える
AI検索・要約回答Webページ・ニュース・公式文書最新の出来事に、出典を示しながら答える
専門文書の調査支援論文・判例・技術規格大量の専門文書から関連箇所を引き当て要約する

横にスクロールできます

ただし RAG は運用コストも伴います。知識源のベクトル化埋め込み作成)や、その保管・更新、検索の呼び出しには計算資源と手間がかかり、知識源が古びれば回答も古びます。導入して終わりではなく、知識源を鮮度高く保ち、検索精度を測りながら改善し続ける運用が前提になります。

誤解と注意点

RAG は誤りを減らす有力な手段ですが、万能ではありません。次のような誤解に注意が必要です。

  • RAG を入れればハルシネーション(=誤りをもっともらしく断定する現象)がゼロになる、というのは誤りです。検索で誤った古い文書を拾えば、その誤りを根拠にした誤答が生まれます。根拠の質が回答の質を決めます。
  • 検索で関連文書が見つからなかった場合、モデルが学習知識で勝手に補って断定することがあります。「資料になければ分からないと答える」という指示や設計が別途必要。
  • ベクトル検索は意味の近さで拾うため、一見関連するが答えに不要な文書を混ぜることがあります。渡す文書が多すぎても、モデルが要点を取り違えます。
  • 出典リンクが付いていても、その資料が回答内容を実際に支持しているとは限りません。引用の妥当性は人間の確認が要ります。

さらに見落とされがちなのが、検索の結果がそのまま「AIが引用する候補」になるという因果です。RAG では、検索で拾われなかった文書は、そもそも回答の材料にすらなりません。つまり、どれだけ正確で価値ある情報でも、意味が拾われにくい書き方・構造で埋もれていれば、AIの回答には一切反映されないのです。逆に、要点が明確で、事実・数値・定義が構造化された文書は、ベクトル検索で拾われやすく、根拠として選ばれやすくなります。この「拾われるかどうか」が露出の分かれ目になるため、RAG の仕組みを理解することは、情報を出す側にとって、単なる技術知識ではなく実利に直結する知識になります。

実務での向き合い方

  1. まず自社の問い合わせや検索の中で、学習知識では答えられない「固有・最新」の情報がどこかを洗い出します。そこが RAG の適用先になります。
  2. 知識源にする文書を、事実・数値・日付が明確な一次情報に整えます。曖昧な表現や古い記述は、拾われたときに誤答の原因になります。
  3. 文書を適切な長さに区切り、見出しや要点を明示して、検索で意味が拾われやすい構造にしますこれは AI検索対策とも共通します)。
  4. 回答に出典を必ず添える設計にし、根拠のない断定を出させません。「資料になければ未確認と答える」を既定にします。
  5. 検索で拾った根拠と回答が食い違っていないか、定期的に人間が抜き取り検証します。RAG は入れて終わりでなく、根拠の鮮度と精度を保つ運用が要ります。

RAG とファインチューニングはどちらを選ぶべきですか。

目的が違います。最新・固有の事実に正しく答えさせたいなら RAG、口調や出力形式・専門領域の言い回しをモデルに染み込ませたいならファインチューニングが向きます。両者は排他ではなく併用もできます。

RAG があればハルシネーションは起きなくなりますか。

なくなりません。検索で拾う根拠が誤っていたり、関連文書が見つからずモデルが補完したりすれば、依然として誤答は起こります。RAG は「根拠を示して検証しやすくする」手段であり、根拠の質と検証運用が前提です。

ベクトル検索と埋め込みは何が違うのですか。

埋め込み(エンベディング)は文章の意味を数値ベクトルに変換したもの、ベクトル検索はその数値の近さで似た文章を探す処理を指します。埋め込みが「材料」、ベクトル検索が「探し方」という関係です。

自社サイトが RAG に拾われるにはどうすればよいですか。

事実と数値を明確にした一次情報を、見出しや要点で構造化して公開することが基本です。AIが意味を拾いやすく、根拠として選びやすい形に整えることが、AI検索での引用・露出につながります。

関連する出典

この記事の根拠にした一次情報(=発表元がみずから出している資料)です。

  1. Lewis et al. "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks"(RAGを提唱した原論文・arXiv)(新しいタブで開く)https://arxiv.org/abs/2005.11401

CONTACT US

お問い合わせ

調査・取材・共同研究のご相談を承ります。

FOLLOW US

最新情報をチェック

新着のレポートと研究員コラムをお知らせします。

調査レポート日本のAI検索 実態レポート 第1回:通信キャリア編