Agentic RAGにおいてエージェントが複数の検索・推論ステップを連鎖的に実行し、単一ステップでは到達できない深い分析や複合的な回答を生成する技術。
Agentic RAGにおけるマルチステップ推論(Multi-step Reasoning)は、単一の検索→生成サイクルでは回答できない複雑な質問に対して、エージェントが複数の検索・推論ステップを戦略的に連鎖させて回答を構築する技術である。
例えば「2024年に最も引用されたLLM論文の著者が所属する組織の他のAI研究成果を教えて」という質問には、(1) 2024年の高引用LLM論文を検索 → (2) 最多引用論文の著者情報を取得 → (3) 著者の所属組織を特定 → (4) その組織の他のAI研究を検索、という4つの連鎖的なステップが必要になる。
ステップが直列に連鎖する最も基本的な形態。前のステップの出力が次のステップの入力となる。
[クエリ分析] → [検索1] → [中間推論] → [検索2] → [最終回答]
複数の推論パスを並列に探索し、最も有望なパスを選択する。探索的な質問に有効。
[検索1a] → [推論1a]
[分岐] → [検索1b] → [推論1b] → [最良パス選択] → [回答]
[検索1c] → [推論1c]
推論ステップ間に任意の依存関係を持つ最も柔軟な形態。ステップの結果を統合・分岐・マージする。
| 戦略 | 説明 | メリット | デメリット |
|---|---|---|---|
| 逐次実行 | ステップを1つずつ順番に実行 | 実装がシンプル、各ステップで判断可能 | レイテンシが高い |
| 並列実行 | 独立したステップを同時に実行 | レイテンシ削減 |
| 依存関係の管理が複雑 |
| 投機的実行 | 次のステップを予測して先行実行 | レイテンシ削減 | 予測が外れた場合のコスト |
| 適応的実行 | 中間結果に応じて次のステップを動的決定 | 最適な経路選択 | 計画のオーバーヘッド |
推論チェーンの各ステップで検索を挟み込む手法。Chain-of-Thoughtプロンプティングと検索を交互に実行することで、推論の各段階で最新の情報を取り込める。
思考(Thought)・行動(Action)・観察(Observation)のサイクルを繰り返すパターン。エージェントは各ステップで「何を考えたか」「何をしたか」「何を観察したか」を明示的に記録する。
生成中に次の文の信頼度を予測し、低信頼度の場合に自動で検索を挿入する手法。生成プロセスに検索トリガーを埋め込むことで、必要な場面でのみ検索を実行する。
最初に全体の実行計画を立案し、計画に従ってステップを順次実行する。計画フェーズと実行フェーズを分離することで、全体の整合性を保ちやすい。
マルチステップ推論で重要なのは、ステップ間でどのような情報をどう伝えるかの設計である。
エージェントの中間的な思考や発見を蓄積するワーキングメモリ。各ステップの入力として前のステップの結果とスクラッチパッドの内容が渡される。
ステップが進むにつれてコンテキストが肥大化する問題に対処するため、過去のステップの結果を要約・圧縮して伝える。MapReduceパターンやRefineパターンが一般的。
最終回答の根拠となる情報のチェーンを明示的に維持する。各ステップで「どの情報に基づいてこの結論に至ったか」を記録し、最終的にユーザーに提示する。
| メトリクス | 説明 | 測定方法 |
|---|---|---|
| ステップ効率 | 正解到達に必要なステップ数 | 正解ケースの平均ステップ数 |
| 情報利用率 | 検索した情報のうち回答に使用された割合 | 使用チャンク数 / 検索チャンク数 |
| 推論正確度 | 各ステップの中間結論の正確さ | ステップ別の正解率 |
| 回答完全性 | 質問の全側面に回答しているか | 人手評価またはLLM-as-Judge |
| コスト効率 | 回答品質あたりのトークン消費 | 品質スコア / 消費トークン数 |
ステップが増えるとコンテキストが肥大化し、LLMの処理能力が低下する。対策として中間結果の要約、不要な情報の刈り込み、長コンテキスト対応モデルの使用がある。
初期ステップの誤りが後続のステップに伝播し、最終回答の品質を大きく損なう問題。各ステップでの検証機構と、エラー検出時のバックトラック機能が重要。
事前に立てた計画が中間結果によって無効になる場合がある。リアクティブな再計画機能を組み込み、必要に応じて計画を動的に修正する。
A1: 質問の複雑度によりますが、一般的には3〜7ステップが実用的な範囲です。ステップが多すぎるとエラー伝播とコスト増のリスクが高まります。Plan-and-Executeパターンでは最初に最大ステップ数を計画に含め、不要なステップは実行時にスキップする設計が推奨されます。
A2: ReActはステップごとに即興的に次の行動を決定するため、事前に全体像が見えない探索的なタスクに向いています。Plan-and-Executeは全体計画を先に立てるため、ステップ間の依存関係が明確なタスクに適しています。実運用では両者を組み合わせ、大まかな計画を立てつつ各ステップではReAct的な柔軟性を持たせることが多いです。
A3: 各ステップの入力・出力・判断根拠をトレースIDで紐付けて記録することが基本です。LangSmithやPhoenixなどの可観測性ツールを使うと、ステップごとのLLM呼び出し・ツール実行・スコアリング結果を視覚的に追跡できます。問題が発生したステップを特定し、そのステップのプロンプトや検索結果を個別に検証する「ステップ分離デバッグ」が効率的です。