ReAct:言語モデルにおける推論(Reasoning)と行動(Acting)の相乗的結合
「思考(Thought)」と「行動(Action/Observation)」のループ構造により、幻覚を抑え外部ツールと対話する現代AIエージェントの基盤パラダイムを確立
ReAct: Synergizing Reasoning and Acting in Language Models
論文の書誌情報と関連リンク
- 発表日
- 掲載先
- ICLR 2023 / Princeton University & Google Research
ポッドキャスト形式で聴く
約5分AI生成の会話音声です。記事の要点を短くまとめています。
概要
ReActは、言語モデルにおいて「思考(Reasoning)」と「外部環境への行動(Acting)」を分離せず、思考・行動・観察を一続きの軌跡として交互に進める手法である。著者らはHotpotQA、FEVER、ALFWorld、WebShopで評価し、環境内の意思決定では行動のみの手法や学習型比較手法を上回る結果を報告した。一方、HotpotQAではReAct単体が思考特化のCoTを下回り、両者の併用で最良となった。外部情報との連携は知識の誤りを抑えうるが、検索失敗や行動の反復、履歴の長大化という制約が伴う。
なぜ歴史的イノベーションなのか
LangChain等のエージェントフレームワークがReActをコア実行ループとして採用したことで世界中に普及し、現代のAIエージェント開発の標準教本となりました。
コミュニティの評価・歴史的インパクト(1件)
- 原文を見る ↗
思考を挟むことで行動の無駄打ちが消え、行動を挟むことで思考の幻覚が消える。この相乗効果の発見は天才的。
なぜ重要なのか
本研究の技術史的な意義は、言語モデルを「内部知識で完結する受動的なテキスト生成器」から、「思考しながら環境と対話し、情報を自ら取得して目的を果たすエージェント」へと拡張する最小限の対話ループを定式化した点にある。思考(Thought)で計画を管理し、行動(Action)で外部の観察(Observation)を取り込む構造は、LangChainなどの開発フレームワークに実行コアとして採用された。単にモデルに長く考えさせるだけでなく、推論と外部ツールの相互作用そのものをシステム設計の中心に据えた転換点である。
この記事に出てくる言葉(7語)
- ReAct
Reasoning(推論)とActing(行動)を組み合わせた名称。思考と言語による外部行動を交互に生成する。
この論文ではThought、Action、Observationを単一のテキスト軌跡として交互に実行する提案手法。
- 思考トレース
Thought
モデルが問題の状況整理、計画立案、途中結果の評価を自然言語で明示的に出力した記録。
この論文では次に何を調べ、何を実行するかを判断・追跡・修正するために用いられる記述。
- 行動
Action
モデルが外部環境やツールに対して実行を指示する具体的な操作コマンド。
この論文では検索やクリックなど、外部状態に働きかける出力。
- 観察
Observation
行動の結果として外部環境からモデルに返される情報やフィードバック。
この論文では検索結果の抜粋や環境応答など、後続の思考を更新する入力。
- Chain-of-Thought
CoT
最終回答の前に中間的な推論ステップを言語として順を追って出力させる手法。
この論文では外部環境に行動せず、内部知識だけで推論を進める比較対象。
- Act-only
自然言語による推論ステップを挟まず、外部環境への行動コマンドのみを連続して生成させる手法。
この論文では思考を挟まない場合の行動決定能力を測るための比較対象。
- マルチホップ質問応答
答えを出すまでに複数の情報を順次検索して結びつける必要がある質問応答。
この論文ではHotpotQAがこの評価に用いられた。
1. 読む前に知っておきたいこと
「頭の中の推論」と「外部への行動」の分断
2022年秋、大規模言語モデルの応用研究は大きく二分されていました。一つはChain-of-Thought(CoT)に代表される「推論」の強化です。途中の思考過程を言語化させることで複雑な問題を解く精度は向上しましたが、参照できるのは学習済みの内部知識に限られていました。記憶に誤りがあれば、どれほど論理的でも架空の事実をもっともらしく語るハルシネーションを自力で防げません。もう一つは、外部環境に対してコマンドを連続発行する「行動(Act-only)」の探求です。しかし、こちらには明示的な思考がないため、「いま何が分かっていて次に何をすべきか」という大局的な計画を保持できず、操作の空振りや堂々巡りに陥りやすい弱点がありました。
企業調査業務で生じるボトルネック
ビジネスにおける「競合調査業務」を例に考えます。「競合の企業Aと企業Bの提携内容と、提携先である企業Bの主力事業を調べ、報告書を作成する」という業務を想定します。CoTだけで解かせると、モデルは外部ウェブを検索せず、内部記憶だけで「両社はAI事業で提携したはずだ」と推論を展開し、存在しない事実に基づいた報告書を作る危険があります。一方、Act-onlyで解かせると、モデルは検索画面に「企業A」と入力してクリックしますが、思考の記録を残さないため、現在地を見失って同じ検索を繰り返すなどの迷走が生じます。なお、この調査例は推論と行動の連携を理解するための枠組みであり、実務で求められる社内権限管理や法的妥当性の検証などは論文の実験範囲とは異なります。
思考と行動を結ぶ問い
プリンストン大学のYao氏らは、「なぜ推論と行動を別々の課題として扱うのか」という問いを立てました。人間が仕事を進める際は、「計画を整理する(思考)」、「不足資料を調べる(行動)」、「内容を確認する(観察)」、「計画を修正する(思考)」というサイクルを自然に回しています。言語モデルでも両者を一つの連続したプロセスの中で交互に働かせれば、思考が行動の目的を見失わせず、行動が外部の事実を持ち帰るという相乗効果が得られるのではないか、という着想でした。
2. 何がブレークスルーだったのか
Thought・Action・Observationの基本構造
ReAct(Reasoning and Acting)の根本的な特徴は、モデルの入出力履歴の中で「Thought(思考)」「Action(行動)」「Observation(観察)」という3要素を交互に連鎖させる点にあります。Thoughtでは、現状の整理、不足情報の特定、次の行動方針の立案、例外処理を自然言語で記述します。この思考ステップ自体は外部環境を変化させません。続くActionでは、検索やクリックなど、あらかじめ決められた形式の操作コマンドを外部に向けて出力します。そしてObservationとして、環境(検索エンジン等)から返された結果テキストを受け取り、文脈に加えて次のThoughtを更新します。
調査業務の例で追う情報の更新
先ほどの競合調査業務でReActの動きを追ってみます。まずモデルはThought 1として「提携内容を把握するため、企業Aの発表ニュースを検索する」と整理し、Action 1で「search[企業A 提携 企業B]」を実行します。これに対し、Observation 1として「企業Aが企業Bのクラウド基盤を採用して提携」という検索結果が返ります。モデルは即座に回答を作らず、Thought 2で「提携分野はクラウド基盤と判明したが、企業Bの主力製品の詳細が足りない。企業Bのクラウド事業を検索する」と計画を更新し、Action 2で「search[企業B クラウド製品]」を実行します。新たなObservation 2を受け取ると、Thought 3で「必要な根拠が揃った」と判断し、Action 3で最終報告を出力して完了します。思考が行動を導き、行動の観察が次の思考を更新する循環が一続きの履歴として展開されます。
単発の検索連携との違い
ReActは、事前に一度だけ検索して結果をプロンプトに差し込む「ワンショット検索」とは異なります。最初の一度の検索では、キーワード選定が外れたり途中で新たな疑問が湧いたりした際に対応できません。ReActでは、観察結果が不十分であれば続くThoughtで「目的の情報が見当たらないため別の語で再検索する」と柔軟に軌道修正できます。計画が固定されず、環境の応答に応じて動的に書き換えられる点が大きな違いです。また、すべての思考と行動が履歴に残るため、事後的に判断根拠を追跡しやすい利点もあります。
3. どう確かめられたのか
4つのベンチマークと実験設定
著者らはReActの有効性を検証するため、2領域・計4つのベンチマークを用いました。知識探索課題として、複数の文書を順にたどるマルチホップ質問応答の「HotpotQA」と、主張の真偽を調べる「FEVER」を採用し、外部ウィキペディア検索と対話させました。対話型意思決定課題としては、家庭内を模したテキスト環境で指示を達成する「ALFWorld」と、多数の商品から条件に合う品を探して購入する「WebShop」を採用しました。比較対象には、思考のみのCoT、行動のみのAct-only、さらに環境課題では模倣学習(IL)や強化学習(RL)の手法が設定されました。
知識課題における報告値と限界
HotpotQAにおける著者らの報告値は、CoTの正解率29.4パーセントに対し、ReAct単体は27.4パーセントでした。ReAct単体はCoTを2.0ポイント下回ったのです。外部検索に依存するReActは、適切な文書にヒットしないと情報不足で失敗しやすいためです。一方、内部知識に頼るCoTはハルシネーションを起こしやすい特徴がありました。そこで両者を組み合わせた手法を試したところ、正解率は35.1パーセントへと向上し、どちらか単体より高い数値を記録しました。FEVERでも、外部検索による検証がCoTのハルシネーションを抑制したと報告されています。
意思決定課題における定量結果
環境との対話が続く意思決定課題では、思考を挟む効果が明確に現れました。ALFWorldにおいて、行動のみを続けるAct-onlyの成功率は45パーセントでしたが、ReActは71パーセントの成功率を達成したと報告されました。現在地や目的を言語で整理することが迷走防止に寄与したとされます。またWebShopでは、模倣学習の平均スコア59.9点、強化学習の51.6点に対し、ReActは少数のプロンプト例(フューショット)のみで66.6点を記録しました。事前の大量学習を行わなくても、プロンプト内で思考と行動を協調させることで学習型手法を上回り得ることが示されました。
評価が証明できた範囲と注意点
実験が直接支えるのは、著者らの限られた評価設定においてReActが良好なスコアを示したという事実です。各課題の指標(正解率、成功率、独自スコア)は尺度が異なり横断比較はできません。またWebShop等で比較された手法とは学習条件や前提が異なるため、性能差がReActの構造だけに起因するかを厳密に切り分けることは困難です。さらに、どのような思考表現がどれだけ寄与したかという構成要素ごとの詳細な切り分けも限られており、あらゆる業務やツール利用で一般に改善が再現されると証明されたわけではありません。
4. その後、何を変えたのか
開発フレームワークへの直接の波及
ReActの発表後、提供された記録が明示する最大の影響は、エージェント開発フレームワークである「LangChain」などが、ReActの思考・行動・観察ループを実行コアとして採用したことです。言語モデルにツールを自律的に使わせたい開発者にとって、「Thought → Action → Observation」という簡潔な枠組みは、実装に直結する扱いやすい設計図となりました。初期のフレームワーク群がこのサイクルを組み込んだことで、ReActはツール連携型AIを構築する際の基礎構造として広く定着しました。
対話型エージェントという設計パラダイム
概念面では、プロンプトに対して一度だけ回答を出力する「一問一答」から、モデル自身が状況を判断して外部ツールを複数回叩きながら目標を目指す「多段階の自律エージェント」へと関心を移行させました。この対話ループの原型は、後の関数呼び出し機能(Function Calling)やWeb検索統合、さらにはコンピュータ操作エージェントへとつながる潮流の基盤となりました。外部ツールと対話しながら自律的に課題を解く現代エージェントの基本動作は、本研究が示した相互作用の土台の上に形作られています。
影響の限界と後続技術の区別
ただし、影響を評価する際は記録に裏付けられた事実と後続の進歩を区別すべきです。ReActが提示したのは、少数のプロンプト例で言語モデルにループを促すソフトウェア的な設計でした。これに対し現代のツール利用は、モデル自体が特定の構造化データを確実に出力できるよう事前学習や強化学習で訓練されたネイティブ機能に支えられています。現代の高度なツール利用能力のすべてをReAct単独の功績とするのは過剰であり、本研究が方向づけた概念がその後のモデル改良によって実用化されていったと捉えるのが正確です。
5. 今から見ると何が限界か
外部環境への依存と新たな失敗モード
現代の実務的視点で見直すと、外部環境との連携は内部ハルシネーションを減らす一方で、新たな失敗パターンを持ち込みました。一つは「行動のループ」です。検索結果が空であったり意図と異なったりした際、モデルが代替キーワードを思いつけず、似た検索やクリックを繰り返して立ち往生する現象が生じます。もう一つは「誤った観察結果による汚染」です。外部から得たテキストに誤情報が含まれていると、モデルはそれを事実と誤認し、誤った推論をさらに強固に展開してしまいます。
コンテキスト消費とコスト・遅延
もう一つの制約は履歴の長大化に伴うコストと計算限界です。ステップが進むごとに思考、行動コマンド、環境の応答テキストがプロンプト履歴に積み重なります。探索が長期化すると初期の指示や目的を見失いやすくなります。また、API呼び出し回数が増えるほどトークン消費のコストと応答待ち時間(レイテンシ)が膨らみます。外部システムの通信エラーで処理全体が停止する可用性の問題も残ります。ReActは行動を根拠あるものにする枠組みですが、停止条件や自律回復能力そのものを解決したわけではありません。
現代の実務者が確認すべき証拠
競合調査の例に戻れば、ReActのループを導入するだけで業務が自動化できるわけではありません。実務者が確認すべきなのは、定型タスクでの平均成功率ではなく、「検索失敗時に代替手段へ切り替えられるか」「堂々巡りから脱出する停止条件があるか」「外部通信エラー時に例外復旧できるか」といった異常系の耐障害性です。推論で計画を管理し、行動で外部情報を獲得するという相乗効果の視点は今なお有効ですが、実務適用には外部連携に伴う特有のリスクを見極めた検証が欠かせません。
この研究から考える
ここからは、論文の結果を踏まえた編集上の考察です。
著者らの評価では、ReActはALFWorldでAct-onlyを上回る成功率71パーセントを示し、WebShopでも模倣学習・強化学習ベースラインを上回る平均スコア66.6点を記録した。一方、HotpotQAではReAct単体がCoTを下回り、両者の組み合わせが最も高かった。ここから、外部情報や複数操作を要する業務では、単にモデルに長く考えさせるだけでなく、情報取得と計画更新を交互に行う設計を比較候補に据える実務上の判断が考えられる。ただしこの判断が成り立つのは、対象業務に近い条件で改善が再現し、検索失敗や同一行動のループ、履歴長大化、外部エラーを含めても利点が残る場合に限られる。次に見るべき証拠は、定型的な成功例の追加ではなく、同一条件での再現性や構成要素を切り分けた比較、そして異常発生時に自律的に回復できるかを示す客観的データである。