Shikata Ga Nai

Private? There is no such things.

第20回:RAGが答える仕組みを図で理解する

Hello there, ('ω')ノ

理屈はなんとなく分かった。でも流れがつかめない…

これまでの記事で、RAGに関わる技術や用語、設計のポイントについて一つずつ学んできました。

でも…

🔸「なんとなくパーツは分かったけど、全体の流れがつながらない」
🔸「実際に“質問 → 回答”の裏で何が起きてるのか、図で見たい!」

という声も多いはず。

今回は、RAGがどのようにして“社内データに基づいた答え”を返しているのかを、図解とともにやさしく整理します。


🔁 まず全体像をざっくり一言で!

RAGは以下のような流れで動いています:

社内文書を意味ベースで整理しておく(インデックス)
質問に応じて、意味が近い情報を検索(検索)
検索結果をもとに、AIが自然な文章で回答(生成)


📘 文章で説明するとこんな流れ

  1. ユーザーが質問を入力(例:「経費精算の締切は?」)
  2. AIがその質問の“意味”を数値に変換(ベクトル化)
  3. ベクトルデータベースから、意味が近い社内文書を探す
  4. 見つかった文書(チャンク)をAIに渡す
  5. ChatGPTなどのLLMが、その情報をもとに回答文を生成
  6. 出典付きで自然な答えをユーザーに返す!

🖼 図で見る!RAGの基本フロー

┌───────────────────────────────┐
│      ステップ①:インデックス(事前準備)          │
│  社内文書をチャンクに分割 → ベクトルに変換 → 保存 │
└──────────────┬──────────────────┘
                 ↓
┌──────────────────────────────┐
│      ステップ②:検索(質問時に実行)             │
│  質問をベクトルに変換 → 意味が近いチャンクを取得 │
└──────────────┬──────────────────┘
                 ↓
┌───────────────────────────────┐
│      ステップ③:生成(AIによる回答)             │
│  検索結果+質問 → LLMに渡す → 回答文を生成        │
└───────────────────────────────┘
                 ↓
         ✅ 回答をユーザーに表示!(出典付きもOK)

💡 各ステップのポイントをおさらい

ステップ 役割 主な処理 ポイント
インデックス 準備 文書の分割・ベクトル化 チャンク分けが精度を左右
検索 実行 ベクトル検索(意味検索) 埋め込みモデルの質が重要
生成 回答 LLMによる自然言語生成 プロンプト設計がカギ

🧩 実務で使うとこんな流れになります

🧾 例:経費精算の社内FAQボット

  1. 経費マニュアル(PDF)をインデックス化
  2. 社員が「いつまでに経費申請が必要ですか?」と質問
  3. RAGが「締切」に関するチャンクを検索
  4. 「毎月20日までに申請」と記載された内容を抽出
  5. ChatGPTが自然な文で回答
  6. 「出典:経費マニュアル 第2章より」と一緒に表示

➡ まさに、「社内版ChatGPT」の完成形!


🌐 クラウド上でも、ローカルでも動かせる

RAGの処理フローは以下のように、社外サービス or 社内完結どちらでも構築可能です:

導入形態 特徴
クラウド型(OpenAI, Pineconeなど) 手軽にスタート可能、精度も高いがセキュリティ注意
オンプレミス型(FAISS, LlamaIndexなど) 社内完結、情報漏洩リスクを最小化できる

よくある誤解・落とし穴

誤解 実際は…
「AIが全部記憶してる」 RAGはあくまで“その都度探して読む”仕組み
「社内データを学習させる必要がある」 RAGでは“再学習”不要!→外部参照だけで済む
「ベクトル検索はキーワード検索と同じ」 意味で探す=言い換えや類似表現にも対応できる

まとめ:RAGの動きは「調べて、読んで、答える」

  • RAGは「検索+生成」の2ステップを支える“3層構造”でできている
  • インデックス → 検索 → 生成 の流れを押さえることで、仕組みが見えてくる
  • 実際には、人が「資料を調べて答える」流れとほぼ同じ
  • ノーコードツールやクラウドサービスを活用すれば、すぐに体験可能!

Best regards, (^^ゞ