ふくふくHukuhuku Inc.
EP.07RAG 11分公開: 2026-05-10

エージェント型RAG:「考えて検索する」設計

1 回の検索で答えが出ない複雑な質問に、ai 自身が何度も検索を繰り返す Agentic RAG の実装パターン。サブクエリ分割・再ランクループ・ツール選択まで。

#agent#RAG
CO📔 Google Colab で開く(上から順にセルを実行)
シェア

3 ヶ月前の議事録と直近の決算資料を比較して、どう変わったか教えて」のような複雑な質問は、1 回の検索では答えが出ません。 が自分で検索を繰り返す Agentic が必要です。本記事では、ふくふくが受託案件で実装してきた Agentic RAG の構成パターンを共有します。

Agentic RAG が必要なケース

  • 比較質問:「A と B の違い」「3 ヶ月前と現在の比較」── 2 つ以上の検索が必要
  • 多段階質問:「○○ を作った人が他に何を作ったか」── 答えが次の検索のキーになる
  • 集計質問:「過去 1 年の売上推移」── 複数文書から数値を抽出して集計
  • 条件付き質問:「もし A なら B、A でなければ C」── 動的な分岐が必要
通常の RAG との違い

通常 RAG は 質問 → 検索 → 回答 の単発フロー。Agentic RAG は 質問 → 計画 → 検索ループ → 統合 → 回答 の多段フロー。計画フェーズで「どう答えるか」を AI が考えるのが本質。

Agentic RAG の動作(5 ステップ)

  1. 11. 計画:質問を分解し、必要なサブクエリ(複数)を生成
  2. 22. 検索ループ:各サブクエリを順次 or 並列で検索、結果を中間メモに
  3. 33. 評価:取得した文書が質問に十分か 自身が判定。不足なら追加検索
  4. 44. 統合:複数の文書から論点を抽出、矛盾や追加情報を整理
  5. 55. 回答:統合結果を根拠付きで生成、引用元を明記

実装パターン:LangChain の + Tool

シンプルな Agentic RAG(LangChain)
Python
from langchain.agents import initialize_agent, Toolfrom langchain.tools.retriever import create_retriever_tool
# 検索ツールを Agent に渡すsearch_tool = create_retriever_tool(    retriever=vectorstore.as_retriever(search_kwargs={"k": 5}),    name="search_documents",    description="社内文書を検索する。質問に必要な情報を取得するときに使う。")
# Agent 初期化(ReAct パターン)agent = initialize_agent(    tools=[search_tool],    llm=llm,    agent="chat-zero-shot-react-description",    verbose=True,    max_iterations=5,  # 検索ループの上限(暴走防止))
# 実行result = agent.invoke({"input": "3ヶ月前の議事録と直近の決算資料を比較して差分を出して"})print(result["output"])

実用上の落とし穴

  • ループ暴走:max_iterations を入れないと「検索 → 不足 → 再検索」が無限ループ。3〜5 回が上限の目安
  • コスト爆発:1 質問で 5〜10 倍のトークンを消費する。通常 RAG より 3〜5 倍コスト
  • 応答時間:検索ループ分の遅延、5〜30 秒は普通。ストリーミングで進捗を見せる UI 設計が要
  • 選定ミス:Agent が間違った Tool を選ぶ → 関係ない文書を取得。Tool の description が肝

通常 RAG vs Agentic RAG の使い分け

観点通常 RAGAgentic RAG
質問の複雑さ単純(1 トピック)複雑(比較・多段階)
応答時間1〜3 秒5〜30 秒
コスト/質問$0.01〜0.05$0.05〜0.30
精度高(単純質問)高(複雑質問)
UIシンプル進捗表示が必要
ハイブリッドが現実解

質問の複雑さで分岐:単純なら通常 RAG、複雑なら Agentic に切り替え。質問入力時に分類器で判定するか、ユーザーが手動で「深く調べる」モードを選ぶ。全質問を Agentic にすると 5 倍コストになるので注意。

ふくふくの進め方

社内ナレッジ RAG が複雑な質問に答えられない」というご相談には、質問の分類設計 → 単純/複雑のルーティング → Agentic 部分の実装を 1〜2 ヶ月で。ループ上限・タイムアウト・進捗 UIまで含めた本番品質の Agentic RAG を構築します。

次回予告

EP.08 はコスト最適化。トークン数を半分にしながら精度を落とさない手法 5 つを、計算式付きで共有します。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp