1. 背景と目的

手法初出主目的端的なアイデア
Chain‑of‑ThoughtWei et al., 2022LLM に「中間推論」を生成させることで複雑なタスク精度を向上させるThink step‑by‑step の明示例をプロンプトに含め、モデルが一連の推論過程を文章で吐き出すよう誘導する
ReActYao 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‑ThoughtReAct
推論精度論理連鎖を明示することで算術・論理問題に顕著な効果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 セクションを詳細に書かせるハイブリッド運用が増えているciteturn0search5。


参考文献

  • 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.