思考連鎖プロンプティングの概要
思考連鎖(Chain-of-Thought、CoT)は、最終回答を出す前に中間推論ステップを表示するようにモデルを導くことで、複雑な推論タスクにおけるモデルの性能を大幅に向上させるプロンプティング技術です。この技術は2022年にGoogle Researchによって導入され、数学的推論、論理的推論、常識的推論などのタスクで効果が実証されています。
CoTの仕組み
従来のプロンプティングはモデルに直接回答を求めますが、CoTプロンプティングはモデルに「ステップバイステップで考える」ことを要求します。例:
# 従来のプロンプト
質問:小明はリンゴを5個持っています。小红に2個あげて、さらに3個買いました。今何個持っていますか?
答え:6個
# CoTプロンプト
質問:小明はリンゴを5個持っています。小红に2個あげて、さらに3個買いました。今何個持っていますか?
ステップバイステップで考えましょう:
1. 小明は最初に5個持っています
2. 小红に2個あげたので、残り:5 - 2 = 3個
3. さらに3個買ったので、今:3 + 3 = 6個
答え:6個ゼロショットCoT
最も単純なCoT形式はゼロショットCoTで、プロンプトの最後に「ステップバイステップで考えましょう」と追加するだけで、モデルの推論チェーンを引き出せます。この方法は例を必要としませんが、性能は通常フューショットCoTほど良くありません。
フューショットCoT
フューショットCoTは、完全な推論プロセスを含む2〜3の例を提供することで、モデルに推論パターンの模倣を促します。これは現在最も効果的なCoTメソッドです:
以下の例の推論スタイルに従って質問に答えてください。
例1:
質問:あるクラスには30人の生徒がいて、そのうち60%が女子です。女子の3分の1が眼鏡をかけています。眼鏡をかけている女子は何人ですか?
推論:
- 女子の人数:30 × 60% = 18人
- 眼鏡をかけている女子:18 × 1/3 = 6人
答え:6人
例2:
質問:店でセールをしています。元値200元の商品が20%引きされた後、さらに20元値引きされます。最終価格はいくらですか?
推論:
- 20%引き後:200 × 0.8 = 160元
- さらに20元引き:160 - 20 = 140元
答え:140元
では、答えてください:
質問:本の元値は45元です。30%引きの後、小明は100元で2冊買いました。お釣りはいくらですか?フューショットプロンプティングのコツ
フューショットプロンプティングはCoTだけでなく、一般的なプロンプトエンジニアリングにおいても重要なテクニックです:
- 量より質:2〜3の高品質な例は、5つの平凡な例よりも優れていることが多い
- 例の多様性:異なるシナリオをカバーする例は、モデルの汎化に役立ちます
- 形式の一貫性:例の形式を期待される出力形式と一致させます
- 重要な情報のラベル付け:例で入力と出力をラベルで示します
CoTが効果的なシナリオ
CoTは以下のシナリオで特に効果的です:
- 数学的・算術的推論
- 論理的推論とパズル解決
- 多段階の問題解決
- コードのデバッグと説明
- 常識的推論
注意点として、CoTは単純なタスク(直接的な事実Q&Aなど)にはあまり役立たず、むしろ不必要な推論コストを増やす可能性があります。
ベストプラクティスのまとめ
1. 複雑な推論タスクには、フューショットCoTを優先的に使用します。2. 単純なタスクには、ゼロショットCoTまたは直接プロンプトを使用します。3. 例の推論が正確で明確であることを確認します。4. API呼び出しでは、CoTはトークン消費を増やすため、コストと効果のバランスを考慮する必要があります。