マガジン

RAGとは?資料に答えるAIの最小構成を5つの部品で理解する

AIを使いこなす

Claudeで執筆し、GPTで自動校閲・修正しています。

木製カードケースから取り出した白紙のカードをノートの横に並べる手元
記事の内容をもとに制作したAI生成イメージです。実際の製品画面や検証結果の写真ではありません。

RAG(Retrieval-Augmented Generation、検索拡張生成)とは、AIが回答を作る前に自分たちの資料から関連する部分を探し、その内容を根拠として渡したうえで回答させる仕組みです。Microsoft Learnは、RAGを「LLMの回答を、自社のコンテンツに基づかせる(grounding)パターン」と説明しています(RAG and Generative AI - Azure AI Search)。 最小構成は、検索する部品と生成する部品の2系統に分かれます。この記事ではそれを次の5つに分けて考えます。 1. 取り込みと分割 2. 索引づくり 3. 検索 4. プロンプト組み立て 5. 生成 この5分けは、公式資料で紹介される構成要素を初心者向けにまとめた編集上の整理です。LangChainのドキュメントは、読み込み・分割・埋め込み・保存・検索の部品と、検索を生成につなげる仕組みを説明しています(LangChain Retrieval)。ここでは、資料を取り込んで索引を作る構成を扱います。既存のデータベースなどを検索に使い、取り込みや索引づくりを新たに行わない構成もあります。

この記事の目次
  1. 一枚の構成図:2つの流れと5つの部品
  2. 5つの部品の役割・入出力・典型的な失敗
  3. どの部品が欠けると何が起きるか
  4. 使えるプロンプトの型(④の説明用の例)
  5. 用語対応表
  6. 最小構成の先にあるもの
  7. 5部品の確認チェックリスト

一枚の構成図:2つの流れと5つの部品

RAGには、事前に1回行う流れ(準備)と、質問のたびに行う流れ(回答)があります。この2本を分けて描くと、どこで問題が起きたかを切り分けやすくなります。

【準備:資料が変わったときに実行】
 資料(PDF/Wiki等) → ①取り込み・分割 → ②索引づくり → [索引]

【回答:質問のたびに実行】
 質問 → ③検索 ←──── [索引]
          ↓ 関連する断片
       ④プロンプト組み立て(質問+断片+ルール)
          ↓
       ⑤生成(LLM)→ 回答+出典

構成図の描き方(手順)

  1. 紙かホワイトボードの上段に「準備」、下段に「回答」の横線を引きます。
  2. 上段に①②を矢印で結び、終点に「索引」という箱を置きます。
  3. 下段に③④⑤を置き、③から索引へ矢印を引きます。③は索引を読むだけで、書き込みません。
  4. 各矢印の上に「何が流れるか」(資料、断片、質問、プロンプト、回答)を書きます。
  5. 箱の下に「欠けたとき/壊れたときの症状」を1行で書き込みます。次の表がその素材になります。

5つの部品の役割・入出力・典型的な失敗

  • ①取り込みと分割、役割:資料を読み取り、検索できる大きさの断片(チャンク)に切る、入力 → 出力:資料ファイル → テキスト断片、典型的な失敗:表や画像内の文字が抜ける。見出しと本文が別の断片に分かれ、文脈が失われる
  • ②索引づくり、役割:断片を探しやすい形で保存する(キーワード用、意味(ベクトル)用など)、入力 → 出力:断片 → 索引、典型的な失敗:資料を更新しても索引が古いまま。古い規程で答える
  • ③検索、役割:質問に近い断片を数件選ぶ、入力 → 出力:質問+索引 → 上位の断片、典型的な失敗:言い回しの違い(「休暇」と「年休」)で拾えない。権限のない資料まで拾う
  • ④プロンプト組み立て、役割:質問・断片・回答ルールを1つの指示にまとめる、入力 → 出力:質問+断片 → プロンプト、典型的な失敗:断片が多すぎて入り切らない。「資料だけで答える」指示がなく、一般知識で補われる
  • ⑤生成、役割:渡された断片をもとに文章を作る、入力 → 出力:プロンプト → 回答、典型的な失敗:断片にない内容を付け足す。出典を示さない

①と②の入出力は、MicrosoftやLangChainが挙げる「チャンク化」「ベクトル化(埋め込み)」「保存」の段階に対応します。③の失敗例のうち、言い回しの違いで拾えない問題と、権限制御の必要性は、Microsoftが「RAGの課題」として挙げています(質問の理解、セキュリティとガバナンス)。トークン制約の問題も同様です。

どの部品が欠けると何が起きるか

「部品がない」と「部品はあるが質が低い」は症状が違います。欠落時の症状を並べます。以下は仕組みから導いた説明用の整理で、特定製品を測定した結果ではありません。

  • ①取り込み、起きること:そもそも資料に載っていない。AIは「分かりません」と答えるか、一般知識で埋めてしまう
  • ②索引、起きること:この構成では③の検索先がなくなる。全文を走査したり、既存のデータベースを検索したりする別の仕組みが必要になる
  • ③検索、起きること:資料を丸ごと渡すか何も渡さないかの二択になる。大量の資料は入力上限に収まらない
  • ④組み立て、起きること:断片があっても、回答ルールがなく根拠が使われない。出典も付かない
  • ⑤生成、起きること:関連する断片の一覧が返るだけ。普通の社内検索と同じ

つまり「資料に答えるAI」の正体は、普通の検索(①〜③)にLLMの要約・文章化(④⑤)を足したものです。回答がおかしいときは、LLMを疑う前に③の結果を見るのが近道です。

切り分けの手順

誤答が出たら、次の順で確認します。

  1. 正解が書かれた資料は、①で取り込まれているか。
  2. その部分が、断片として正しく切り出されているか。
  3. ③の上位結果に、正解の断片が入っているか。
  4. 入っているのに間違えるなら、④のルールと⑤の出力を見直す。

3で入っていなければ検索側、入っていれば生成側の問題です。この分け方だけで、直す場所がかなり絞れます。

使えるプロンプトの型(④の説明用の例)

④で組み立てる指示の例です。下の資料は説明用のダミーで、実在の規程ではありません。実際に動かして確かめた出力ではありません。

あなたは社内規程の問い合わせ担当です。
下の【資料】だけを根拠に、質問に日本語で答えてください。
- 資料に書かれていないことは「資料に記載がありません」と答える
- 回答の末尾に、使った資料の番号を [1] の形式で示す

【資料】
[1] 休暇規程 第3条:年次有給休暇は入社6か月後に付与する。
[2] 休暇規程 第5条:休暇の申請は3営業日前までに行う。

【質問】
入社3か月の社員は有給休暇を使えますか?

この型で確認したい点は3つです。

  • 「資料だけ」という限定があるか。
  • 資料に番号が振られていて、出典を返せるか。
  • 資料が空のときの答え方が決まっているか。

この例で期待する答えは「第3条により、付与は入社6か月後です」といった内容ですが、実際の出力はモデルや設定で変わります。

用語対応表

資料や製品ごとに呼び方が違うので、対応を整理しておきます。

  • 断片、一般的な呼び方:チャンク、公式資料に出てくる語(例):chunking(Microsoft)
  • 索引づくり、一般的な呼び方:インデックス作成(ベクトル検索を使う場合は埋め込みも作成)、公式資料に出てくる語(例):indexing、vectorization(Microsoft)
  • 意味での検索、一般的な呼び方:ベクトル検索、公式資料に出てくる語(例):vector search、hybrid search(Microsoft)
  • 検索、一般的な呼び方:リトリーブ、公式資料に出てくる語(例):retrieval(LangChain、Microsoft)
  • 根拠として渡す資料、一般的な呼び方:コンテキスト、公式資料に出てくる語(例):grounding data(Microsoft)
  • 準備の流れ、一般的な呼び方:取り込みパイプライン、公式資料に出てくる語(例):indexing(LangChain)
  • 回答の流れ、一般的な呼び方:検索と生成、公式資料に出てくる語(例):retrieval and generation(LangChain)

Microsoftの資料は、キーワード検索とベクトル検索を組み合わせた「ハイブリッド検索」を、取りこぼしを減らす手段として挙げています。また、検索で得た結果を意味の近さで並べ替える「セマンティックランキング」も紹介しています。最小構成では必須ではありませんが、③の精度が足りないときの選択肢として覚えておくと便利です。

最小構成の先にあるもの

LangChainのドキュメントは、生成の前に必ず検索する方式(2ステップRAG)と、LLMが検索のタイミングや方法を判断するエージェント型を区別しています(LangChain Retrieval)。Microsoftも、単一クエリの「classic RAG」と、LLMが質問を分解する「agentic retrieval」(記事確認時点で一部プレビュー)を分けて説明しています。まず2ステップ型で5部品を動かし、③の結果が足りない場面を確認してから、複雑な方式を検討する順序が無理がありません。

導入前に決めておくことは次の3つです。

  • 対象資料:どのフォルダやWikiまでを①の対象にするか。
  • 更新頻度:資料の変更後、いつ②を作り直すか。
  • 権限:閲覧権限のない人に、その資料の断片を返さない仕組みを③でどう実現するか(Microsoftは、権限情報に基づく絞り込みを課題として挙げています)。

機密資料で試す場合は、まず架空のダミー資料で5部品を通してから、本番資料に移してください。

5部品の確認チェックリスト

  • [ ] 準備の流れと回答の流れが別の線で描けている
  • [ ] 各矢印に流れるものが書かれている
  • [ ] ③の出力(上位の断片)を、人が目で確認できる
  • [ ] ④に「資料だけで答える」「なければ記載なしと答える」がある
  • [ ] 資料の更新時に②をやり直す担当と頻度が決まっている
  • [ ] 回答に出典が付き、人が元資料で確かめられる

最後の項目が特に重要です。RAGは誤答を減らす仕組みですが、ゼロにはしません。重要な判断に使う回答は、出典の原文を人が確認する運用にしておきます。

*公式資料の確認日:2026年10月27日。Microsoft Learnの該当ページは、取得時点でページ内のメタデータ上の日付が2026年8月4日でした。機能の名称や提供状況は変わるため、導入時に最新の公式ページを確認してください。*

出典・参考資料