Chain-of-Thought
Chain-of-Thought
LLMに中間的な推論ステップを生成させることで、複雑な問題の回答精度を向上させる手法。
基本的な考え方
単に「答えは?」と聞くのではなく、「ステップバイステップで考えて」と促すことで:
- 暗黙的に計算グラフを構築
- 複雑な推論を小さなステップに分解
- 各ステップで自己検証が可能に
例
Without CoT:
Q: 15個のリンゴがあり、3人で均等に分けた後、1人が2個食べた。残りは何個?
A: 13個(誤答の可能性が高い)
With CoT:
Q: 15個のリンゴがあり、3人で均等に分けた後、1人が2個食べた。残りは何個?ステップバイステップで考えてください。
A:
- 15個を3人で分ける: 15 ÷ 3 = 5個/人
- 1人が2個食べる: 5 - 2 = 3個
- 残りの2人はそのまま: 5個 × 2 = 10個
- 合計: 3 + 10 = 13個
バリエーション
- Zero-shot CoT: 「Let's think step by step」と付けるだけ
- Few-shot CoT: 例題と推論過程を提示してから質問
- Self-consistency: 複数回推論して多数決
- Tree of Thoughts: 分岐する推論パスを探索
限界
- 幾何学的直感が必要な問題には効きにくい
- 推論ステップ自体が間違っていると伝播する
- トークン消費が増える