難しい分析タスクで、測定可能かつ再現可能な改善をもたらすプロンプトエンジニアリング手法は3つあります。思考の連鎖(chain-of-thought)、自己批評(self-critique)、**思考の木(tree-of-thoughts)**です。これらは2022~2023年の推論研究の波以降、研究されてきました(思考の連鎖はWeiほか、2022、思考の木はYaoほか、2023)。現在のGPT-5.xやClaudeの思考モード、DeepSeek R1など専用の推論モデルが登場した今も重要です。高速モデルで有用なだけでなく、推論モデル自体への指示方法にも影響するからです。
この記事では、各手法の内容、使い分け、費用対効果を説明します。
これらが解決する問題
3つの手法はすべて、同じ根本問題に対処します。言語モデルは通常、回答をトークン単位で自己回帰的に生成します。独立した熟考や探索の段階がなければ、生成初期のトークンが後続の内容をすぐに制約し、不十分な結論へ早い段階で固定されることがあります。単純なタスクなら効率的で問題ありません。しかし多段階の推論、複雑な分析、複数の中間結果を正しく求める必要があるタスクでは、この標準動作が自信に満ちた誤答を生むことがあります。
これらの手法は、結論を出す前に中間推論へより多くの計算資源を使わせます。
思考の連鎖(CoT)
最初に登場した最も単純な手法です。「最終回答を出す前に段階的に考えてください」といった一文をプロンプトに加え、結論の前に推論を生成させます。
例を比較してみましょう。
通常: 列車が午前9時にタリンを出発し、時速80 kmで走ります。別の列車が午前9時30分にタルトゥを出発し、時速100 kmでタリンへ向かいます。両都市間の距離は190 kmです。両列車は何時に出会いますか。
対して、次のように指示します。
CoTを使用: 同じ問題です。段階的に考えてください。まず、2本目の列車が出発するまでに1本目が進む距離を計算します。次に、両列車が出会う時刻を求める方程式を立てます。計算過程を示してから、最終回答を出してください。
難しい算術問題では、通常のGPT-3.5クラスのモデルの誤答率は約30~50%でしたが、CoT版では5~15%程度でした。モデルの進歩に伴い数値は変化しましたが、CoTを加えると多段階タスクの精度が上がるという傾向は、世代を超えて一貫しています。
思考の連鎖を使う場面:
- 単位、日付、正確な丸めを伴う多段階の計算。 高性能モデルでも間違えます。
- 論理パズルなど、推論の連鎖から答えが導かれる問題。
- コードのデバッグ。 状態を追跡しなければ答えられない場合。
- 戦略分析。 複数要因の比較から結論を出す場合。
使う必要がない場面:
- 単純な事実の想起。 「エストニアの首都はどこですか」にCoTは不要です。
- 生成タスク。 執筆、要約、下書きでは、品質を高めずトークンだけが増えます。
- 推論モデル。 o3、Claude Extended Thinking、DeepSeek R1は内部ですでにCoTを行うため、「段階的に考えてください」は良くても冗長、悪ければ逆効果です。
最後の点は非常に重要なので、後ほど改めて説明します。
自己批評
2段階の手法です。まず回答を生成させ、次に自分の回答を批評して修正版を作らせます。
プロンプトの構造:
ステップ1:[元の質問]
ステップ2:上記の回答をレビューしてください。誤り、弱点、成立しない可能性のある前提を見つけ、自分の仕事を厳しく批評してください。
ステップ3:批評に基づき、修正版の回答を作成してください。
最初の処理で下した結論への固執からモデルを解放することで改善します。自分の仕事を批評者として見るよう強制されると、最初の処理では見つけられなかった問題に気づきます。
より高度な派生形が、憲法型/原則ベースの自己批評です。回答が満たすべき原則を定義し、各原則に照らして評価させます。
この種の質問に対する優れた回答の原則:
- 一般化した問いではなく、実際の問いに答える。
- 情報源を曖昧に示すのではなく、具体的な証拠を引用する。
- 不確かな点があれば明示する。
- 確度を適切に調整し、根拠の強い点には自信を示し、弱い点には留保を付ける。
回答を作成し、各原則に照らして評価してから、修正してください。
これはAnthropicのConstitutional AI研究や、現代のアラインメント研究における同様のアプローチの基礎となる手法です。
自己批評を使う場面:
- 会話を移らずに2回目の確認を行いたい文章作成。
- モデルが過信しやすい分析作業。
- モデル自身の主張の穴を探させたい意思決定支援。
- 生成後にレビューさせたいコード。
使う必要がない場面:
- 修正先となる「正解」がないタスク(創造的なブレインストーミング、アイデア生成)。
- 自分で批評したいタスク(自分の判断そのものに価値がある場合)。
- 待ち時間のコストが品質向上を上回る短いやり取り。
思考の木(ToT)
最も高コストな手法です。1本の推論経路を生成する代わりに、複数の経路を明示的に検討・評価し、最も有望なものを選びます。
実践例の構造:
ステップ1:この問題への異なるアプローチを3つ生成してください。
ステップ2:最終回答を決めずに、各アプローチの最初の数段階を進めてください。
ステップ3:どのアプローチが最も成功しそうか、その理由を評価してください。長所と短所を具体的に示してください。
ステップ4:最良のアプローチを選び、解決まで進めてください。
問題には複数の有力な解法があり、最初の案が最善とは限らないため、思考の木が機能します。並行して探索させることで、最適でない経路に固定されるのを避けられます。
実践例として、難しいプロンプトを見てみましょう。
実行が遅すぎる複雑なSQLクエリがあります。最適化を支援してください。
ステップ1:異なる最適化戦略を3つ生成してください。 ステップ2:各戦略が対処する具体的なボトルネックとコストを特定してください。 ステップ3:最小のリスクで最大の改善を得られそうな戦略を評価してください。 ステップ4:選んだアプローチを実装してください。
「書き換え案を1つ示す」よりも、明らかに熟慮された回答が得られます。3つのアプローチ、比較、推奨、実装が返されます。
思考の木を使う場面:
- 複数の有力な解決策がある問題。 アーキテクチャ、アルゴリズム、戦略の選択。
- 最適化問題。 最初の案が最良であることが少ない場合。
- 探索自体が目的の創造的タスク。 命名、問題設定、ポジショニング。
- 明白に見える答えが誤っている疑いがある場合。
使う必要がない場面:
- 正しいアプローチが1つのタスク。 1つで機能するならSQLクエリを3つ求める必要はありません。
- 単純な事実の質問。 過剰です。
- 推論モデルを使うほとんどのタスク。 現在のモデルは内部で同様の探索を行います。
実践的な判断ツリー
難問に直面したときに問うべきは、「CoT、自己批評、ToTのどれを使うか」ではなく、「問題がどのような形か」です。
- 直線的な多段階問題(計算、論理パズル、厳密な推論)→ 思考の連鎖。
- 過信がリスクとなる問題(分析、推奨、レビューすべきコード)→ 自己批評。
- 複数の有力なアプローチがある問題(最適化、戦略選択、創造的探索)→ 思考の木。
- 会話的、単純、生成的な問題 → どれも不要。余分な処理を省きます。
便利なメタパターンとして、自己批評の中にToT、その中にCoTを使う方法もあります。3つの経路を探索し(ToT)、それぞれを段階的に推論し(CoT)、選択した経路を批評します(自己批評)。過剰に聞こえますが、最も難しい分析作業では本当に有用です。代償は待ち時間とトークン、利点は実質的に優れた回答です。
推論モデルが費用対効果を変える
2024年以降の最大の変化は、o1、o3、Claude Extended Thinking、DeepSeek R1、Gemini 2.5 Thinkingなど、専用推論モデルの台頭です。これらは回答前に内部で思考の連鎖を行い、多くの場合、数十秒から数分「思考」します。
これにより、指示方法が3つの重要な点で変わります。
1. 「段階的に考えてください」を追加しない。 推論モデルはすでに行っています。明示すると混乱させたり、冗長な出力を生んだりします。質問を直接伝えてください。
2. モデルの推論時間を信頼する。 複雑な質問では、モデルが内部で長い推論の連鎖を生成します。すべてが見えるわけではなく、一部は「思考」モードで隠されています。代償は待ち時間です。辛抱強く待ちましょう。
3. 平易で直接的なプロンプトを使う。 推論モデルは高速モデルほどプロンプトに敏感ではなく、曖昧さに行き詰まらず推論できます。高速モデルで有効な、入念な枠組み、多数の制約、構造化テンプレートを備えたプロンプトは、推論モデルの出力を悪化させる場合があります。まず単純な版を試してください。
推論モデルに対する次の2つのプロンプトを比較します。
プロンプトA:「次の質問について段階的に考えてください。まず重要な制約を特定し、次に選択肢を列挙し、各選択肢を制約に照らして評価してから選んでください。各段階の推論を示してください。質問:週休3日制を採用すべきですか」
プロンプトB:「週休3日制を採用すべきですか。背景:従業員80人のB2B SaaS企業で、カスタマーサポートチームは月曜から金曜まで稼働しています」
ほとんどの推論モデルでは、Bの方が優れた回答を生成します。モデルは問題の考え方をすでに知っており、明示的な足場が有害な制約になる場合があります。
高速モデルでは逆です。同程度の品質を得るために足場が必要です。
これは2023年以降のプロンプトエンジニアリングで最も重要な新事実です。高速モデルに最適なプロンプトが推論モデルでは劣る場合があり、その逆もあります。
費用対効果
すべての手法にはコストがあります。率直に比較すると次のとおりです。
| 手法 | トークンコスト | 待ち時間コスト | 品質向上 | 使う価値がある場面 |
|---|---|---|---|---|
| 思考の連鎖 | 約2~3倍 | 約1.5~2倍 | 難問で10~40% | 高速モデルを使う多段階問題 |
| 自己批評 | 約2倍 | 約2倍 | 全般に5~20% | 過信が現実的なリスクの場合 |
| 思考の木 | 約3~5倍 | 約2~3倍 | 複数解法の問題で10~30% | 複数経路を持つ難問 |
| 推論モデル(内蔵) | 約3~10倍 | 約5~30倍 | 難問で30~100% | 本当に難しいもの |
日常的な用途の多くでは、手法を使わない高速モデルで十分です。難問では、適切な手法または推論モデルは追加コストに見合います。単純なタスクでは、いずれも時間と費用の無駄です。
実用的な原則は、手法を使う前に、このタスクで誤るコストが、手法の追加コストを正当化するほど大きいかを問うことです。大きければ適切な手法を使い、小さければそのままプロンプトを送ります。
実例:現実の難しいタスク
2社のベンダー提案を評価し、確度を考慮した比較を行うとします。
手法なし(通常のプロンプト):
この2社の提案を比較してください。[貼り付け] どちらを選ぶべきですか。
両論を併記し、断定を避けた回答が得られます。出発点にはなりますが、十分ではありません。
CoTを使用:
この2社の提案を比較してください。段階的に考えます。
- 意思決定に重要な基準を列挙する。
- 各基準で各ベンダーを採点する。
- 点差が最も大きい基準を特定する。
- その後、推奨を示す。
はるかに構造化された分析を得られます。各段階が見えるため、検証や修正が可能です。
さらに自己批評を使用:
[上記と同じ]
推奨を示した後、自分の分析を批評してください。
- 重み付けを誤った可能性がある基準はどれか。
- 置くべきでない前提を何か置いていないか。
- もう一方のベンダーを支持する、最も強く信頼に足る論拠は何か。
必要に応じて、修正版の推奨を作成してください。
最初の分析の盲点を批評で発見できます。
ToTを使用:
この2社の提案を比較してください。
ステップ1:この種の選択に使える異なる意思決定の枠組みを3つ生成してください(例:リスク最小化、価値最大化、能力との整合)。 ステップ2:各枠組みを適用し、3つの推奨を得てください。 ステップ3:枠組み間で一致する点と異なる点は何ですか。 ステップ4:実際の制約を踏まえ、最も適切な枠組みはどれですか。最終的な推奨を示してください。
選択を3つの異なる角度から見られます。違いが生じる箇所に、興味深い思考があります。
推論モデルを使用:
この2社の提案を比較してください。どちらを選ぶべきか、その理由と、何があれば答えが変わるかを示してください。
推論モデルは上記のすべてを内部で行います。所要時間はおおむね同じで、入念なプロンプトを与えた高速モデルと同等以上の出力を得られることがよくあります。
2026年時点では、本当に難しい分析作業には、簡潔なプロンプトを与えた推論モデルが通常は適切です。CoTとToTは高速モデルで引き続き有用であり、自己批評は基盤となるモデルを問わず、追加の層として役立ちます。
実践的な習慣
使った手法を自分で分かるようにします。 プロンプトに使用手法を記録すると、何が有効かについて直感を養えます。
出力を比較します。 週に一度、同じ難しいプロンプトを手法あり・なしで実行し、違いを確認します。コストに見合う場面をすぐ判断できるようになります。
考えずに手法を重ねないでください。 CoT、自己批評、ToT、推論モデルをすべて重ねても、適切な1つを選ぶより優れることはほとんどありません。各層にはコストがあるため、特定のタスクの回答を本当に改善する層だけを加えます。
手法をライブラリに保存します。 現在のタスクに適用できる「CoTあり」「自己批評あり」「ToTあり」のスニペットを用意すれば、足場を毎回入力する時間を節約できます。
要点
3つの手法にはそれぞれ最適な用途があります。直線的な多段階問題には思考の連鎖、過信の発見には自己批評、複数のアプローチを持つ問題には思考の木です。推論モデルは最初の2つを内部で行い、費用対効果を変えますが、高速モデルにも、追加で適用できるパターンとしても、これらの手法は重要です。
問題に合うものを使い、コストに見合わないときは使わないでください。「より難しい問題」と「異なる問題」の違いを身につければ、あとは自然に判断できます。



