Chain-of-Thought (CoT)
思考の連鎖
しこうのれんさ
Definition
Chain-of-thought is a prompting technique that encourages a model to articulate intermediate reasoning steps, not just the final answer, to improve performance on multi-step problems. It can raise accuracy but may increase output length and risk.
「りんごが5個あり、3個食べて2個もらったら何個?」——人間なら暗算できる問題も、LLMは意外と間違えることがあります。しかし「順を追って考えてください」と一言添えるだけで、正答率が劇的に改善します。思考の連鎖(Chain-of-Thought / CoT)とは、LLMに中間的な推論ステップを明示的に出力させることで、複雑な問題の回答精度を向上させるプロンプト手法です。
なぜ「考えさせる」と精度が上がるのか
LLMは通常、質問を受けるといきなり最終回答を生成しようとします。このとき、複数のステップを要する問題では途中の推論が「内部処理」に押し込められ、誤った結論に飛躍しやすくなります。CoTでは推論過程をテキストとして出力させるため、各ステップで正確な中間結果が生成され、それを踏まえて次のステップに進めます。「頭の中で考える」のではなく「紙に書きながら考える」のと同じ効果です。
2つのアプローチ
CoTには主に2つの実装方法があります。ゼロショットCoTは、プロンプトの末尾に「ステップバイステップで考えてください」(英語では"Let's think step by step")と追加するだけのシンプルな手法です。特別な例を用意する必要がなく、手軽に試せます。
Few-shot CoTは、推論過程を含む入出力例をプロンプトに含める手法です。「問題→推論ステップ→回答」の一連の流れを2〜3例示すことで、モデルが同じ形式で推論を展開するようになります。ゼロショットCoTより精度が高い傾向がありますが、良質な例を用意する手間がかかります。
効果が高い領域
CoTは算術・論理推論・常識推論・コード生成などで特に大きな効果を発揮します。Googleの研究(2022年)では、CoTを使うことで大規模モデルの算術推論の正答率が大幅に向上したことが示されています。一方、単純な事実検索(「日本の首都は?」)や翻訳のような、ステップ分解が不要なタスクではCoTの恩恵は小さくなります。
トレードオフ
CoTには明確なトレードオフがあります。推論過程を出力する分、出力トークン数が大幅に増加し、レスポンス時間とAPIコストが上がります。また、推論ステップが長くなるほど途中で誤った前提を立てるリスクも生じます。「精度を取るかコストを取るか」はユースケースに応じた判断が必要です。本番環境では、CoTで推論させつつ最終回答だけをユーザーに表示する「内部CoT」パターンも使われます。最近ではOpenAIのo1やo3、Claudeの拡張思考機能など、モデル内部にCoTの仕組みを組み込んだ「推論モデル」も登場しており、プロンプトで明示的に指示しなくても高精度な推論が可能になりつつあります。