思考の連鎖プロンプティング
Chain-of-Thought Prompting (CoT)
AIに段階的に推理させることで、複雑な問題解決能力を引き出すプロンプティング技法
思考の連鎖プロンプティングとは?
思考の連鎖プロンプティング(CoT)は、AIモデルに「最終答を直接出力する」ことを求めるのではなく、「その答に至るまでの思考プロセスを段階的に説明する」ように促すテクニックです。 「5+3は?」と聞く代わりに「5+3はいくつか、計算の過程を説明しながら答えて」と指示することで、モデルがより正確で推理可能な答を提供できるようになります。このシンプルな変更が、モデルの複雑な問題解決能力を驚くほど向上させます。
ひとことで言うと: 学生に「答えだけでなく、どうやって解いたかを説明して」と指導するのと同じです。
ポイントまとめ:
- 何をするものか: AIが中間的な推理ステップを明示的に出力するようにプロンプトを工夫する
- なぜ必要か: モデルが論理的に考えることで、より複雑で正確な問題を解きやすくなる
- 誰が使うか: 数学、論理、複雑な意思決定を必要とするすべてのAI利用者
なぜ重要か
AIモデル、特に大規模言語モデル(LLM)の驚くべき特性として「最後のトークンだけに最適化される」傾向があります。つまり、プロセスよりも結果だけを最小化するよう学習されています。これは、簡単な問題では高い性能を発揮しますが、複雑な多段階の推理が必要なタスクでは失敗しやすいのです。
2022年にGoogle Research のチームが発表した研究により、この問題の解決策が明らかになりました。CoTプロンプティングを使用することで、実装やモデルアーキテクチャの変更なしに、複雑な推理タスクの成功率が劇的に向上することが示されました。例えば、数学の文章題では、CoTなしで40%の成功率だったのが、CoT有りで60%以上に向上しました。
ビジネス上の重要性は高いです。既存モデルをそのまま使用しながら、プロンプト工夫だけで性能を向上させられるため、追加の訓練コストなしに効果が得られます。金融分析、医学診断、法的分析など、推理が重要な領域での適用性が大幅に向上します。
仕組みをわかりやすく解説
CoTの基本原理は単純ですが、その効果は深いです。AIモデルが「最終答のみ出力する」モード(これを「直接プロンプティング」と呼びます)では、複雑な問題に直面すると、確実な推理プロセスなしに推測で答えるしかありません。
CoTでは、プロンプトを以下のように変更します。直接プロンプティングでは「この問題の答えは?」と聞きますが、CoTプロンプティングでは「この問題を解くために、まずAを計算し、次にBを計算し、そして…」と、「思考ステップの例」を含めます。これを「少数ショット例(few-shot examples)」と呼びます。
例を示します。数学問題「ある店で、りんご5個が100円、みかん3個が150円。りんご10個とみかん6個の合計代金は?」という問題を、AIに解かせたい場合、直接プロンプティングでは単に「答えは?」と聞きます。しかしCoTプロンプティングでは、「以下の例を参考に、同じように段階的に解いてください。例:Q.りんご3個が60円、みかん2個が100円。合計3個買うと? A.まずりんご1個は60÷3=20円。みかん1個は100÷2=50円。この場合の「合計3個」が不明確なので…」といった例を含める必要があります。より良い例は「Q.りんご3個が60円、みかん2個が100円。りんご2個とみかん3個の合計代金は? A.ステップ1:りんご1個の価格 = 60÷3 = 20円。ステップ2:りんご2個の合計 = 20×2 = 40円。ステップ3:みかん1個の価格 = 100÷2 = 50円。ステップ4:みかん3個の合計 = 50×3 = 150円。ステップ5:合計代金 = 40 + 150 = 190円」です。このような例をモデルに見せると、モデルは同じように元の問題を段階的に解く傾向があります。
重要なのは「なぜ段階的思考が機能するのか」です。複雑な問題を解く際、人間は自動的に部分問題に分割します。AIモデルも同様に、「最後のトークンだけ」という制約が緩和されると、より本格的な推理ができるようになるのです。実装的には、モデルが「中間トークン」で訂正できるため、早い段階での誤りが最終答に反映される可能性が低下します。
実際の活用シーン
数学・論理問題の自動解法
AIアシスタントが学生の数学問題を解く場合、CoTプロンプティングにより正確性が劇的に向上します。「2x + 5 = 13をxについて解け」という問題に対し、CoTなしでは時々間違う答を出しますが、CoT有りで「ステップ1:両辺から5を引く…ステップ2:両辺を2で割る…」と促すと、正確性が80%以上に向上します。
医療診断の段階的推理
医師補助AIが患者の症状から診断を推測する場合、CoTプロンプティングで「まず、症状AとBの組み合わせから考えられる一般的な疾患は?次に、患者の年齢や既往歴を考慮すると、確率が高い疾患は?」と段階的に考えさせることで、単なる統計的マッチングより医学的に妥当性のある診断が得られます。
法的分析と判断
法律顧問AIが契約書の解釈を行う場合、CoTで「この条項の意図は?それが他の条項とどう相互作用するか?潜在的なリスクは?」と段階的に考えさせることで、表面的なキーワード検索だけでなく、より深い法的分析が可能になります。
メリットと注意点
CoTプロンプティングの最大のメリットは実装の簡単さと効果の大きさです。モデル自体を変更することなく、プロンプトを工夫するだけで成功です。追加の訓練やファインチューニングが不要で、即座に適用できます。
第二のメリットは、推理プロセスの可視化です。モデルが中間ステップを説明するため、なぜそのような答を出したのかを理解しやすくなります。これは信頼性を向上させ、エラー検出も容易にします。
しかし注意点も存在します。第一に、トークンコストの増加です。各ステップを説明させるため、より多くのトークンが使用され、API利用コストが増加します。
第二に、誤った推理ステップの伝播です。中間ステップで間違いを犯すと、最終答も間違う可能性があります。「出発点からの全体的な間違い」より「各ステップが妥当に見えるが全体として矛盾」という状況が生じやすくなります。
第三に、モデルの「思考スタイル」依存性です。異なるモデルは異なる思考スタイルを持つため、一つのモデルで機能するCoTプロンプトが別のモデルで機能しない可能性があります。
第四に、「ハルシネーション」の増加可能性です。複数のステップを生成させるため、誤った情報を確実に述べるリスクが増える可能性があります。特に、モデルが不確実性を認識していない場合、自信を持って誤りを繰り返します。
関連用語
- LLM(大規模言語モデル) — CoTはLLMで最も効果的です。
- プロンプトエンジニアリング — CoTはプロンプトエンジニアリングの高度なテクニックです。
- Few-Shot Learning — CoTは通常、例を含める「少数ショット」アプローチで実装されます。
- ハルシネーション — CoTはハルシネーション削減に役立ちますが、完全には防げません。
- 自己無撞着性プロンプティング — 複数のCoTパスを生成して、最も一貫した答を選ぶ手法です。
よくある質問
Q: すべてのタスクに対してCoTが効果的ですか? A: いいえ。CoTは推理が必要なタスク(数学、論理、複雑な分析)では非常に効果的ですが、単純な分類や感情分析ではあまり効果がありません。むしろ、単純なタスクではCoTが不要な計算を追加するだけになります。
Q: CoTはモデルサイズに依存しますか? A: はい。より大規模なモデルほどCoTの恩恵が大きい傾向があります。小規模なモデルではCoTの効果が限定的な場合があります。これは、より大規模なモデルがより複雑な推理能力を持つためと考えられます。
Q: CoTで生成されたステップを信頼できますか? A: 部分的です。中間ステップは有用な洞察を提供しますが、必ずしも正確とは限りません。モデルが見た目で妥当な説明を生成しながら、実は不正確な推理をしている可能性があります。重要な決定では、CoTの出力を専門家が検証することが推奨されます。