ReAct and Reasoning Agents
ReAct (Reason + Act) は、LLM agent の最も基本的な実行パターンです。思考 (Thought) と 行動 (Action) を交互に行い、観測 (Observation) を取り込んで次を決める ループを作ります。
ReAct loop
実際の prompt template は次のような形式です。
Thought: I should search for the population of France.
Action: search("France population 2024")
Observation: Approximately 68 million.
Thought: I have the answer.
Final Answer: About 68 million.
なぜ強いのか
- LLM の reasoning 能力 (CoT) を活かす
- 外部 tool で 事実情報 を取り込める
- 中間状態が text として残るため、debug / 解釈が容易
- Hallucination が大幅に減る (実行結果で正される)
Plan-and-Execute
ReAct は逐次的に思考と行動を交互するため、長期計画には弱いことがあります。Plan-and-Execute は、
のように、先に計画を立ててから 実行する pattern です。長期 task や複雑 task で堅牢になります。
Reflexion
Reflexion は、agent が失敗したときに 自己反省 (self-reflection) を生成し、次の試行に活かす手法です。
これは強化学習の credit assignment を自然言語 memory で行う、と解釈できます。
Tree-of-Thoughts (ToT)
ToT は、思考を 木構造で展開 し、各 branch を value 評価しながら探索します。Beam search や MCTS の発想を CoT に持ち込んだものです。
ReWOO
ReWOO (Reasoning WithOut Observation) は、ReAct の各ステップで LLM を呼ぶオーバーヘッドを減らすため、最初に plan を作って tool 呼び出しを batch 化 します。Token 削減と latency 改善が目的です。
Reasoning model 系との関係
Reasoning Models (o1、R1 など) は、内部の long CoT で reasoning を行います。これらを agent backbone にすると、
- 外部 reflection が不要なことが多い
- Tool use との組合せが強力
- Test-time compute scaling と相性が良い
という特性が出ます。今後 reasoning model + agent loop が標準になりつつあります。
数式で見る ReAct loop
ReAct agent は、reasoning trace と action を交互に生成する policy として見られます。履歴 に対し、まず thought を生成し、その後 action を選びます。
Tool execution によって observation が返り、履歴が更新されます。
この式の気持ちは、「内部推論で何をすべきかを整理し、その結果として外部行動を選び、観測を受け取ってまた推論する」という closed loop を表しています。ReAct の強みは、静的な chain-of-thought ではなく、環境からの feedback を推論に戻せる点です。
関連ページ
- AI Agents Overview
- Tool Use and Function Calling
- Agent Memory
- Reasoning Models
- In-Context Learning and Prompting
主なソース
- ReAct: https://arxiv.org/abs/2210.03629
- Reflexion: https://arxiv.org/abs/2303.11366
- Plan-and-Solve: https://arxiv.org/abs/2305.04091
- Tree of Thoughts: https://arxiv.org/abs/2305.10601
- ReWOO: https://arxiv.org/abs/2305.18323