# 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]]) - **産業実装での ReAct 選好は学術評価と一致する**: Amazon の SRE エージェント実装(Papapanagiotou, SREcon25 EMEA)は Chain-of-Thought・Plan-and-Execute・ReAct の 3 手法を内部比較し、ReAct(思考→行動→観察のインターリーブ)が障害対応タスクで最良の結果を示したと報告する。[[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] が示した「外部接地された動的相互作用」の利点が、MCP 経由でツールを呼び出す産業運用でも再現された一例といえる。(Source: [[@2025__SREcon25EMEA__Modernizing Incident Response with LLMs, RAG, and the MCP]]) - **産業実装での多モデル横断比較が、ReAct 実装の成否がモデルファミリーに大きく依存することを定量化した**: [[@2026__FSE Companion__LLM Agents for AIOps in Kubernetes - An Industrial Experience Report with Red Hat OpenShift]] は [[LangChain]]/[[LangGraph]] で実装した ReAct エージェントを Red Hat OpenShift 上で 10 モデルに接続し、「Mixtral 8x22B を除く全 LLM が ReAct の原則に従い、指示が明確な場合はツールを効果的に活用した」と報告する一方、複数ステップのツール連鎖(Advanced Reasoning)ではモデル間の精度が 0%〜100% まで大きく分散した。単一モデル・単一ドメインで ReAct の有効性を示した [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] の知見(外部接地が幻覚を減らす)は再現されつつも、「接地された行動を正しく連鎖できるか」はモデル依存性が高いことが産業ドメインで追加確認された。(Source: [[@2026__FSE Companion__LLM Agents for AIOps in Kubernetes - An Industrial Experience Report with Red Hat OpenShift]] §4.1) - **ReAct のループにメモリを追加すると、時間依存タスクで正確性がむしろ悪化する例が実証された**: 元論文([[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]])はメモリ機構を主題にしていないが、[[@2026__FSE Companion__LLM Agents for AIOps in Kubernetes - An Industrial Experience Report with Red Hat OpenShift]] は ReAct エージェントに明示的メモリを付与すると、タイムスタンプ再計算のようなタスクで古い文脈が新しい計算結果を汚染することを観測し、精度優先でメモリを無効化した。ReAct の思考トレースは「観測を踏まえた推論更新」を前提とするが、永続メモリと単発観測のどちらを信頼すべきかの優先順位付けは ReAct 定式化に明示されていない設計上の空白であることを示す。(Source: [[@2026__FSE Companion__LLM Agents for AIOps in Kubernetes - An Industrial Experience Report with Red Hat OpenShift]] §5.1、[[エージェントメモリ]]) ## 未解決の問い - **長文コンテキスト問題**: 複雑なタスクでは思考・行動・観測の軌跡がコンテキスト長上限に近づく。RAG や圧縮手法とどう組み合わせるか。 - **検索失敗への頑健性**: 検索結果が空または無関係の場合に推論が迷走するパターン(HotpotQA 失敗の 23%)をどう軽減するか。検索戦略の自動改善(自己反省型検索)との統合は有効か。 - **RL との統合**: ReAct はプロンプティングと少量ファインチューニングで動くが、強化学習と組み合わせてより複雑な長期タスクへ適用する場合の設計はどうあるべきか。 - **マルチエージェントへの拡張**: 単一エージェント設定での有効性は示されたが、複数 ReAct エージェントが協調する場合の推論-行動ループはどう設計するか。 - **反復ループの解決**: 思考・行動の繰り返し生成パターンはビームサーチで解決できるという仮説があるが、未検証。 - **モデルサイズ依存性**: プロンプティング有効性が 540B 規模に依存しているかどうか。小規模モデルでのプロンプティング性能低下を打開できるか。 - **ツール連鎖の信頼性とモデルファミリーの関係**: [[@2026__FSE Companion__LLM Agents for AIOps in Kubernetes - An Industrial Experience Report with Red Hat OpenShift]] が観測した Advanced Reasoning での精度の大きな分散(0%〜100%)は、アーキテクチャ差・訓練データ・アライメント手法のどれに主に起因するか。同一プロンプト・同一ツールという統制条件下でも差が大きいことから、モデル固有の tool-use 能力の体系的なベンチマークが必要。 - **メモリと ReAct の統合設計**: 継続的な対話文脈が必要なタスクと、単発の正確な再計算が必要なタスクをどう判別し、メモリの有効/無効を動的に切り替えるべきか。 ## 関連 - 概念: [[Chain-of-Thought Prompting]] / [[エージェント型プロンプティング]] / [[文脈内学習]] / [[agentic SRE]] / [[AIOps]] / [[エージェントメモリ]] - ソース: [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]] / [[@2025__SREcon25EMEA__Modernizing Incident Response with LLMs, RAG, and the MCP]] / [[@2026__FSE Companion__LLM Agents for AIOps in Kubernetes - An Industrial Experience Report with Red Hat OpenShift]] - エンティティ: [[Shunyu Yao]] / [[Karthik Narasimhan]] / [[Google Brain]] / [[Princeton University]] / [[LangChain]] / [[LangGraph]] - 関連 structures: [[structures/000 Index.md]](一方向参照) ## 出典 - [[@2023__ICLR__ReAct Synergizing Reasoning and Acting in Language Models]](§2 ReAct 定式化、§3 知識集約タスク実験、§4 意思決定タスク実験、Appendix A.3 ヒューマン・イン・ザ・ループ事例、Table 2 成功/失敗モード分析) - [[@2026__FSE Companion__LLM Agents for AIOps in Kubernetes - An Industrial Experience Report with Red Hat OpenShift]](§3.2 ReAct プロンプト実装、§4 10 モデル横断精度比較、§5.1 メモリの影響)