rag
Retrieval-Augmented Generation。LLM に外部文書を検索結果として与えて回答を生成させる手法。本 wiki では主に llm-wiki の対比概念として扱う。
一般的な仕組み
- ドキュメント群を chunk 化して embedding で index 化
- クエリ時にベクトル類似度で関連 chunk を検索
- 検索結果を prompt に添えて LLM に回答させる
代表実装: NotebookLM、ChatGPT のファイルアップロード、多くの社内 QA ボット。
llm-wiki から見た限界
karpathy-gist が指摘する RAG の本質的弱点:
- 知識が蓄積しない — クエリのたびに chunk を探し直す
- synthesis が毎回発生 — 5 文書をまたぐ質問では毎回ピースを集め直す
- cross-reference が作られない — 文書間の関係が永続化されない
- 矛盾が都度露呈 — 競合情報の整理が結果に残らない
the LLM is rediscovering knowledge from scratch on every question. There’s no accumulation. — Karpathy
llm-wiki との関係
RAG を完全否定するものではない。llm-wiki も内部的に検索は必要で、大規模化した際は qmd のようなハイブリッド検索(BM25 + ベクトル + LLM 再ランキング)を併用する。違いは 検索対象が raw chunk ではなく、すでに LLM が整理・相互参照済みの wiki ページである こと。
関連ページ
- llm-wiki — 対比概念
- karpathy-gist — RAG の限界を論じた原典
- qmd — llm-wiki スケール時に使うローカル検索