Chain-of-Thought(思考の連鎖/CoT)は、LLMに答えだけでなく中間の推論ステップを出力させるプロンプト技法です。本記事はプロンプト全般の書き方ではなく、「段階的に考えさせる」一手——いつ効き、いつ効かないか——に焦点を当てます。
試験で問われる見方
CoT専用の問題IDは少ないですが、関連する論点は頻出です。「理由を言葉で説明できる=計算や事実が常に正確」は×です(TF-0460)。推論っぽい出力と正確性は別です。
複雑な依頼は手順を分けて段階的に進めると確認しやすい、という実務原則(TF-0476)は、CoTやタスク分割と思想が近いです。また、プロンプト(入力文)とプロンプトエンジニアリング(工夫する技術)の定義すり替えにも注意(HQ-0726)。
演習で確認する
生成AIパスポート:TF-0460(説明できる≠正確)、TF-0476(段階的依頼)、HQ-0726(PEとの区別)
Chain-of-Thoughtとは
Chain-of-Thought(CoT)は、算数・論理・多段階の判断などで、モデルに「まず考えの過程を書いてから結論を述べる」よう促す技法です。英語では "Let's think step by step"(段階的に考えて)のような一文を足すだけでも効果が報告されたことで知られています(ゼロショットCoT)。
人間がメモを取りながら問題を解くのに似て、LLMがいきなり最終答えだけを出すより、中間ステップを経由した方が誤りにくいタスクがあります。
プロンプトの書き方
試験・実務で再現しやすいパターンです。
| パターン | プロンプト例 | 狙い |
|---|---|---|
| 明示指示 | 「推論の過程を段階的に示してから、最後に答えを書いて」 | 出力形式の指定 |
| ゼロショットCoT | 「Let's think step by step」/「段階的に考えて」 | 短い一言で推論を誘発 |
| 出力フォーマット | 「①前提 ②計算 ③結論」の見出しを付ける | レビューしやすい構造 |
基本の4要素(目的・読者・形式・制約)はプロンプトの記事と共通です。CoTは形式・制約の一部として追加するイメージです。
ゼロショットとFew-shot
| 方式 | 内容 | 試験との関係 |
|---|---|---|
| ゼロショットCoT | 例示なしで「段階的に」と指示するだけ | 手軽だが効果はタスク依存 |
| Few-shot CoT | 推論過程付きの例を数件プロンプトに含める | Few-shot学習の考え方と接続(G-385) |
Few-shotは「少数の例でタスクに適応する」広い概念で、CoT専用ではありません。試験では用語の主語と説明が対応しているかを確認してください。
タスク分割との違い
CoTと混同しやすいのが、複雑作業を複数のプロンプトに分けるやり方です。
| Chain-of-Thought | タスク分割 | |
|---|---|---|
| 単位 | 1回の応答の中で推論を段階化 | 依頼自体を複数回に分ける |
| 例 | 「計算過程を書いてから答えを」 | 「まず要件整理→次に下書き→最後に校正」 |
| 試験 | 推論技法としてのCoT | TF-0476の段階的依頼 |
実務では両方を組み合わせることも多いです。
限界(重要)
- もっともらしい誤推論 — 段階を書いても各ステップが誤っていれば結論も誤る
- ハルシネーション — 根拠のない「理由付け」が増えることも
- トークン消費 — 中間出力が長くなりトークン・コスト増
- 単純タスクでは不要 — 雑談や一行要約にCoTは過剰
「CoTを使えば検証不要」は誤りです。人による確認と、必要ならRAGでの根拠付けが引き続き重要です(TF-0460、TF-171)。
よくある質問
CoTとプロンプトエンジニアリングは同じ?
CoTは技法の一つ、プロンプトエンジニアリングは指示を工夫する技術全体です。プロンプト(名詞)との混同にも注意(HQ-0726)。
段階的に考えさせれば常に正確?
いいえ。説明ができることと正確さは別です(TF-0460)。
日本語でも効く?
「段階的に考えて」「理由を順に示して」など日本語指示でも同様の狙いで使えます。モデル・タスクにより効果は異なります。
AIエージェントとの関係は?
エージェントはツール呼び出しやループでタスクを進めます。CoTは1回の生成内の推論構造化であり、別レイヤーの技術です。