RAG(検索拡張生成)とは?一言でいうと?
RAG は、LLM が回答を作る前に、質問に関係する資料を検索して手元に置き、その資料を読ませたうえで回答させる仕組みです。試験にたとえると、記憶だけで答える「持ち込み不可」の受験から、指定された資料を見ながら答える「持ち込み可」の受験に変えるイメージです。
名前の由来は、2020年に Lewis らが発表した論文「Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks」(NeurIPS 2020)です。この論文は、事前学習済みの生成モデルが重みの中に持つ知識を「パラメトリックな記憶」、Wikipedia を密なベクトルの索引にした外部の知識を「ノンパラメトリックな記憶」と呼び、両者を組み合わせることで、より具体的で事実に沿った生成ができたと報告しています。
LLM は学習した時点までの知識しか持たず、社内規程や自社製品のマニュアルのような非公開の情報も知りません。RAG は、こうした最新の情報や組織の中の情報を、モデルを作り直さずに回答へ使うための方法として広く検討されています。総務省・経済産業省の「AI事業者ガイドライン(第1.2版)」も、推論の際にプロンプトなどに加えて RAG で参照する情報を使う場合があることに触れています。
LLM だけ
持ち込み不可の受験
- 知識の置き場所重みの中(パラメトリックな記憶)
- 新しい情報学習した時点までしか持たない
- 組織の中の情報社内規程などの非公開の情報は知らない
RAG
持ち込み可の受験
- 知識の置き場所重み+検索した外部の資料(ノンパラメトリックな記憶)
- 新しい情報資料を差し替えれば使える
- 組織の中の情報モデルを作り直さずに回答へ使える
RAG は資料を「覚えさせる」のではなく、その場で「読ませる」。
RAGはどんな流れで回答を作る?(検索→プロンプトへの追加→生成)
RAG は「事前の準備」と「質問が来たときの処理」の2段に分かれます。代表的な構成を、当サイトの整理で順に追います(実装によって細部は異なります)。
- 1
分割(準備)
文書を検索しやすい断片(チャンク)に分ける
- 2
埋め込み(準備)
各断片をベクトルに変換し、ベクトルデータベースなどに保存
- 3
質問のベクトル化
利用者の質問も同じ方法でベクトルにする
- 4
検索
質問に近い断片を上位から取り出す
- 5
プロンプトへの追加
取り出した断片を参考資料として質問と一緒に入れる
- 6
生成
LLM が資料をもとに回答し、参照した文書名や箇所を添える
名前の語順どおり、検索(Retrieval)してから生成(Generation) する。
代表的な構成を当サイトが整理したものです。実装によって細部は異なります。
- 【準備】社内規程やマニュアルなどの文書を、検索しやすい大きさの断片(チャンク)に分ける
- 【準備】各断片を、意味の近さを数値で比べられるベクトル(埋め込み)に変換し、ベクトルデータベースなどに保存する
- 【質問時】利用者の質問も同じ方法でベクトルに変換する
- 【検索】質問のベクトルに近い断片を、上位からいくつか取り出す(キーワード検索と組み合わせることもある)
- 【追加】取り出した断片を「参考資料」として、質問と一緒にプロンプトへ入れる
- 【生成】LLM が、参考資料をもとに回答を作る。参照した文書名や箇所を添えて返す
| 段階 | 役割を担うもの | 品質を左右する点 |
|---|---|---|
| 分割・埋め込み | 文書の前処理と埋め込みモデル | 断片の大きさ、表や図の扱い |
| 検索 | ベクトル検索・キーワード検索 | 関係する断片を取りこぼさないか |
| プロンプトへの追加 | アプリケーション側の組み立て | 資料だけを根拠にするよう指示できているか |
| 生成 | LLM | 資料に書かれていない内容を補っていないか |
当サイトの説明用の例で考えます。社員がスマホのチャットで「出張の日当はいくら?」と聞くと、RAG は旅費規程の該当箇所を検索し、その条文をプロンプトに入れてから LLM に答えさせます。回答には「旅費規程 第○条による」と出典を添えられるので、社員は元の規程で確かめられます。LLM が規程を「覚えている」わけではなく、その場で読ませている点がポイントです。
RAGとファインチューニングは何が違う?
LLM に新しい知識や振る舞いを持たせる方法として、RAG とよく比べられるのがファインチューニングです。AI事業者ガイドラインは、ファインチューニングを、事前学習したモデルのパラメータを特定の業務に合う性能を得るために調整する「事後学習」の例として挙げています。
| 観点 | RAG | ファインチューニング | プロンプトの工夫だけ |
|---|---|---|---|
| 知識の置き場所 | 外部の文書(検索して参照) | モデルの重み(パラメータ) | 毎回の入力文 |
| 新しい情報の反映 | 文書を追加・差し替えれば反映できる | 追加の学習をやり直す必要がある | その都度入力する |
| 根拠の示しやすさ | 参照した文書を示しやすい | どのデータに由来するか示しにくい | 入力した内容しだい |
| 向いている用途の例 | 規程・マニュアル・製品情報の質問応答 | 決まった文体や形式、特定の作業への適応 | 小さな試行や一度きりの作業 |
| 主な手間 | 文書の整備、検索の精度、アクセス権の管理 | 学習データの準備と計算資源 | 入力できる長さに上限がある |
どちらか一方が常に優れているわけではありません。「頻繁に変わる事実を答えさせたい」なら RAG、「答え方の型や専門分野の言い回しを身に付けさせたい」ならファインチューニング、というように目的で選び、組み合わせることもあります。
RAGを使えばハルシネーションはなくなる?導入時の注意点は?
AI事業者ガイドラインは、RAG の利用によってハルシネーション(事実と異なる内容の生成)の抑制や、出力の過程と根拠の透明性の向上が期待されると述べています。ただし「期待される」であって、なくなるわけではありません。検索で関係のない資料を拾えば、それをもとに誤った回答が作られます。
同ガイドラインは、RAG によって回答が似通ったものに収束しやすくなる可能性があり、多様さや独自性が求められる作業には向かない場合がある、という注意も挙げています。導入時に押さえたい点を、当サイトの整理で並べます。
- 検索の精度:関係する文書を取りこぼしたり、古い版を拾ったりしないよう、文書の管理と更新を続ける
- アクセス権:閲覧権限のない人の質問に、権限が必要な文書の内容が混ざらないようにする
- 資料に紛れた指示文:検索した文書の中に、LLM への指示のような文章が仕込まれる攻撃(プロンプトインジェクション)に備える
- ベクトルと埋め込みの弱点:OWASP の LLM アプリケーション向けリスク一覧(2025年版)は「Vector and Embedding Weaknesses」を独立した項目にしている
- 出典の確認:回答に添えた出典が、本当にその内容を述べているかを人が確かめられるようにする
生成AIと LLM そのものの仕組みは生成AIとLLMとは、LLM の土台になっている注意機構はTransformerとはで確認できます。
RAGの回答
検索の前
質問者が閲覧できる資料へ範囲を絞る
資料を渡す時
版と出所を確認。文書中の文章は操作許可ではない
回答が出た後
引用先が実際に述べているか、根拠を照合する
資料が見つかったことと、回答が正しいことを分ける。
本文の内容を当サイトが図に整理したものです。配置や面積は数量・出題比率を表しません。
モバイル2級ではどう問われる?
RAG は、モバイル2級の出題カテゴリ「生成AI、IoTシステム及び主要アプリケーションの種類とその概要」(公式ページの図で23%、2026年9月27日確認)に当たるテーマです。MCPC の公式テキストのページでは、第11版の改版の要点として RAG や生成AIのソフトウェア開発手法が挙げられています。当サイトの推定では、『モバイルシステム技術テキスト 第11版』の第10章「生成AIとAI活用」の範囲に入ります(章とカテゴリの対応は当サイトの推定で、参照しているのは目次の章名だけです)。
4択の形式に当てはめると、次のような観点で知識を確かめられる可能性があります。当サイトの整理であり、出題頻度を示すものではありません(出題頻度は公表されていません)。
- RAG の正式名称と、「検索してから生成する」という順序
- ファインチューニングとの違い(知識の置き場所、更新の手間)
- 埋め込み(ベクトル化)とベクトル検索の役割
- RAG の利点(最新情報・組織内の情報の活用、根拠の提示)と限界
- 導入時の注意(検索精度、アクセス権、プロンプトインジェクション)
作業を自律的に進めるAIエージェントは、RAG の検索を「道具の1つ」として使うことがあります。試験全体の形式はモバイルシステム技術検定2級とはをご覧ください。
どこで間違えやすい?つまずき別の見直し表
| つまずき | 正しい理解 | 見直しのコツ |
|---|---|---|
| RAG はモデルを再学習する手法だと思う | RAG はモデルの重みを変えず、検索した資料をプロンプトに加える | 「覚えさせる」ではなく「読ませる」 |
| RAG を使えばハルシネーションは起きないと思う | 抑制が期待されるが、誤った資料を拾えば誤答になる | 「減らす工夫」であって「保証」ではない |
| 生成してから検索すると思う | 検索(Retrieval)してから生成(Generation)する | 名前の語順どおりに覚える |
| ベクトル検索はキーワードの完全一致だと思う | 意味の近さを数値化して比べるため、言い回しが違っても見つかる | 「似ている順」に取り出すと考える |
| 最新情報の反映にはファインチューニングが必須だと思う | RAG なら文書を差し替えれば反映できる | 頻繁に変わる知識は外に置く |
| 社内文書なら誰に見せてもよいと思う | 閲覧権限に応じて検索対象を絞る必要がある | 検索の前に「誰が聞いているか」を確かめる |
確認問題1
RAGで回答の前に行う処理は?
次の文の空欄に入る語句として、最も適切なものはどれか。「RAG では、質問に関係する文書を( )によって取り出し、その内容をプロンプトに加えてから LLM に回答を生成させる。」
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解は2。RAG は、文書を埋め込みに変換して保存しておき、質問に意味の近い断片をベクトル検索などで取り出してから生成に使います。
1が誤りなのは、モデルの再学習は重みを変える方法で、ファインチューニングなどの説明に当たるからです。3が誤りなのは、量子化はモデルの重みの精度を下げて小さく軽くする手法で、資料を取り出す処理ではないからです。4が誤りなのは、知識の蒸留は大きなモデルの出力を手本に小さなモデルを学習させる手法で、検索とは関係がないからです。
確認問題2
RAGとファインチューニングの違いとして適切なのは?
RAG とファインチューニングの違いに関する記述として、最も適切なものはどれか。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解は4。RAG は検索対象の文書を追加・差し替えるだけで、新しい情報を回答に反映できます。
1が誤りなのは、重みを更新するのはファインチューニングの方で、関係が逆になっているからです。2が誤りなのは、ファインチューニングで身に付いた知識は重みの中に溶け込むため、どの文書に由来するかを示しにくいからです。3が誤りなのは、RAG はモデルの学習をやり直さずに情報を更新できる点が利点だからです。
確認問題3
RAGの導入について不適切な記述は?
社内向けに RAG を導入する際の考え方として、最も不適切なものはどれか。
選択肢を準備しています。「正解と解説を見る」は先に開けます。
正解と解説を見る
正解は1。RAG はハルシネーションの抑制が期待される手法ですが、関係のない資料や古い資料を拾えば誤った回答になります。出典を添え、人が確かめられるようにしておく必要があります。
2は適切です。権限のない人に機密の内容が回答として渡るのを防ぐためです。3は適切です。外部や社内の文書に仕込まれた指示文による攻撃は、プロンプトインジェクションとして知られています。4は適切です。検索の品質は、元の文書の鮮度と管理に左右されます。
3問の根拠を説明できたら、生成AIの他のテーマも含めて本番形式で確かめてみましょう。モバイル2級の無料お試し20問は登録不要で解けます。