# ReAct ## 定義 ReAct(Reason+Act)は、大規模言語モデル(LLM)に**推論トレース(思考)と環境への行動を交互に生成**させる汎用プロンプティングパラダイムである。推論のみの CoT と行動のみの Act-Only の限界をそれぞれ補い合うことで、外部知識に根ざした解釈可能な問題解決を実現する。エージェントの行動空間を言語空間 $\mathcal{L}$ に拡張し($\hat{\mathcal{A}} = \mathcal{A} \cup \mathcal{L}$)、言語空間内の行動(思考)は外部環境に影響せず、文脈を更新することで将来の推論・行動を支援する。(Source: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]]) ### 核心的な仕組み 思考(Thought)・行動(Action)・観測(Observation)の三つ組をインターリーブして軌跡を構成する。 ``` Thought 1: [推論・計画・常識知識の注入] Action 1: search[entity] / finish[answer] / go to X / ... Observation 1: [環境/外部ソースからのフィードバック] Thought 2: [観測を踏まえた推論更新] ... ``` 思考の役割: - タスク目標の分解とサブゴール計画の作成 - 観測からの重要情報抽出 - 常識知識の注入 - 進捗追跡とサブゴール遷移 - 例外処理と計画変更 - 検索再定式化 ## 横断的知見 - **推論-行動の非対称な失敗モード**: HotpotQA 人手分析によると CoT はハルシネーションによる失敗が 56% を占める一方、ReAct はハルシネーション 0% だが推論誤り 47%・検索失敗 23% という構成になる。つまり「外部接地は幻覚を排除するが、情報取得の失敗が新たなボトルネックを生む」というトレードオフが存在する。(Source: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] §3.3 Table 2) - **CoT との相補性**: ReAct と CoT-SC の組み合わせ(ReAct → CoT-SC もしくは CoT-SC → ReAct)が単独手法を一貫して上回る。内部知識(CoT)と外部知識(ReAct)は競合するのでなく相補的である。(Source: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] §3.2–3.3) - **スケーリングとファインチューニングの逆転**: プロンプティング時は小規模モデル(8B・62B)で ReAct が最下位だが、3,000 件の軌跡でファインチューニングすると最善手に逆転する。CoT・Standard のファインチューニングはモデルに事実を記憶させるに過ぎないが、ReAct・Act は情報へのアクセス方法という汎化可能なスキルを教える。(Source: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] §3.3 Figure 3) - **「内省」対「反応」の対比**: Inner Monologue(Huang ら 2022)は環境フィードバックへの反応のみで思考を制限するが、ReAct は目標分解・常識推論・次サブゴール計画など高レベル認知操作を含む柔軟な思考空間を持つ。この違いが ALFWorld での 71% 対 53% という成功率差を生む。(Source: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] §4) - **ヒューマン・イン・ザ・ループ適合性**: 思考トレースが自然言語で可読であるため、人間がトレースを直接編集してエージェントの行動を修正できる。ALFWorld の例では 2 箇所の思考編集で失敗タスクを成功に変えた。(Source: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] §Appendix A.3 Figure 5) - **CoT との違い(Chain-of-Thought Prompting との接続)**: CoT は静的で外部接地のない推論チェーンだが、ReAct は外部観測を動的に組み込む。[[Chain-of-Thought Prompting]] が「モデル内部知識の深い活用」を担い、ReAct が「外部世界との動的相互作用」を担う役割分担が成立する。(Source: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] §3.2, [[@2022__NeurIPS__Chain-of-Thought Prompting Elicits Reasoning in Large Language Models]]) ## 未解決の問い - **長文コンテキスト問題**: 複雑なタスクでは思考・行動・観測の軌跡がコンテキスト長上限に近づく。RAG や圧縮手法とどう組み合わせるか。 - **検索失敗への頑健性**: 検索結果が空または無関係の場合に推論が迷走するパターン(HotpotQA 失敗の 23%)をどう軽減するか。検索戦略の自動改善(自己反省型検索)との統合は有効か。 - **RL との統合**: ReAct はプロンプティングと少量ファインチューニングで動くが、強化学習と組み合わせてより複雑な長期タスクへ適用する場合の設計はどうあるべきか。 - **マルチエージェントへの拡張**: 単一エージェント設定での有効性は示されたが、複数 ReAct エージェントが協調する場合の推論-行動ループはどう設計するか。 - **反復ループの解決**: 思考・行動の繰り返し生成パターンはビームサーチで解決できるという仮説があるが、未検証。 - **モデルサイズ依存性**: プロンプティング有効性が 540B 規模に依存しているかどうか。小規模モデルでのプロンプティング性能低下を打開できるか。 ## 関連 - 概念: [[Chain-of-Thought Prompting]] / [[エージェント型プロンプティング]] / [[文脈内学習]] / [[agentic SRE]] - ソース: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] - エンティティ: [[Shunyu Yao]] / [[Karthik Narasimhan]] / [[Google Brain]] / [[Princeton University]] - 関連 structures: [[structures/000 Index.md]](一方向参照) ## 出典 - [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]](§2 ReAct 定式化、§3 知識集約タスク実験、§4 意思決定タスク実験、Appendix A.3 ヒューマン・イン・ザ・ループ事例、Table 2 成功/失敗モード分析)