Chain-of-Thought(チェインオブソート)
LLM に対して最終回答の前に中間的な推論ステップを段階的に記述させることで、複雑な問題の正答率を大幅に向上させるプロンプティング手法。Google Research が 2022 年に提唱。
Chain-of-Thought とは
Chain-of-Thought(CoT、思考の連鎖)は、大規模言語モデル(LLM)に対して「答えだけ」ではなく「考える過程(推論ステップ)」を明示的に出力させることで、算術・論理・常識推論などの正答率を劇的に向上させるプロンプティング技法である。Google Research の Wei et al. が 2022 年の論文「Chain-of-Thought Prompting Elicits Reasoning in Large Language Models」で提唱した。
なぜ CoT が有効なのか
LLM は次トークン予測で動作するため、複雑な問題を一気に解こうとすると中間計算を「頭の中」で行う余地がない。CoT は推論の中間ステップをテキストとして外部化し、各ステップの計算結果を次のステップの入力として利用できるようにする。これにより、多段の算術や論理連鎖を正確に追えるようになる。
CoT の主要バリエーション
| 手法 | 提唱年 | 概要 | Few-shot 必要 |
|---|---|---|---|
| Few-shot CoT | 2022 | 推論過程を含むデモ例を提示 | はい(2〜8例) |
| Zero-shot CoT | 2022 | 「ステップバイステップで考えましょう」の一文追加 | いいえ |
| Self-Consistency | 2023 | 複数の CoT パスから多数決 | はい |
| Tree-of-Thought | 2023 | 分岐探索で最適解を選択 | はい |
| Auto-CoT | 2022 | デモ例を自動生成 | 自動 |
Few-shot CoT の実装
Few-shot CoT ではプロンプトに「質問→推論ステップ→回答」のデモ例を含める。
典型的なプロンプト構成:
Q: ロジャーはテニスボールを5個持っています。テニスボールの缶を2つ買いました。各缶には3個入っています。ロジャーは今テニスボールを何個持っていますか?
A: ロジャーは最初5個持っていました。2缶 × 3個 = 6個買いました。5 + 6 = 11個。答えは11個です。
Q: 食堂に23個のリンゴがありました。昼食に20個使い、6個買い足しました。リンゴは何個ありますか?
A: 最初23個ありました。20個使ったので23 - 20 = 3個残りました。6個買い足したので3 + 6 = 9個。答えは9個です。
このようなデモ例を 2〜8 個含めるだけで、GSM8K(小学生レベルの算術問題)のスコアが PaLM 540B で 17.9% → 58.1% に跳ね上がった。
CoT が効果的なタスク
| タスクカテゴリ | 例 | CoT の効果 |
|---|---|---|
| 算術推論 | GSM8K, SVAMP, AQuA | 大幅改善(+30〜40pt) |
| 常識推論 | StrategyQA, CommonsenseQA | 改善(+10〜20pt) |
| 論理推論 | 三段論法, 数独 | 大幅改善 |
| コード生成 | HumanEval, MBPP | 中程度改善 |
| 事実想起 | トリビア, QA | 効果薄い |
CoT は「段階的な推論が必要な問題」で最も効果を発揮し、単純な知識想起や分類タスクではほとんど効果がない。
モデルサイズとの関係
CoT の効果はモデルサイズに強く依存する。Wei et al. の実験では、約 100B パラメータ以上のモデルで初めて CoT の恩恵が顕著になり、それ以下のモデルでは CoT を使っても改善しないか、むしろ悪化する(無意味な推論ステップが生成される)。この現象は「創発的能力(Emergent Ability)」として議論されている。
ただし、2024 年以降のモデル(Llama 3 8B, Phi-3 など)は小型でも CoT が効くように学習されており、この閾値は低下傾向にある。
最新の発展: 内部 CoT
OpenAI の o1/o3 や Anthropic の Extended Thinking は、CoT をユーザーに見せずモデル内部で実行する「内部 CoT」を採用している。推論トークンを隠すことで、応答品質を維持しつつ知的財産の保護と UX の改善を両立する。DeepSeek-R1 は内部 CoT を公開する方針を取り、推論プロセスの透明性と品質のトレードオフが議論されている。
FAQ
Q1: CoT プロンプトは日本語でも効果があるか?
A1: 効果がある。「ステップバイステップで考えてください」という日本語の指示でも Zero-shot CoT として機能する。ただし、英語での推論の方がやや精度が高い傾向がある(学習データの言語バランスによる)。
Q2: CoT はトークン消費が増えるのでは?
A2: その通り。推論ステップの分だけ出力トークンが増加し、API コストとレイテンシが増える。そのため、単純なタスクでは CoT を使わず、複雑な推論が必要なタスクでのみ選択的に使うのが実務的。
Q3: CoT の推論ステップが間違っていても正答することはあるか?
A3: ある。「Faithful(忠実)な CoT」か「Unfaithful(不忠実)な CoT」かは活発な研究テーマで、モデルが正しい答えを知っているのに誤った推論過程を生成するケースや、その逆も報告されている。Self-Consistency のように複数パスで検証する手法はこの問題を緩和する。