推論モデルのプロンプトテクニック
- Shingo Sakamoto
- 2 days ago
- 9 min read
今回は生成AIの中でも「推論モデル」と類される、推論に強いモデルの扱い方について考察してみます。

AnthropicのClaude 3.7 Sonnet
2025年2月に、Anthropicが最新モデルClaude 3.7 Sonnetを発表しました。本モデルは、従来の応答機能に加え、「拡張思考モード(Extended Thinking)」を搭載している点が大きな特徴となっています。
Claude 3.7において、ユーザーは通常の即時回答モードと、複雑な課題に対して一歩ずつ理由を展開して考える拡張思考モードを自由に選択できるようになりました。両モードをハイブリッドに使うことで、従来のAIでは捉えにくかった曖昧な情報や複雑な指示を統合して処理する柔軟性が大幅に向上しています。また、各種ベンチマークにおいては、前世代のClaude 3.5だけでなく、OpenAI、DeepSeek、Grokと比較しても高い性能を発揮していることが報告されています。
Claude 3.7は、前モデルであるClaude 3.5 Sonnetを基盤としながら、直接的な応答と拡張思考の両面を実現するための高度な推論機能を内包しています。ユーザーは、タスクの性質や複雑さに応じて、短時間でシンプルな回答を得るか、詳細な推論プロセスを経た上での回答を得るかを選択できるようになりました。また、API経由で利用する場合には「トークンの予算」を管理する機能も搭載されており、処理時間とコストの最適化を測ることができるようになりました。
Anthropicは本モデルの今後の改良にも積極的であり、ツール呼び出しの信頼性向上や長時間実行コマンドのサポート、アプリケーションレンダリングの改善など、実務での利用を前提とした具体的な改善策を継続的に実施する姿勢を示しています。Claude 3.7は、その推論能力によって従来シリーズと一線を画すことになり、より繊細で丁寧な処理が求められる企業の実務に直結する具体的なメリットを提供するモデルとして、大きな注目を浴びています。Anthropicが推論モデルに参入したことで、今後のAI活用戦略において、従来の単一回答型アプローチから、複雑な問題解決を包括的に支援する多機能モデルへのシフトが進むことが予想されます。
ところで、OpenAIのoシリーズやGemini 2.0 Flash Thinkingなど、最近の推論モデルの活用に当たっては、従来のプロンプトテクニックとは異なる工夫が求められる傾向も見受けられます。特に、複雑なタスクに対しては、単に細かい指示を羅列するのではなく、モデル自体に高レベルの指示を与え、その内部で最適な思考プロセスを誘導するアプローチが推奨されています。
OpenAIが提唱する推論モデル利用のベストプラクティス
OpenAIは、生成AIの利用において、モデルごとの特性を十分に考慮したプロンプト設計を推奨しています。特にoシリーズと呼ばれる推論モデルは従来のGPTモデルとは異なり、複雑なタスクや曖昧な情報を取り扱う際に優れたパフォーマンスを発揮することから、簡潔で直接的な指示が重要であると強調されています。たとえば、OpenAIは「ブーマープロンプト」と呼ばれる従来良いとされてきたプロンプトテクニックが新たな推論モデルでは逆効果となる可能性を指摘し、XMLタグ(データの構造や意味を表すために使われるマークアップ)などを用いて長文を整理しつつ、明確な成功基準を設定することを推奨しています。
公開されているベストプラクティスによると、oシリーズモデルはタスクの戦略策定や意思決定のプロセスを内部で長時間かけて行うため、初めから詳細な例示を求める必要はなく、まずはゼロショット(回答例を1つも見せずに指示を与えること)で試行し、必要に応じて少数の例を追加するアプローチが効果的とされています。その代わりに、ユーザーはタスクにおける制約条件(たとえば、予算上限や特定の条件など)を明示的に示すことで、モデルがその枠内で最適な解決策を導出できるようにする工夫が求められます。
さらに、OpenAIは、推論モデルが曖昧な指示や情報の欠落に対しても、適宜補足質問を行いながら正確な判断を下す能力に優れていると述べています。この補足質問能力がより高精度なタスク遂行を可能にするための重要な要素となっています。また、「短く明快な指示」が求められる理由として、モデルが内部での思考プロセス(Chain-of-Thought)を既に有しているため、あえて「ステップバイステップで」などの指示を重ねる必要がないため、とされています。
プロンプトテクニック一覧(Reasoning best practice より)
- プロンプトはシンプルかつ直接的に
→ モデルは、短く明確な指示を理解し応答する点に優れている
- Chain-of-Thought(CoT)のプロンプトは避ける
→ モデルは内部で推論を行っているため、「段階的に考えてください」や「推論を説明してください」といった指示は不要
- 区切り記号を使って明確に
→ Markdown、XMLタグ、セクションタイトルなどを用いて入力内容を整理し、モデルが各部分を正確に解釈できるようにする
- まずゼロショット(zero-shot)で試し、必要に応じてフューショット(few-shot)の例を追加する
→ 少数の例示(few-shot)が必ずしも必要ではないが、複雑な要件がある場合は入力例と望む出力例を含めることで精度が上がる場合も
- 具体的なガイドラインを提供する
→ 例:「予算500ドル以下で解決策を提案してください」など、応答を制約する条件を明示する
- 最終目標を具体的に述べる
→ 成功するための具体的なパラメータを示し、モデルがその基準に達するまで推論と反復を促す
- Markdownフォーマットについて
→ o1-2024-12-17以降、APIの推論モデルはMarkdownフォーマットでの応答生成を避ける。Markdownフォーマットを使用したい場合は、開発者メッセージの最初の行に「Formatting re-enabled」という文字列を含める
Anthropicが公開している推論モデル活用のガイドライン
AnthropicもClaude 3.7で搭載された拡張思考モードの活用に焦点を当て、より柔軟かつ詳細な推論を実現するためのプロンプトエンジニアリングの手法を公開しています。このガイドラインでは拡張思考(Extended thinking)の有効性を十分に理解し、トークン予算の最小値である1,024トークンからスタートし、タスクの複雑さに応じて調整することが推奨されています。これは、システムのタイムアウトや接続制限を回避するための実践的な工夫でもあります。
上記の記事では、従来のステップバイステップの指示ではなく、まず高レベルの指示を与えてモデルに自由な発想で問題に取り組ませ、その出力を見ながら必要に応じて具体的な指示を追加する「マルチショットプロンプティング」の有効性が述べられています。さらに、XMLタグを用いた専用の記法(例:<thinking> や <scratchpad>)を用いることで、モデルが自らの思考プロセスを明示的に出力し、デバッグや結果の整合性チェックを容易にする手法が紹介されています。思考プロセスの出力によりユーザーはモデルの内部動作をより詳細に把握でき、最適な結果を得るためのフィードバックループを構築することが可能となります。
プロンプト例(Extended thinking tips より)
```
I'm going to show you how to solve a math problem, then I want you to solve a similar one.
Problem 1: What is 15% of 80?
<thinking>
To find 15% of 80:
1. Convert 15% to a decimal: 15% = 0.15
2. Multiply: 0.15 × 80 = 12
</thinking>
The answer is 12.
Now solve this one:
Problem 2: What is 35% of 240?
```
Claudeでは多言語対応も視野に入れており、拡張思考モードは主に英語で最も効果を発揮するものの、最終出力は他言語にも対応可能となっています。適切なプロンプトを組み合わせることで、プログラミングタスクや大規模なデータセット生成、複雑なSTEM(Science、Technology、Engineering、Mathematics)問題の解決など、従来のプロンプト設計では限界があったタスクに対して、モデルの柔軟性と創発的な推論能力を存分に活用できるとされています。
プロンプトテクニック一覧(Extended thinking tips より)
- まずは一般的な指示を与え、必要に応じて段階的な指示でトラブルシューティングする
- 拡張思考を用いたマルチショットプロンプティングを行う
- 拡張思考で指示遵守(instruction following)の効果を最大化する
- 拡張思考を用いてClaudeの動作をデバッグし、制御する
- 長い出力と長文の思考を最大限に活用する
- Claudeに自らの作業を振り返り、検証させることで、一貫性の向上とエラー処理の改善を図る
両社のベストプラクティスの比較から見えてくるもの
OpenAIとAnthropicが公開しているプロンプトのベストプラクティスは両者とも、AIモデルに対して過剰な詳細指示ではなく、簡潔かつ明快な指示を与えることの重要性を強調しています。たとえば、OpenAIは、短く明瞭な命令文でモデルにタスクを遂行させる手法を推奨しています。一方、Anthropicも「高レベルの指示から始める」ことで、モデルの内在する推論能力を最大限に引き出し、ユーザーが必要に応じて後から具体的な指示を追加するアプローチを採用しています。
また、両者はユーザーがタスクの成功基準や制約条件を明示的に定義することの重要性にも一致しています。OpenAIは、明確な成功基準を設定し、モデルに対して繰り返し推論を促すようなプロンプト設計を勧め、Anthropicも同様に、タスクの性質に合わせたトークン予算の設定やプロンプトの調整を推奨しています。さらに、プロンプト内における区切り記号(XMLタグやセクションタイトルなど)の活用により、入力内容を整理し、モデルが正確に各部分を解釈できるよう配慮している点も共通しています。
一方で、OpenAIとAnthropicが提示するベストプラクティスには異なるアプローチも見受けられます。OpenAIは、特に推論モデルに対して「chain-of-thought(連鎖思考)の指示」を避けるよう助言しており、モデルが既に内在する推論プロセスを持っていることから、あえて「ステップバイステップで」などの詳細な思考過程を明示させることは不要とされています。対して、Anthropicは、拡張思考モードを有効に活用するため、ユーザーに対してモデルの思考過程を明示的に出力させ、問題解決のプロセスを詳細に追跡する手法が有効になる場合もあると述べています。また、OpenAIはXMLタグなどの明確な区切り記号を用いて、プロンプト内の情報を整理することに重点を置いているのに対し、Anthropicはより柔軟なマルチショットプロンプティングを取り入れ、ユーザーが具体的な例示を追加しながらプロンプトを調整する方法が重視されていると見ることもできるでしょう。
現在のLLMの潮流として、時間をかけてより精度の高い回答を返すことを目的とする推論モデルの開発・利用が見られます。結果として、以前有用だったプロンプトが実は現在は有効ではない可能性があることなどが見えてきました。AIの進化が日進月歩であることは言うまでもないですが、活用する側としても求められるテクニックが日々変わっている状況です。OpenAIやAnthropicなどLLMの開発元が活用のためのtipsなどの情報を出してくれることもあるので、幅広く情報を確認しつつその時に最適な技術を採用しなくてはいけないと改めて実感しました。
IDATEN Ventures(イダテンベンチャーズ)について
フィジカル世界とデジタル世界の融合が進む昨今、フィジカル世界を実現させている「ものづくり」あるいは「ものはこび」の進化・変革・サステナビリティを支える技術やサービスに特化したスタートアップ投資を展開しているVCファンドです。
お問い合わせは、こちらからお願いします。
今回の記事のようなIDATENブログの更新をタイムリーにお知りになりたい場合は、下記フォームからぜひ IDATEN Letters に登録をいただければ幸いです。
Comments