← PC・IT用語集へ戻る

思考の連鎖

Chain-of-Thought Prompting
ai beginner
生成AIに、最終回答の前に途中の考えを出させて、複雑な問題を段階的に解かせる方法。
思考の連鎖 (Chain-of-Thought Prompting)

概要(サマリー)

思考の連鎖とは、LLMに最終の答えだけを出させず、途中の考えを順に出させてから結論へ到達させる方法である。英語では chain-of-thought prompting と呼ばれる。

人が複数段の計算で、途中式を書いてから答えるのに近い。2022年の論文では、途中の手順が書いてある見本を数個見せると、大きなモデルの算数、常識、記号の問題で成績が上がった、と報告されている。

チャットで「ステップバイステップで考えて」と頼むのも、この系統の使い方として広まった。ただし、途中の文章が滑らかでも、結論が正しいとは限らない。

詳細解説

論文でのやり方

Weiらの論文が扱った思考の連鎖は、ただ「よく考えて」と書くことではない。フューショットの見本を、入力と答えの対ではなく、入力、途中の考え、答えの3つ組にする。

モデルは、その見本と同じように、自分の出力でも途中の文を生成してから結論を書く。論文は、十分な大きさのモデルで、この方法が複数段の推論に効いたと示している。小さいモデルでは、それらしい途中式を書いても、論理が崩れることがある、とも述べている。

見本の手順が間違っていると、その間違い方を真似る。最終の数だけが正しい見本より、途中が追える見本のほうがこの方法では重要になる。

チャットでの短い頼み方

見本を用意できないとき、人は「手順を書いてから答えて」と一文だけ足す。これは見本なしの頼み方で、論文のフューショットとは同じ操作ではない。同じ2022年に、東京大学などの小島らが、答えの前に「Let's think step by step」と足すだけでも推論の成績が上がると報告し、これを Zero-shot-CoT と呼んだ。条件を飛ばして結論だけを書かせるより、抜けに気づきやすいことがある。

次の条件を番号つきで確認してから、最後の行にだけ「可能」または「不可」と書いてください。
1. 返品期限は到着から14日以内か
2. 商品は未使用か
3. 両方を満たすときだけ可能

到着: 10月1日
今日: 10月20日
状態: 開封済み

手順を書かせる目的は、読んだ人、または次の処理が、どの条件で落ちたかを見られるようにすることである。手順そのものを利用者へ見せる必要がなければ、内部で使って、画面には結論だけを出す。

推論モデルとの違い

推論向けのモデルは、こちらが頼まなくても、応答の前に内部で考えのトークンを使うことがある。OpenAIの推論モデルや、Claudeの拡張思考(extended thinking)がその例である。その内部の過程は、APIによっては返ってこない。

そのモデルに、さらに長い思考の連鎖を文章で書かせると、同じ検討を二重にすることになる。待ち時間とトークンが増え、結論が良くなるとは限らない。内部で考えるモデルなら、見えてほしいのは途中式の全文ではなく、確認した条件と最終判断であることが多い。

それらしい手順は検証ではない

ハルシネーションは、途中式にも起きる。存在しない仕様を引用し、その仕様から結論を導く、という形になる。手順があるぶん、人が正しそうに感じて見落としやすい。

計算、日付、ファイルの有無は、モデルの文章ではなく、別の処理で確認する。思考の連鎖は、確認項目を漏らさず並べる手助けであり、実行結果の代わりにはならない。

秘密にしておきたいシステムプロンプトや、内部の判断ルールを「思考過程として全部書いて」と頼むと、隠しておきたい文面が出力へ出ることがある。見せてよい過程と、出してはいけない情報は分けて指示する。

AIコーディングとの関係

バグの原因を聞くとき、「考えられる原因を自信の強い順に3つ、それぞれに確認コマンドを添えて」と頼むと、思考の連鎖をコードの調査へ使える。いきなり修正パッチだけを書かせると、確認前の推測がファイルへ入る。

見本を添えるなら、過去の調査メモの「症状、見た場所、結論」を1件だけ使う。長い思考の全文を毎回貼ると、窓を占有する。

AIにレビューさせるときは、手順を無限に増やさない。確認するファイル、実行するテスト、完了とみなす条件を、こちらが先に限る。モデルが手順を追加し始めると、関係の薄い修正まで提案しやすい。

よくある勘違い

手順を書かせれば正解になる?

複数段の問題で漏れに気づきやすくなる、という方法である。手順の文が正しく見えても、前提が間違っていれば結論もずれる。

フューショットと同じ?

フューショットは見本を見せる方法全般である。思考の連鎖は、その見本や出力に途中の考えを含める使い方である。形式だけを合わせたい分類では、途中式は不要なことがある。

推論モデルなら、この頼み方はいつも有効?

内部ですでに考えているモデルでは、長い途中式を追加で書かせることが改善になるとは限らない。トークンと待ち時間が増える。

思考過程は見せたほうが信頼できる?

人が確認できる、という意味では役立つ。ただし、滑らかな文章は正しさの証拠ではない。秘密の指示を思考過程として出させると、漏えいの経路にもなる。

まとめ

  • 思考の連鎖は、最終回答の前に途中の考えを生成させるプロンプトの方法である
  • 論文のやり方は、途中手順つきの見本を数個見せるフューショットである
  • 「ステップごとに考えて」という一文は、見本なしの近い頼み方であり、同じ操作ではない
  • 手順が滑らかでも、事実や計算の正しさは別途確認する
  • 推論モデルへ長い途中式を重ねると、費用が増えるだけで改善しないことがある

情報ソース

より詳しくAIに聞いてみよう

  • 思考の連鎖を、途中式のある計算のたとえで説明してください。
  • 論文のフューショットと、「ステップバイステップで」という一文の違いを整理してください。
  • 手順が詳しくても答えが間違える例を、日付の条件で作ってください。
  • 推論モデルに思考の連鎖を重ねると、何が増えて何は保証されないか教えてください。
  • バグ調査で、修正コードの前に確認手順だけを出させる指示文を書いてください。