RAGの仕組み — AIが「最新の知識」で回答できるわけをわかりやすく解説


RAGの仕組み(検索拡張生成) ① 事前登録(オフライン) ② 質問時(リアルタイム) 文書群 PDF / Wiki / Docs Embedding テキスト→ベクトル ベクトルDB 保存 ↑ / 検索 ↓ 質問 ユーザー入力 Embedding 質問をベクトル化 ベクトルDB 類似文書を検索 関連文書 上位N件を取得 LLM 回答を生成 回答 根拠付きで出力 質問+文書を渡す
RAGの仕組み(検索拡張生成)
ひよこ ひよこ

ChatGPTに最新ニュースを聞いたら「知らない」って言われたよ。なんで?

ペンギン先生 ペンギン先生

LLMには「学習データの締め切り日(カットオフ)」があってね、それ以降の情報は持っていないんだよ。RAGはその問題を解決する技術で、デジタル庁の源内みたいな政府AIでも採用されてるんだ。

ひよこ ひよこ

RAGって何なの?

ペンギン先生 ペンギン先生

Retrieval-Augmented Generationの略で「検索拡張生成」と訳すんだよ。AIが答える前に関連文書を検索して、その内容を読み込んでから回答させる仕組みだよ。「知識を暗記させる」んじゃなく「毎回調べてから答えさせる」イメージだね。

ひよこ ひよこ

Google検索と何が違うの?

ペンギン先生 ペンギン先生

Google検索はキーワードの一致で探すけど、RAGは「意味の近さ」で探すんだよ。ベクトル検索といって、「AIの安全対策」で検索すると「機械学習の倫理」「AIリスク管理」という別の表現の文書も見つけられるんだ。

ひよこ ひよこ

ベクトル検索って具体的にどうやってるの?

ペンギン先生 ペンギン先生

テキストを数百〜数千次元の数値配列ベクトル)に変換するんだよ。意味が近い言葉はベクトルの向きが似るから、コサイン類似度で「距離」を計算して近い文書を探せるんだ。この変換に使うモデルをEmbeddingモデルと呼ぶよ。

ひよこ ひよこ

RAGはどういう順番で動くの?

ペンギン先生 ペンギン先生

2段階あるんだ。事前準備として①文書をベクトル化してベクトルDBに保存しておく。質問が来たら②質問をベクトル化→③類似文書を検索→④「質問+見つかった文書」をLLMに渡す→⑤LLMが回答を生成、という流れだよ。

ひよこ ひよこ

ファインチューニングってのとはどう違うの?

ペンギン先生 ペンギン先生

ファインチューニングはAIに知識を「学習させる」方式で、RAGは「検索して使わせる」方式だよ。使い分けを比較してみよう。

比較項目RAGファインチューニング
知識の更新文書追加だけでOK再学習が必要(費用・時間大)
初期コスト低(推論のみ)高(GPU学習費用)
機密情報の扱い学習に不要で安全モデルに組み込まれる
得意な用途最新情報・社内文書特定スタイル・タスク
出典の確認元文書を参照できるブラックボックス
機密情報を扱う政府や企業でRAGが好まれるのはこの安全性の違いが大きいんだよ。

ひよこ ひよこ

じゃあRAGって完璧?弱点はないの?

ペンギン先生 ペンギン先生

検索でヒットしなければ答えられない、文書の品質と更新状態に左右される、という限界があるんだよ。源内みたいな大規模展開では「文書を整備・最新化し続ける」運用コストが実は一番の課題なんだ。技術より「人と仕組みの継続管理」が難しいんだよ。