# ReAct: Synergizing Reasoning and Acting in Language Models > [!abstract] > 大規模言語モデル(LLM)は言語理解と対話的意思決定で優れた能力を示してきたが、推論(例: 連鎖思考プロンプティング)と行動(例: 行動計画生成)の能力はこれまで別々に研究されてきた。本論文では、LLM に推論トレースとタスク固有の行動を交互に生成させる手法「ReAct」を探究し、両者の相乗効果を高める。推論トレースはモデルが行動計画を誘導・追跡・更新し例外に対応するのを助け、行動は知識ベースや環境などの外部ソースとやり取りして追加情報を取り込む役割を担う。ReAct を多様な言語タスクと意思決定タスクに適用し、最先端ベースラインを上回る有効性と、人間による解釈可能性・信頼性の向上を実証した。具体的には、質問応答(HotpotQA)と事実検証(Fever)において ReAct は単純な Wikipedia API との連携でハルシネーションと誤り伝播を克服し、ベースラインより解釈しやすい問題解決軌跡を生成した。また二つの対話型意思決定ベンチマーク(ALFWorld・WebShop)では、各 1〜2 件のコンテキスト例示のみで模倣学習・強化学習手法を絶対成功率で 34%・10% 上回った。 ## 論文情報 | 項目 | 内容 | |---|---| | 著者 | Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao | | 所属 | Princeton University(Yao, Narasimhan) / Google Research, Brain チーム(Zhao, Yu, Du, Shafran, Cao) | | 会議 | ICLR 2023(査読済み会議論文) | | arXiv | arXiv:2210.03629v3(2023-03-10) | | プロジェクト | https://react-lm.github.io/ | | コード | https://anonymous.4open.science/r/ReAct-2268/ | ## 概要 ReAct はLLM に推論トレース(内言語的思考)と環境への行動を交互に生成させる汎用プロンプティングパラダイムである。人間が料理をしながら「次は水を沸かすべきだ」と独り言を言いながら冷蔵庫を開ける、という「思考と行動の密結合」を LLM で再現しようとする着想に基づく。CoT(推論のみ)と Act-Only(行動のみ)の両方の限界を補い、外部知識に根ざした解釈可能な問題解決軌跡を生成する。 ![[_attachments/arxiv-2210.03629/fig01-react-paradigm-comparison.png]] **図1**: Standard / CoT(推論のみ) / Act-only(行動のみ) / ReAct(推論+行動)の 4 パラダイム比較。HotpotQA(上段)と ALFWorld(下段)の問題解決軌跡を並置。 ## 問題設定 LLM の推論能力と行動能力はこれまで個別に研究されてきた。 - **CoT の限界**: 静的なブラックボックス推論であり、外部世界との接点がない。内部表現のみで思考するためハルシネーションや誤り伝播が生じやすい。 - **Act-Only の限界**: 高レベル目標を言語で分解・維持する能力がなく、複雑な文脈で正しい行動を選択できない。たとえば Figure 1(1c) のエージェントは QA 軌跡の文脈に対して複雑な推論が必要な最終行動(Act 4)を生成できない。 - **統合の必要性**: 推論が行動を誘導し、行動が得た観測が推論を更新するという「閉ループ」が欠けていた。 ## 提案手法 ### ReAct パラダイムの定式化 時刻 $t$ にエージェントが観測 $o_t \in \mathcal{O}$ を受け取り、ポリシー $\pi(a_t | c_t)$ に従って行動 $a_t \in \mathcal{A}$ を取る標準設定を拡張する。ReAct はエージェントの行動空間を $\hat{\mathcal{A}} = \mathcal{A} \cup \mathcal{L}$(言語空間 $\mathcal{L}$ を追加)に拡張する。$\mathcal{L}$ 内の行動 $\hat{a}_t$—思考(thought)または推論トレース—は外部環境に影響しないためフィードバック観測は生じない。思考は現在の文脈 $c_t$ を推論することで有用な情報を構成し、次の推論または行動を支援するために文脈 $c_{t+1} = (c_t, \hat{a}_t)$ を更新する。 ### 思考の種類 ReAct が生成する思考の類型: - タスク目標の分解と行動計画の作成 - 観測から重要情報の抽出 - 推論ステップへの常識知識の注入 - 進捗の追跡とサブゴール遷移 - 例外への対処と計画の調整 - 検索再定式化(「x の代わりに y を検索してみよう」) ### プロンプト設計 PaLM-540B を少数ショットインコンテキスト例示でプロンプトする。各インコンテキスト例は人間が書いた思考・行動・観測の軌跡であり、フォーマット上の特別な工夫は不要。設計の特徴: - **知識集約タスク(HotpotQA・Fever)**: 思考と行動を密に交互配置(各ステップで Thought→Action→Obs を繰り返す)。HotpotQA は 6 例示、Fever は 3 例示を使用。 - **意思決定タスク(ALFWorld・WebShop)**: 軌跡の最も関連する位置に疎に思考を配置する。思考の非同期出現タイミングをモデル自身が決定する。 ### タスクと行動空間 #### 知識集約推論タスク Wikipedia Web API を通じて 3 種の行動を提供: 1. `search[entity]` — 対応するエンティティ Wiki ページの先頭 5 文を返す(存在しなければ類似エンティティ Top-5 を提示) 2. `lookup[string]` — ページ内で文字列を含む次の文を返す(ブラウザの Ctrl+F に相当) 3. `finish[answer]` — 答えを確定してタスクを終了 #### 意思決定タスク - **ALFWorld**: テキストベースの家庭内ゲーム。6 タスク種別で 50 以上のロケーション・50 以上のステップを要する。`go to`, `take`, `open`, `put` 等のテキスト行動。 - **WebShop**: 実際の Amazon 商品(118 万件)と人手指示(1.2 万件)を用いたウェブショッピングシミュレーション。`search`, `choose product`, `choose options`, `buy` 等の行動。 ## 新規性 ### CoT-Only との比較 CoT は静的な内部推論であり外部情報を取り込めない。ReAct は推論トレースと外部情報取得を交互に行うことで: - ハルシネーション率を CoT(14%/成功、56%/失敗)より大幅に削減(ReAct: 6%/成功、0%/失敗) - 外部知識に根ざした事実主導の問題解決軌跡を生成 - 最新情報を取得できる(ラベルが古い HotpotQA 設問で正確な回答を提供できる例を Figure 4 で示す) ### Act-Only との比較 Act は行動と観測のみで推論トレースを持たない。ReAct は: - 高レベル目標を言語でサブゴールに分解できる - 現在の環境状態を正確に把握できる - 常識知識を推論に組み込み、物体のありそうな位置を特定できる ### Inner Monologue (IM) との比較 Huang ら(2022b)の Inner Monologue は環境の状態観測と完了すべきタスクに関するフィードバックのみで思考を制限する。ReAct は: - 思考空間が柔軟で多様な推論類型に対応 - ALFWorld 全体成功率 71% 対 ReAct-IM 53% - サブゴール完了判定・次サブゴール決定・常識推論で明確に優位 ## 実験設定 | ベンチマーク | タスク種別 | 評価指標 | 行動空間 | |---|---|---|---| | HotpotQA | マルチホップ QA | 完全一致(EM) | Wikipedia API(3 種) | | Fever | 事実検証 | 正解率(Acc) | Wikipedia API(3 種) | | ALFWorld | テキストゲーム | 成功率(%) | テキスト行動(go/take/open 等) | | WebShop | ウェブナビゲーション | スコア・成功率 | テキスト行動(search/choose/buy 等) | - 基盤モデル: PaLM-540B(主実験)、GPT-3 text-davinci-002(付録) - ファインチューニング実験: PaLM-8B / 62B、ReAct 軌跡 3,000 件 ベースライン: - **Standard**: すべての思考・行動・観測を除去 - **CoT**: 行動と観測を除去して推論のみ - **CoT-SC**: 温度 0.7 でデコーディングを 21 回サンプリングし多数決を採用 - **Act**: 思考を除去して行動のみ - **BUTLER**: ALFWorld の模倣学習エージェント(105 件の専門軌跡で訓練) ## 実験結果 ### 知識集約タスク ![[_attachments/arxiv-2210.03629/table01-hotpotqa-fever-results.png]] **表1**: PaLM-540B のプロンプティング結果。 主な数値: | 手法 | HotpotQA(EM) | Fever(Acc) | |---|---|---| | Standard | 28.7 | 57.1 | | CoT | 29.4 | 56.3 | | CoT-SC | 33.4 | 60.4 | | Act | 25.7 | 58.9 | | **ReAct** | **27.4** | **60.9** | | CoT-SC → ReAct | 34.2 | 64.6 | | **ReAct → CoT-SC** | **35.1** | 62.0 | | 教師ありSOTA | 67.5 | 89.5 | - ReAct は Act を両タスクで一貫して上回り、推論が行動を誘導する価値を示す - Fever では CoT を上回る(60.9 vs 56.3): 事実検証では外部知識の取得が重要 - HotpotQA では CoT にわずかに劣る(27.4 vs 29.4): 情報検索の失敗が推論を妨げる - **最善手は ReAct と CoT-SC の組み合わせ**: ReAct → CoT-SC は HotpotQA で 35.1 ![[_attachments/arxiv-2210.03629/fig02-cot-sc-samples-results.png]] **図2**: CoT-SC サンプル数に対する各手法の性能。ReAct+CoT-SC の組み合わせは CoT-SC 21 サンプル時の性能をわずか 3〜5 サンプルで達成する。 #### 成功・失敗モード(HotpotQA 各 50 件を人手分析) | モード | ReAct | CoT | |---|---|---| | 成功: ハルシネーション(false positive) | 6% | 14% | | 失敗: 推論誤り | 47% | 16% | | 失敗: 検索結果誤り | 23% | — | | 失敗: ハルシネーション | 0% | 56% | | 失敗: ラベル曖昧性 | 29% | 28% | ### 意思決定タスク ALFWorld 成功率(%): | 手法 | Pick | Clean | Heat | Cool | Look | Pick 2 | 全体 | |---|---|---|---|---|---|---|---| | Act(6 試行最良) | 88 | 42 | 74 | 67 | 72 | 41 | 45 | | ReAct(平均) | 65 | 39 | 83 | 76 | 55 | 24 | 57 | | **ReAct(最良)** | **92** | **58** | **96** | **86** | **78** | **41** | **71** | | ReAct-IM(平均) | 55 | 59 | 60 | 55 | 23 | 24 | 48 | | BUTLER(8 試行最良) | 46 | 39 | 74 | 100 | 22 | 24 | 37 | - ReAct 最良試行が 71% で Act 最良(45%)・BUTLER 最良(37%)を大幅上回る - ReAct 最悪試行(48%)でも両手法の最良試行を超える WebShop: | 手法 | スコア | 成功率(SR) | |---|---|---| | Act | 62.3 | 30.1 | | **ReAct** | **66.6** | **40.0** | | IL | 59.9 | 29.1 | | IL+RL | 62.4 | 28.7 | | 人間 | 82.1 | 59.6 | - ReAct は 1-shot で模倣学習・強化学習を上回り、SR で 10% 絶対改善 ### スケーリングとファインチューニング ![[_attachments/arxiv-2210.03629/fig03-scaling-results.png]] **図3**: HotpotQA のプロンプティング/ファインチューニングにおけるスケーリング結果。 - プロンプティング時: 小規模モデル(8B・62B)では ReAct が推論と行動の両方をインコンテキストで学ぶ困難さから最下位 - **ファインチューニング時(3,000 件)**: ReAct が最善手に逆転。PaLM-8B ファインチューニング ReAct がすべての PaLM-62B プロンプティング手法を上回る - Standard/CoT のファインチューニングは早期に劣化: モデルが潜在的にハルシネーションした事実を記憶させるだけになる ### GPT-3 実験 ReAct プロンプティングは PaLM-540B 以外でも有効: - GPT-3 (text-davinci-002): HotpotQA EM 30.8(PaLM-540B: 29.4) - GPT-3 ALFWorld 成功率: 78.4%(PaLM-540B: 70.9%) ## 考察 ### 内部知識 vs 外部フィードバック CoT は内部知識の構造化が得意だがハルシネーションしやすい。ReAct は外部知識に根ざした事実主導の推論が得意だが検索失敗時に推論が迷走しやすい。最適解は両者のハイブリッドであり: - **ReAct → CoT-SC**: ReAct が指定ステップ内に回答できない場合に CoT-SC にフォールバック - **CoT-SC → ReAct**: CoT-SC の多数決回答が n/2 回未満の場合(内部知識が不確かな場合)に ReAct にフォールバック ### ヒューマン・イン・ザ・ループ ReAct の思考トレースは人間が読める透明な意思決定根拠を提供する。Figure 5 が示すように、思考トレースを人間が直接編集することでモデルの行動を動的に修正できる。モデルパラメータを変更したり複数の行動を書き換えたりする必要なく、2 箇所の思考編集だけで ALFWorld タスクの失敗を成功に変えられた。これは新しいヒューマン・マシン協調の形を示す。 ### 反復的な思考生成という失敗パターン ReAct 固有の失敗パターンとして、モデルが直前の思考・行動を繰り返し生成するループが観察された(推論誤りの一種として分類)。貪欲デコーディングではなくビームサーチ等の改良で解決できる可能性がある。 ## 強み / 弱点・課題 ### 強み - **外部知識への接地**: Wikipedia API 連携でハルシネーションを抑制しつつ最新情報を取得 - **設計の直感性**: 人間が行動に思考を添えるだけ。アドホックなフォーマット設計不要 - **汎用性**: QA・事実検証・テキストゲーム・ウェブナビゲーションと多様なタスクに適用可能 - **強力なファインチューニング性能**: 3,000 件の軌跡で 62B プロンプティング手法を 8B モデルが超える - **解釈可能性と制御可能性**: 思考トレースにより人間が判断根拠を確認・修正できる ### 弱点・課題 - **長い入力コンテキスト**: 複雑なタスクの多段軌跡はコンテキスト長の上限に達しやすい - **検索失敗時の脆弱性**: 検索結果が空や無関係な場合、推論が迷走しエラーが連鎖する(HotpotQA 失敗の 23%) - **反復ループ**: 思考・行動の繰り返し生成パターンに陥ることがある - **小規模モデルでのプロンプティング性能**: 8B・62B モデルでは推論と行動の両方をインコンテキストで学ぶことが困難 - **RL との統合の欠如**: 強化学習と組み合わせてより強力なエージェントを実現する可能性が未検討 ## 関連 - 概念: [[ReAct]] / [[Chain-of-Thought Prompting]] / [[エージェント型プロンプティング]] / [[文脈内学習]] - エンティティ: [[Shunyu Yao]] / [[Karthik Narasimhan]] / [[Google Brain]] / [[Princeton University]] - 先行研究: [[@2022__NeurIPS__Chain-of-Thought Prompting Elicits Reasoning in Large Language Models]] - 関連 structures: [[structures/000 Index.md]](一方向参照) ## 出典 - テキスト原本: `[[.raw/papers/arxiv-2210.03629.txt]]` - PDF: `[[.raw/papers/arxiv-2210.03629.pdf]]` - arXiv: https://arxiv.org/abs/2210.03629