Chain of Thought(チェーン・オブ・ソート、CoT)とは、複雑な問題をいくつかの中間ステップに分け、段階的な推論を経て最終的な回答を導く考え方・プロンプティング手法です。
日本語では「思考の連鎖」などと訳されます。
たとえば、計算問題ですぐに答えを求める必要はありません。「条件整理→計算→確認」の順に処理するイメージです。
研究では、中間的な推論ステップを生成させています。その結果、複雑なタスクでLLMの性能が改善する例が示されました。対象には算術や常識推論、記号推論などがあります。
ただし、表示されたCoTがAI内部の処理を再現しているとは限りません。現在の推論モデルでは、毎回「ステップごとに考えて」と指示する必要がない場合もあります。
この記事では、Chain of Thoughtの意味と仕組みを解説します。代表的な使い方やメリット、注意点も紹介します。
Chain of Thought(CoT)とは?
この手法では、最終回答の前に中間的な推論ステップを挟みます。
「Chain」は連鎖、「Thought」は思考を意味します。日本語では「思考の連鎖」と呼ばれることがあります。
2022年の研究では、Chain-of-Thought promptingが紹介されました。中間的な推論ステップを含む例をプロンプトとして与える方法です。
この研究では、大規模な言語モデルを使いました。算術や常識、記号推論などで性能向上が確認されています。
一般的な質問とCoTを意識した質問の違いを、簡単な例で確認してみましょう。
| 方法 | 質問・指示のイメージ | 回答のイメージ |
|---|---|---|
| 通常 | 12個の商品を3人で均等に分けると1人何個? | 4個 |
| CoTを意識 | 条件を整理し、必要な計算を行って答えてください | 12個を3人で分ける→12÷3=4→1人4個 |
CoTでは最終回答だけを求めません。問題を解くために必要な中間ステップを設けます。

仕組み:CoTとはどう動くのか
Chain of Thoughtの基本的な流れは、問題を受け取る→中間的な推論を行う→最終回答を出すというものです。
通常の回答は「質問→回答」と直接つながります。一方、CoTでは条件整理や計算、比較、確認などを間に挟みます。
たとえば、複数の条件から最適な選択肢を決める問題なら、次のように分解できます。
- 問題の条件を整理する
- 判断基準を決める
- 選択肢を基準ごとに比較する
- 矛盾や見落としがないか確認する
- 最終的な結論を出す
このように問題を分解することで、一度にすべてを処理するより、複数の条件を整理しやすくなります。
なぜ複雑な問題で役立つのか
CoTが役立ちやすいのは、答えを出すまでに複数の処理が必要な問題です。
初期研究では、算術や常識推論などを検証しました。Chain of Thought promptingによる性能改善が確認されています。
複数回の計算が必要な文章問題を考えましょう。「何を求めるか」「どの数値を使うか」を分けます。計算の順序も整理すると、処理しやすくなります。
一方、単純な用語の定義や一問一答のような質問では、細かなステップを設けるメリットが小さい場合があります。
表示された推論=AI内部の思考とは限らない
Chain of Thoughtを理解するうえで重要なのが、画面に表示された推論文を「AIの頭の中そのもの」と考えないことです。
研究では、CoTの説明が忠実でない例も報告されています。最終回答を生んだ要因と一致しない場合があります。
もっともらしい理由が書かれることもあります。しかし、その説明だけでAIの判断過程を断定することはできません。
したがって、CoTは複雑な問題を扱うための有用な手法ですが、AI内部の仕組みを完全に可視化する技術ではありません。
使い方:CoTとはどう利用するのか
Chain of Thought promptingには、代表的な方法としてFew-shot CoTとZero-shot CoTがあります。
主な違いは、プロンプトの中に「途中の推論を含む回答例」をあらかじめ与えるかどうかです。

Few-shot CoT
Few-shot CoTでは、AIに問題を解かせる前に、質問・途中の推論・答えをセットにした例を提示します。
たとえば、次のような考え方です。
まず、条件確認から結論までの例を見せます。その後、新しい問題にも同じ形式で回答させます。
初期研究では、推論ステップを含む例を与えました。その結果、複雑な推論タスクで性能が改善しました。
Zero-shot CoT
Zero-shot CoTでは、具体的な回答例を与えず、段階的な推論を促す指示を使います。
2022年の研究では、「Let’s think step by step(ステップごとに考えてみよう)」という短い指示を追加するZero-shot CoTが検証されました。
複数の算術・記号・論理推論タスクが対象です。通常のZero-shot promptingを上回る結果が報告されました。
ただし、これは当時研究対象となったモデルとベンチマークでの結果です。
「step by step」が常に有効とは限りません。すべての生成AIで精度が上がるわけではありません。
Chain of Thoughtを生成AIで使う方法
Chain of Thoughtを使うときは、利用するAIモデルの特性に合わせて指示方法を変えることが重要です。
従来型のLLMでは、問題を分解する指示が役立つことがあります。たとえば「必要な条件を整理してから回答してください」と伝えます。
たとえば、旅行プランを比較するなら、次のような指示が考えられます。
3つの候補を、費用・移動時間・利便性の3項目に分けて比較し、最後におすすめを示してください。
このように指示すれば、AIに内部の思考そのものを表示させようとしなくても、ユーザーが確認したい判断基準や計算結果、根拠を明示的な出力として求められます。
一方、推論能力を備えたモデルでは事情が異なります。
OpenAIは推論モデルについて、モデル自身が内部で推論するため、「think step by step」や「explain your reasoning」のようなChain-of-Thought指示は不要と案内しています。また、そのような指示が場合によっては性能を妨げる可能性もあるとしています。
そのため、現在の生成AIを実務で使う際は、「CoTという言葉をプロンプトに入れること」自体を目的にするのではなく、目的・条件・判断基準・求める出力形式を明確にすることが重要です。
たとえば、次のように指示できます。
3つの商品を価格・機能・サポートの3項目で比較してください。比較表を作成したあと、それぞれが向いている人を整理してください。
このように、必要な判断材料や出力形式を明示すると、回答を確認しやすくなります。
メリット:CoTとは何が優れているのか
Chain of Thoughtの主なメリットは、複雑な問題を整理しやすくなることです。
複数の条件や計算を含む問題では、処理を段階に分けます。すると、回答を組み立てやすくなります。初期研究でもCoTによる性能改善が確認されました。
必要な計算式や比較表も出力させましょう。判断材料が増え、結果を確認しやすくなります。
たとえば料金比較なら、
- 各料金を一覧化する
- 比較条件を統一する
- 総額を計算する
- 条件ごとの差を確認する
- 比較結果をまとめる
という形式にすれば、途中の数値や条件を人間が確認できます。
つまり、CoTの考え方はAIの推論性能を引き出す目的だけでなく、複雑な作業を整理し、人間がチェックしやすい形で出力させるためにも活用できます。
注意点:CoTとは万能な手法ではない
Chain of Thoughtを使えば、必ず正しい答えが得られるわけではありません。
途中の説明がもっともらしく見える場合があります。それでも、誤った計算や前提を含む可能性があります。
さらに、生成されたCoTが忠実でない場合もあります。モデルの実際の判断要因を反映しないケースです。
そのため、重要な判断では、「説明が詳しいから正しい」と考えないことが大切です。
また、長い説明や多くの中間ステップを出力させれば、その分だけ文章量が増えます。利用するモデルやサービスによっては、処理時間やトークン使用量に影響する場合もあります。
OpenAIの推論モデルでは、入力トークンや通常の出力トークンとは別に、内部の推論にreasoning tokensが使用されます。これらも利用するモデルやAPIの設定によって処理量やコストに関係します。
単純な質問にまで細かな推論や説明を求めると、かえって回答が冗長になることもあります。

Chain of Thoughtが向いている場面・向いていない場面
Chain of Thoughtの考え方は、すべての質問に使う必要はありません。
複数の判断や計算が必要な問題には役立ちます。一方、単純な質問では処理が複雑になる場合があります。
| 向いている場面 | あまり必要ない場面 |
|---|---|
| 複数ステップの計算 | 単純な用語の定義 |
| 複数条件による比較 | 短い文章の要約 |
| 論理的な条件整理 | 簡単な翻訳 |
| 計画を段階的に作る作業 | 一問一答で済む質問 |
| 結果を人間が検算したい作業 | 手順を分ける意味が小さい作業 |
実際に生成AIを使う際は、「CoTを使うか」から考えるのではなく、その問題に複数の判断ステップが必要かどうかを基準にすると分かりやすいでしょう。
Chain of Thoughtと関連するAI用語
Chain of Thoughtを理解するときは、「プロンプトエンジニアリング」「Few-shot prompting」「推論モデル」との違いを押さえておくと整理しやすくなります。
プロンプトエンジニアリングとの違い
プロンプトエンジニアリングは、AIから目的に合った出力を得るために、指示や入力内容を工夫する幅広い考え方です。
Chain of Thought promptingは、その中で複雑な推論を扱う際に使われる手法の一つです。
そのため、「プロンプトエンジニアリング=Chain of Thought」ではありません。
Few-shot promptingとの違い
Few-shot promptingは、AIにいくつかの入力・出力例を提示してから、新しい問題に回答させる方法です。
通常のFew-shot promptingでは、質問と回答の例を示します。
一方、Few-shot CoTでは、回答だけでなく中間的な推論ステップまで含めた例を提示する点が特徴です。
推論モデルとの違い
**推論モデル(reasoning model)**は、複雑な問題を解くための推論能力を重視したAIモデルです。
これは、プロンプトの書き方であるChain of Thought promptingとは同じ意味ではありません。
Chain of Thought promptingは「どのようにAIへ指示や例を与えるか」という手法です。一方、推論モデルは、モデル自体が複雑な問題を処理するために内部で推論を行う仕組みを備えています。
両者を混同しないようにしましょう。
よくある質問:CoTとは
AIの本当の思考を見られる機能ですか?
いいえ。
Chain of Thoughtとして生成された文章を、AI内部の実際の処理そのものと考えるのは適切ではありません。
研究では、表示された推論がモデルの最終判断に影響した実際の要因を正確に説明していないケースも報告されています。
CoTは推論を段階的な文章として表現する方法ではありますが、AI内部の処理を完全に可視化する機能ではありません。
回答は必ず正確になりますか?
必ず正確になるわけではありません。
複数ステップの推論タスクで性能向上を示した研究はありますが、効果はモデルやタスクによって異なります。
また、途中の推論や計算自体に誤りが含まれる可能性もあります。
重要な情報については、CoTによる説明だけを信用せず、一次情報や計算結果を別途確認することが大切です。
「ステップバイステップで考えて」と書けばよいですか?
利用するモデルによって異なります。
従来型のモデルでは、段階的な推論を促す指示が有効になる場合があります。
一方、現在の推論モデルでは、必ずしもそのような指示は必要ありません。
OpenAIも推論モデルについて、「think step by step」のような指示は不要であり、シンプルで直接的なプロンプトを推奨しています。
そのため、「ステップバイステップ」という言葉を必ず入れるのではなく、目的や条件、必要な出力を具体的に伝えることを優先するとよいでしょう。
Few-shot CoTとZero-shot CoTの違いは何ですか?
Few-shot CoTは、途中の推論まで含めた回答例をあらかじめAIに提示する方法です。
一方、Zero-shot CoTではそのような例を提示せず、段階的な推論を促して回答させます。
つまり、大きな違いは「推論を含む具体例を事前に提示するかどうか」です。
Chain of Thoughtとプロンプトエンジニアリングは同じですか?
同じではありません。
プロンプトエンジニアリングは、AIへの指示や入力を設計する幅広い考え方です。
Chain of Thought promptingは、その中で複雑な推論を扱う際に使われる手法の一つです。
まとめ
Chain of Thought(CoT)は、複雑な問題を中間的なステップに分けながら、最終回答を導く考え方・プロンプティング手法です。
算術や常識推論、記号推論など、複数の処理が必要なタスクで効果を示した研究があり、代表的な方法としてFew-shot CoTやZero-shot CoTがあります。
ただし、表示されたCoTがAI内部の実際の判断過程を完全に表しているとは限りません。また、CoTを使えば必ず回答が正しくなるわけでもありません。
さらに、現在の推論モデルでは、ユーザー側から「step by step」と指示しなくても、モデル内部で推論が行われる場合があります。
生成AIを実務で活用するときは、単に「Chain of Thoughtを使う」ことを目的にするのではなく、複雑な問題を必要な条件や判断基準に分け、人間が確認できる形で回答を求めることが重要です。
関連用語
出典・参考情報
Wei et al.「Chain-of-Thought Prompting Elicits Reasoning in Large Language Models」
Kojima et al.「Large Language Models are Zero-Shot Reasoners」
