「ステップバイステップで考えて」とAIに頼むと答えの精度が上がる——そんな話を聞いたことはありませんか?この不思議な現象の正体が、Chain-of-Thought(チェーン・オブ・ソート)というプロンプト技法です。この記事では、なぜ「途中を書かせるだけ」で賢くなるのかという理由まで、一段深く掘り下げて解説します。
📖 ひと言でいうと
Chain-of-Thought(CoT、思考の連鎖)とは、AIに答えだけを出させるのではなく、結論に至るまでの途中の考え(推論の過程)を順番に文章として書き出させることで、複雑な問題の正答率を高めるプロンプト技法です。
身近な例えは、算数の「途中式」です。「23×17は?」と暗算でいきなり答えると間違えやすいですが、「まず23×10=230、次に23×7=161、合わせて391」と一歩ずつ書けば正解しやすくなります。人間にとっての途中式と同じ役割を、AIの出力の中に作ってあげるのがCoTです。
🖼 1枚でわかるChain-of-Thought
🔍 しっかり理解する
なぜ「途中を書かせるだけ」で賢くなるのか
親記事で学んだとおり、LLMは「直前までの文脈の続きとして、次の言葉を確率で予測する」モデルです。この性質こそが、CoTが効く理由の核心です。
いきなり答えを出させる場合、モデルは問題文だけを手がかりに、たった一度の予測で結論までジャンプしなければなりません。複数の手順が必要な問題では、このジャンプの距離が長すぎて着地に失敗しやすいのです。
一方CoTでは、モデルはまず「最初の一歩」だけを書きます。すると、その書き出した一歩が自分自身への入力(文脈)に加わり、次の一歩を予測するときの手がかりになります。中間結果が文脈に積み上がっていくので、各ステップで必要な予測は「短いジャンプ」で済みます。崖を一気に飛び越えるのではなく、足場を一段ずつ組みながら登るイメージです。出力欄が「計算用紙(メモ)」の役割を果たしている、と考えることもできます。
なお、この効果はモデルの規模が小さいうちは目立たず、大規模なモデルほどはっきり現れる性質として報告され、注目を集めました。
CoTの2つの使い方 — Zero-shot型とFew-shot型
CoTを引き出す方法は、大きく2つあります。
- 「ステップバイステップで考えて」等の一言を添えるだけ
- 手軽で、どんな問題にもすぐ使える
- 思考の書き方はモデル任せになる
- 途中の考え方つきの解答例を数件見せてから本番を解かせる
- 思考の型・粒度・書式を例で指定できる
- プロンプトは長くなるが精度を狙いやすい
Zero-shot CoTは、「ステップバイステップで考えてください」のような短い一言を添えるだけで推論の書き出しを促す方法です。Few-shot CoTは、親記事で学んだFew-shotの応用で、答えだけでなく途中の考え方まで書かれた解答例をプロンプトに含める方法です。「この問題は、こういう順序で、この程度の細かさで考えてほしい」という思考の型ごと伝えられるのが強みです。
処理の流れを図にすると次のようになります。
発展形と限界も知っておく
CoTには発展形があります。代表的なのが自己整合性(Self-Consistency)と呼ばれる方法で、同じ問題に対してCoTつきの解答を複数回生成させ、多数決で最終的な答えを決めます。親記事で学んだサンプリングの性質上、生成のたびに違う筋道の推論が出てくるので、「別々の道筋で解いても同じ答えに行き着くなら、それはたぶん正しい」という発想です。計算コストは増えますが、精度をさらに押し上げる手法として知られています。
一方で限界もあります。第一に、書き出された「思考」が、もっともらしいのに間違っていることがあります。CoTは正答率を「高める」技法であって、正しさを保証する仕組みではありません。途中の一歩でつまずけば、その誤りが文脈として引き継がれ、堂々と間違った結論に到達します。第二に、書かれた思考がモデル内部の実際の処理を忠実に表している保証はない、という指摘もあります。つまりCoTの出力は「検算の材料」にはなりますが、「AIの頭の中の完全な説明書」とまでは言えません。第三に、単純な知識の質問ではCoTの恩恵は小さく、出力が長くなる分だけ時間もコストもかかります。
なお近年は、こうした段階的な思考の生成を利用時のプロンプト頼みにせず、学習の段階から組み込んだ「推論モデル」と呼ばれるタイプのLLMも登場しています。答える前に長い思考を自動で行うこのタイプは、CoTの考え方がモデル設計にまで発展した例といえます。
💡 具体例で考える
経理部のAさんが、「出張費の精算ルール(宿泊費上限、日当、交通費の按分条件)を踏まえて、この申請は承認できるか」をAIに尋ねたとします。いきなり「承認できますか?」と聞くと、AIは「承認できます」と即答しましたが、按分条件の見落としがありました。
そこでAさんは「判断に必要な条件を1つずつ確認しながら、段階的に考えてください」と頼み直しました。するとAIは「①宿泊費は上限内か→上限内。②日当の対象日数は→2日。③交通費の按分条件に該当するか→私用の立ち寄りがあるため該当…」と順に検討し、「按分計算が必要なため、このままでは承認不可」という正しい結論に到達しました。条件が複数あり、順番に潰す必要がある問題こそ、CoTの出番です。
さらにAさんは、検討の途中経過が画面に残ることの価値にも気づきました。結論だけでなく「どの条件をどう判断したか」が見えるので、AIの見落としを人間がチェックできるのです。CoTは精度向上と同時に、人間による検証のしやすさももたらしてくれます。
⚠️ よくある誤解・つまずきポイント
- 誤解:「CoTを使えばAIは論理的に正しい答えを出す」→ 正しくは: 正答率が上がる傾向があるだけで、もっともらしい推論つきの誤答も普通に起こります。途中の推論は人間の検算材料として活用しましょう
- 誤解:「CoTはモデルを賢く再学習させる技術だ」→ 正しくは: パラメーターは一切変わりません。プロンプトの工夫で既存の能力を引き出す、コンテキスト内学習の一種です
- 誤解:「どんな質問にもCoTをつけるべきだ」→ 正しくは: 多段階の推論が不要な単純なタスクでは効果が薄く、出力が長くなる分のコストだけがかかることもあります
- 誤解:「書き出された思考=AIの内部処理の説明だ」→ 正しくは: 出力された思考が内部の計算過程を忠実に表す保証はない、と指摘されています
📝 生成AIテストではこう出る
- CoTの定義を選ばせる形式。「途中の推論過程を書き出させることで複雑な問題の正答率を高めるプロンプト技法」が正解の軸。「学習データを増やす手法」「出力を要約する技法」は誤りです
- なぜ効くかを問う形式。「書き出した推論が文脈となって次の予測を支えるから」という、次単語予測との関係を突いた選択肢が想定されます
- Few-shot CoTとFew-shotの関係を問う形式。「解答例に途中の考え方まで含めるのがFew-shot CoT」という区別を押さえましょう
- 限界を問う形式。「CoTを使えば誤った出力は生じない」のような保証を断定する選択肢は誤り、が定石です
📚 まとめ
- Chain-of-Thoughtは、途中の推論を書き出させて複雑な問題の正答率を高めるプロンプト技法です
- 効く理由は、書き出した推論が文脈(足場)となり、次の予測を短いジャンプにできるからです
- 一言で促すZero-shot CoTと、考え方つきの例を見せるFew-shot CoTがあり、多数決で精度を上げる自己整合性などの発展形もあります
- 正しさの保証はなく、もっともらしい誤答もあり得ます。推論の見える化を人間の検証に活かす姿勢が大切です
