生成AIはますます高性能化し、単なるテキスト生成だけでなく「思考しながら行動する」能力が求められる時代へ突入しています。
そんな中、ICLR 2023で発表された「ReAct」は、 LLM(大規模言語モデル)に推論と行動を交互に行わせることで、より正確かつ実用的なタスク遂行を実現する新しいパラダイムです。
では具体的に、ReActとは何か?なぜ効果的なのか?どのように使えるのか? そのすべてを徹底解説します!🚀
https://arxiv.org/pdf/2210.03629
ReActとは?🧠+🤖の融合アーキテクチャ
ReAct(Reason + Act)はその名の通り、「推論(Reason)」と「行動(Act)」を交互に行うプロンプト設計法です。
従来のChain-of-Thought(思考だけ)やAct-only(行動だけ)と異なり、ReActは次のような特徴を持ちます。
-
LLMにタスクを考えさせながら、環境とインタラクションさせる
-
思考の内容と行動ログが逐次記録されるため、透明性が高い
-
推論の途中で必要な情報を外部から取得できる(WebAPIなど)
これにより、単に「答える」だけでなく、「何をすべきかを考え、必要な情報を集め、意思決定する」というより人間らしいタスク遂行が可能になります。
活用場面とその効果🔥
ReActは、以下のような分野で強力なパフォーマンスを発揮します。
① 質問応答(HotpotQA)📘
-
複数のWikipedia記事を跨ぐ推論が必要なマルチホップQAに対応
-
ReActは、内部知識と外部情報検索を組み合わせて正確に回答
② ファクトチェック(FEVER)🕵️
-
主張が事実か否かをWikipediaから検証
-
CoTよりReActの方が事実に基づいた判断ができる傾向あり(60.9%の正解率)
③ インタラクティブな環境操作(ALFWorld)🏠
-
家具を操作する仮想環境でのタスク遂行
-
CoTやAct-onlyより最大+34%の成功率向上(71%)
④ オンラインショッピング(WebShop)🛍️
-
自然文による条件指定に基づいて商品を選択
-
一回のプロンプトで、模倣学習を上回る成功率(+10%)
どのように使うのか?|ReActのプロンプト設計🛠️
ReActを使うには、以下のような形式でプロンプトを構成します。
-
思考(Thought):「今、私は〇〇を探す必要がある」
-
行動(Act):「検索:〇〇を検索」
-
観察(Obs):「検索結果:〇〇という情報が得られた」
-
次の思考へ…というふうに繰り返し
この一連のやりとりにより、モデルは自己修正しながら最適な答えや行動にたどり着きます。
6. ReActの真価はどこにあるのか?|GPT-3実験・人間との協調による可能性
ReActはPaLMだけでなく、GPT-3(text-davinci-002)でも優れた性能を発揮しています。
特にALFWorldでの成功率は、PaLMの70.9%に対して、GPT-3では78.4%という驚異的な数字を記録。
これは、GPT-3が人間の指示への適応力を高めたチューニングが施されていることも影響しています。
さらに注目すべきは、ReActの思考(Thought)部分に、人間が介入して修正できるという点です。
🤝 人間×ReActの協調が開く未来
たとえば、誤って「第二の鍵はここにある」と思い込んだReActの思考を人間が数文字だけ書き換えることで、
その後の行動が大きく修正され、タスク成功に導けるという事例が報告されています。
これは、「指示を出す」のではなく、
「思考を編集することで、AIの行動方針そのものを人間が調整する」という新しい人間-AI協調の形です。
まるでAIの頭の中に入り込み、ナビゲーションするような感覚。
これは従来の強化学習やチャットボットとは全く異なる、新次元のインタラクションです。
7. ReActの応用力|ALFWorldとWebShopでの実践例
ReActは「思考+行動」の統合型プロンプト設計ですが、これは単なる理論ではなく、実践的な効果を多くのタスクで証明しています。
中でも注目すべきは、以下の2つのユースケースです:
-
🧼 ALFWorld:日常的な操作を模した仮想環境タスク
-
🛒 WebShop:制約条件に基づく商品検索と購入意思決定
これらの環境で、ReActはどのようなパフォーマンスを発揮したのでしょうか?
ALFWorld|複雑な行動連鎖もミスなく遂行
ALFWorldでは、「汚れたアイテムを探し→洗浄し→指定場所へ移動する」という、一連のマルチステップタスクを行います。
ReActの動作例:
-
🥬 レタスを探し、シンクで洗い、テーブルに置く。
-
🔪 包丁を棚から見つけ、洗ってカウンターに配置する。
💡 特筆すべきポイント:
-
ReActは毎ステップごとに**「思考→行動→観察」**を繰り返すことで、失敗しづらい設計。
-
状況変化(例:冷蔵庫が閉まっている)にも柔軟に対応。
一方、Act方式(行動のみ)では以下のような失敗が発生:
-
🌀 洗う前に洗浄コマンドを実行 → 失敗
-
🔁 同じ行動をループ → 行動がリセットされない
ReAct-IMとの比較:
ReAct-IMでは、外部から与えられる思考制限により、 「洗った」という認識が誤って先行してしまい、正しく処理できないケースも。
🔍 結論:自由な思考を保持したReActが最も安定してタスクを達成できる。
WebShop|条件付き商品の選定と購入判断
WebShopでは、「◯◯な条件の商品を買いたい」という自然言語指示に基づいて、
実際のeコマースサイトで検索・フィルタ・購入を行うタスクです。
指示例:
“16パック入りのアップルシナモン味フリーズドライバナナチップを50ドル以下で購入して”
Actでは、
-
🍓「ストロベリーバナナ」味の商品を選んでしまい失敗。
ReActでは、
-
✅ 商品の味・サイズ・価格をひとつずつ論理的に確認
-
✅ 条件を満たすパッケージだけをクリック → 正解に到達!
💡 推論と観察を交互に行う設計により、誤った購入判断を防止できます。
8. 成功と失敗のパターン分析|ReActの強みと限界
ReActを用いた多数のタスクを検証する中で、明らかになった特徴的なパターンがあります。
✅ 成功パターン(True Positive)
-
🧠 複数の事実を組み合わせて正解に導く(例:大使として任命した大統領を特定)
-
🗃️ 曖昧な情報を確認しながら最終判断(例:時代の違う雑誌の発行年を照合)
❌ 失敗パターン(エラータイプ別)
-
検索エラー(Search error)
正しいキーワードを見つけられず、誤情報で終了 -
思考ミス(Reasoning error)
事実のつながりを正しく解釈できず、誤った判断に -
ラベル不整合(Label ambiguity)
実際の答えが複数存在し、正解と見なされないケースも -
幻覚(Hallucination)
事実にない情報を生成してしまう典型的LLMの課題
9. まとめ|ReActの汎用性と次なる進化へ
🔍 ReActは、以下のような条件で圧倒的なパフォーマンスを発揮しています。
-
複数のステップが必要な探索型・推論型タスク
-
曖昧な状況においても柔軟に計画変更できる環境
-
人間の思考の流れに近い形でAIを設計したいシーン
🧩 今後の展望としては:
-
ReAct×強化学習の融合
-
マルチモーダル(画像+言語)環境への拡張
-
人間の価値観を反映した思考編集(Human-in-the-loop)