Chain-of-Thought(CoT)プロンプティングとは、大規模言語モデルに対して推論の中間ステップを段階的に記述させることで、複雑な問題の解答精度を大幅に向上させるプロンプト技法である。2022年にGoogle Researchが論文で提唱し、数学・論理推論・常識推論などで15〜40%の精度向上が報告された。
Chain-of-Thought(CoT)プロンプティングとは、LLM に「ステップバイステップで考えて」と指示し、最終回答に至るまでの推論過程を明示的に出力させることで、複雑な問題の正答率を劇的に向上させる手法である。Google Research の Wei et al. が2022年の論文「Chain-of-Thought Prompting Elicits Reasoning in Large Language Models」で体系化した。
従来の Standard Prompting では、質問に対して直接回答を求めるため、モデルは内部的な推論を「ショートカット」しがちであった。CoT プロンプティングでは、推論の各ステップを言語化させることで、モデルの推論能力を最大限に活用する。
Standard Prompting の例:
Q: 太郎は5個のリンゴを持っています。3個食べて、2個もらいました。リンゴは何個?
A: 4個
CoT Prompting の例:
Q: 太郎は5個のリンゴを持っています。3個食べて、2個もらいました。リンゴは何個?
A: ステップ1: 太郎は最初に5個のリンゴを持っている。
ステップ2: 3個食べたので 5 - 3 = 2個になる。
ステップ3: 2個もらったので 2 + 2 = 4個になる。
答え: 4個
この手法が効果的な理由は、LLM のトランスフォーマーアーキテクチャが各トークン生成時に前のトークンを参照するため、推論の中間結果をテキストとして「外部メモリ」に書き出す効果があるからである。
| 手法 | 提唱年 | 概要 | 精度向上 | 計算コスト |
|---|---|---|---|---|
| Few-shot CoT | 2022 | 推論例を2〜5個提示 | +15〜30% | 中(例示分のトークン増) |
| Zero-shot CoT | 2022 | 「ステップバイステップで考えて」と追加 | +10〜25% | 低(数トークン追加のみ) |
| Self-Consistency | 2023 | CoT を複数回実行し多数決 | +5〜15% | 高(N回推論) |
| Tree-of-Thought | 2023 | 複数の推論経路を木構造で探索 | +10〜30% | 非常に高 |
| Auto-CoT |
| 2023 |
| 推論例を自動生成 |
| Few-shot CoT同等 |
| 中 |
| Multimodal CoT | 2024 | 画像+テキストでの段階推論 | タスク依存 | 高 |
Zero-shot CoT は、Google の Kojima et al. が2022年に発表した手法で、プロンプトの末尾に「Let's think step by step.」(日本語: 「ステップバイステップで考えましょう」)と追加するだけで推論精度が大幅に向上する。
実験結果では、GSM8K(小学校算数問題)ベンチマークで:
と、例示を一切使わずに Few-shot CoT の約87%の精度を達成した。GPT-4o や Claude 3.5 Sonnet などの最新モデルでは GSM8K で 90%以上の精度を達成しており、CoT の効果は推論能力が高いモデルほど顕著である。
効果的なタスク:
限界と注意点:
OpenAI o1(2024年9月)・o3(2025年1月)や Anthropic Claude 3.5 の Extended Thinking 機能は、モデル内部で自動的に CoT 相当の推論を行う「内部推論」を実装している。これにより、ユーザーが明示的に CoT を指示しなくても高品質な推論が行われるようになった。
ただし、外部 CoT(プロンプトで推論ステップを要求)と内部推論は相補的であり、特に複雑な多段推論タスクでは、外部 CoT の指示が内部推論をさらに深化させる効果がある。
Q1: CoT は全てのタスクで使うべき? A: いいえ。感情分析・テキスト分類・単純な情報抽出など、直感的に回答できるタスクでは CoT は不要であり、余計なトークン消費になる。数学・論理・複数ステップの推論が必要なタスクで使用するのが効果的である。
Q2: Few-shot CoT と Zero-shot CoT はどちらを選ぶべき? A: まず Zero-shot CoT(「ステップバイステップで考えて」)を試し、精度が不十分な場合に Few-shot CoT(推論例を提示)に切り替えるのが効率的である。GPT-4o や Claude 3.5 のような大規模モデルでは Zero-shot CoT でも十分な精度が得られることが多い。
Q3: Self-Consistency はどのように実装する?
A: 同じプロンプトで temperature を 0.7〜1.0 に設定し、5〜10回推論を実行する。各回の最終回答を集計し、最も多い回答(多数決)を採用する。API コストは回数分増加するが、GSM8K で +5〜15% の精度向上が報告されている。OpenAI API では n パラメータで一度に複数候補を生成できる。