1. 背景と目的
手法 | 初出 | 主目的 | 端的なアイデア |
---|---|---|---|
Chain‑of‑Thought | Wei et al., 2022 | LLM に「中間推論」を生成させることで複雑なタスク精度を向上させる | Think step‑by‑step の明示例をプロンプトに含め、モデルが一連の推論過程を文章で吐き出すよう誘導する |
ReAct | Yao et al., 2023 | 推論 (Reason) と行動 (Act) を交互に生成し、外部ツールや環境と対話しながら問題解決する | モデルが① “Thought:” で考え、② “Action:” でツール実行、③ “Observation:” で結果を受け取り、④ 再び推論…を繰り返す |
2. プロンプト構造の違い
Chain‑of‑Thought(CoT)
Q: 37 + 48 = ?
A: Let’s think step by step.
1. …
2. …
答え: 85
-
一度に 推論文だけを線形に 出力し、その後に最終回答。
-
外部環境との対話は想定しない。
ReAct
Question: Who directed “Inception”?
Thought: I should search a movie database.
Action: Search[“Inception director”]
Observation: “Christopher Nolan”
Thought: The answer is Christopher Nolan.
Final Answer: Christopher Nolan
-
Thought / Action / Observation をインターリーブ。
-
Action は検索 API・計算エンジン・データベース呼び出しなど任意のツールにマッピング可能。
3. 強みと弱み
観点 | Chain‑of‑Thought | ReAct |
---|---|---|
推論精度 | 論理連鎖を明示することで算術・論理問題に顕著な効果 | Action で追加情報を取得できるため、検証・補完が可能 |
外部情報 | 内部知識のみ | API, DB, Web など 動的情報 を取得 |
デバッグ容易性 | 推論過程が線形に見えるため理解しやすい | 思考と行動ログが残るため 原因追跡がさらに容易 |
副作用 | 長い思考テキストがそのまま流出するリスク | 行動側に API 誤使用・ループが起きるとコスト増 |
実装難易度 | 単に few‑shot 例を足すだけで導入可 | ツールラッパー・オーケストレーションが必要 |
4. 代表ユースケース
使用例 | CoT が有効 | ReAct が有効 |
---|---|---|
算数・論理パズル | ✔︎(GSM8K, SVAMP 等) | △ |
オープンブック QA | △ | ✔︎ 外部検索で補強 |
複数 API をつなぐエージェント | △ | ✔︎ (例)ファイル整理ボット、旅行プランナー |
ホールディング思考の可視化 | ✔︎ | ✔︎(Thought 出力が共通) |
5. 実装の手掛かり
CoT の最小プロンプト例
あなたは優秀な数学教師です。
Q: 12 × 23 は?
A: 考えを段階的に示してください。
- few‑shot デモ数件を入れると再現性が向上。
ReAct の最小フレームワーク例(擬似コード)
while True:
thought = llm(f"{history}\nThought:")
if "Final Answer:" in thought:
break
action = parse_action(thought) # ex. Search["..."]
result = tool_executor(action)
history += f"{thought}\nObservation: {result}"
tool_executor
は検索 API や Python REPL など自由に拡張。
6. まとめ
-
Chain‑of‑Thought は 「内省的」 :モデル内部の推論チェーンをそのまま活用し、追加ツールは不要。
-
ReAct は 「実践的」 :推論→行動→観測をループし、外界から情報を得ながらタスクを遂行。
-
どちらも推論過程を露出させるため 透明性やデバッグ性 が高まるが、情報漏えいやリソース無限ループには注意が必要。
-
現場では ReAct 上に CoT を組み合わせ、Thought セクションを詳細に書かせるハイブリッド運用が増えているciteturn0search5。
参考文献
-
Wei, J. et al. Chain‑of‑Thought Prompting Elicits Reasoning in Large Language Models. 2022.
-
Yao, S. et al. ReAct: Synergizing Reasoning and Acting in Language Models. 2023.
-
Google AI Blog. “ReAct: Synergizing Reasoning and Acting in Language Models.” 2023.
-
Prompt Engineering Guide. “ReAct.” 2025.
-
Medium 解説記事. “ReAct, Chain of Thoughts and Trees of Thoughts explained with example.” 2024.