RAG / Agentic RAG
LLM の弱点である知識の固定性・hallucination を、外部文書を検索してプロンプトに注入することで補う手法。
素朴な RAG
2 フェーズで構成される。
- 蓄積: 文書群を embed して vector store に保存。
- 検索 (推論時): クエリを embed → vector store で類似検索 → 関連 docs をプロンプトに含めて回答生成。
固定的な「embed → similarity search → stuff into prompt → answer」の一方向パイプライン。
Agentic RAG
検索ステップを LLM agent に委ね、ループで回す発展形。
- クエリを改善して embed し agent に投げる。
- agent が判断: 詳細化が必要なら
tool_callで補足情報を取得しプロンプトを生成、不要ならそのままプロンプト生成。 - 回答が妥当になるまでループ。
素朴な RAG が静的検索なのに対し、Agentic RAG は検索の要否・追加 tool 呼び出し・再検索を llm-agent-pattern のループ内で動的に決める点が違い。実装には langchain-langgraph のようなフレームワークが使われる。
関連
- llm-agent-memory(長期記憶も embedding 検索ベース)
- nlp-fundamentals
- _moc-llm-agent