用語解説
ReActフレームワークとは、AIエージェントが「推論(Reasoning)」と「行動(Acting)」を交互に繰り返すことで、複雑なタスクを段階的に解決するアーキテクチャパターンです。2022年にGoogleとPrincetonの研究者が提唱しました。
通常のLLMは一度の推論で回答しますが、ReActでは「考える→行動する→観察する→また考える」というループを繰り返すことで、長い推論チェーンや複数ステップの実行が必要なタスクに対応できます。
ReActの実行サイクル
- Thought(思考):現状と次に取るべき行動を言語で考える
- Action(行動):ツールを呼び出す・検索する・計算するなどの実行
- Observation(観察):行動の結果を確認してフィードバックを得る
- → 目標達成まで上記を繰り返す
どんな場面で活用するか
複数ステップの調査タスク
「A社のCEOの経歴と最近の発言をまとめて」という依頼に対し、「まずウェブ検索でCEO名を調べる→WikipediaAPIで経歴を取得→ニュース検索で最近の発言を収集→情報を統合」というサイクルを自律的に実行します。途中の観察結果に応じて検索クエリを修正しながら精度を高めます。
トラブルシューティングの自動化
「サーバーのエラーログを確認して原因を特定して」という指示で、「ログファイルを読む→エラーコードを検索する→関連するコードを確認する→解決策を提案する」というサイクルを自律的に実行します。
よくある誤解
❌ 誤解1:ReActはReact(JavaScriptフレームワーク)と関係がある
完全に別物です。ReActは「Reasoning + Acting」の造語で、AIエージェントの設計パターンを指します。
❌ 誤解2:ReActを使えば必ず正しい答えにたどり着く
推論の途中で誤った判断をすると、それ以降のステップも連鎖的に誤る「エラー伝播」が起きます。最大試行回数の設定とエラー時のフォールバックが設計上必要です。
❌ 誤解3:ReActが唯一のエージェントアーキテクチャ
ReActの他にも、MRKL・ToT(Tree of Thoughts)・LATS等の設計パターンがあります。タスクの性質によって最適なパターンを選択することが重要です。
判断のヒント
以下のケースではReActパターンが特に有効です。
- 事前に必要な手順が決まっていない探索的なタスクがある
- 途中の結果を踏まえて次の行動を変える必要がある
- 複数のツールを組み合わせる多段階のワークフローを自動化したい
- LangChain・LangGraph等でエージェントを実装しようとしている