3秒でわかる
AIに結論だけでなく途中の考えを順番に書かせるプロンプト技法。計算や条件の絡む問題で、推論を飛ばしたことによる誤答を減らす目的で使います。
30秒図解
もう少し詳しく
どういうものか
Chain-of-Thought(思考の連鎖)は、大規模言語モデルに答えそのものではなく、答えに至るまでの途中経過を順番に出力させるプロンプトの書き方です。「順を追って計算してから答えを書いて」と指示すると、モデルは中間ステップを文章として吐き出し、その続きとして最終的な答えを生成します。
なぜ必要か
言語モデルは次に来る言葉を予測しているだけで、頭の中に計算用の作業机を持っていません。いきなり結論を書かせると、途中の 3 段階ぶんの推論をたった数トークンで飛び越えることになり、桁の繰り上がりや条件の見落としが起きます。途中経過を先に書かせると、その出力自体が次の予測の材料になり、モデルが自分の書いた式を読みながら続きを組み立てられます。
具体例
悪い例
17個入りの箱が23箱ある。うち3個は割れていた。残りは何個か。数字だけ答えて。
良い例
17個入りの箱が23箱ある。うち3個は割れていた。残りは何個か。
1行目に総数の計算、2行目に割れた分を引く計算、3行目に答えだけを書いて。良い例のほうは、手順を「総数」「引き算」「答え」の 3 行に固定している点が効いています。単に「よく考えて」と付け足すよりも、区切り方を指定するほうが再現性が上がります。
つまずきやすいところ
「ステップバイステップで考えて」という一文を貼れば何でも正答率が上がる、という誤解が一番多いところです。手順が自明な作業では効果がほとんど無く、出力が長くなるぶんトークン代と待ち時間だけが増えます。また、途中の思考をそのまま画面に出すと読み手が混乱するため、最終行だけを抜き出して表示する設計が要ります。抜き出す前提なら、答えを必ず決まった書式で最後に書かせておくと処理が楽になります。
似た用語との違い
| 用語 | 何をするか |
|---|---|
| Chain-of-Thought | 途中の推論を書かせてから答えさせる |
| Few-shot | 入力と出力の例をいくつか見せて形式を真似させる |
| Self-Consistency | 同じ質問を複数回解かせ、多数決で答えを決める |
| ReAct | 推論と外部ツールの呼び出しを交互に行わせる |
覚え方
答えを聞くのではなく、考える順番を先に指定する技法だと捉えると使いどころを外しません。モデルには計算用の作業机が無いため、書き出した文章そのものが作業机の代わりになります。効くかどうかは呪文めいた一文の有無ではなく、手順をどこで区切ったかで決まります。区切りを 3 つ指定すれば中間結果が 3 つ残り、どこで間違えたのかを人間が後から確認できる点も運用上の利点です。逆に、答えだけを返させる設計では、間違っていても手掛かりが残りません。