拡張思考のヒント
このガイドでは、Claudeの拡張思考機能を最大限に活用するための高度な戦略とテクニックを提供します。拡張思考により、Claudeは複雑な問題をステップバイステップで取り組み、難しいタスクでのパフォーマンスを向上させることができます。
拡張思考を使用するタイミングを決定するためのガイダンスについては、拡張思考モデルをご覧ください。
始める前に
このガイドは、すでに拡張思考モードを使用することを決定し、拡張思考の使い方の基本的なステップと拡張思考実装ガイドを確認していることを前提としています。
拡張思考の技術的考慮事項
- 思考トークンの最小予算は1024トークンです。最小の思考予算から始めて、ニーズやタスクの複雑さに基づいて徐々に増やすことをお勧めします。
- 最適な思考予算が32Kを超えるワークロードの場合、ネットワークの問題を避けるためにバッチ処理を使用することをお勧めします。モデルに32Kトークンを超える思考を促すリクエストは、長時間実行されるリクエストとなり、システムのタイムアウトやオープン接続制限に抵触する可能性があります。
- 拡張思考は英語で最もよく機能しますが、最終的な出力はClaudeがサポートするあらゆる言語で可能です。
- 最小予算以下の思考が必要な場合は、XMLタグ(
<thinking>
など)を使用した従来の思考連鎖プロンプトで、思考をオフにした標準モードを使用することをお勧めします。思考連鎖プロンプトを参照してください。
拡張思考のためのプロンプト技術
まず一般的な指示を使用し、その後より詳細なステップバイステップの指示でトラブルシューティングする
Claudeは、最適な思考プロセスを人間が規定するよりも、タスクについて深く考えるための高レベルな指示の方がしばしば良いパフォーマンスを発揮します。問題へのアプローチにおけるモデルの創造性は、人間の能力を超えることがあります。
例えば、以下のようにするのではなく:
以下のように考えてみてください:
とはいえ、必要に応じて複雑な構造化された実行ステップにもClaudeは効果的に従うことができます。モデルは以前のバージョンよりも長いリストとより複雑な指示を処理できます。より一般化された指示から始め、Claudeの思考出力を読み、そこから思考を導くためのより具体的な指示を提供するために反復することをお勧めします。
拡張思考でのマルチショットプロンプト
マルチショットプロンプトは拡張思考でうまく機能します。問題の考え方の例をClaudeに提供すると、拡張思考ブロック内で同様の推論パターンに従います。
拡張思考シナリオでは、<thinking>
や<scratchpad>
などのXMLタグを使用して、それらの例における拡張思考の標準的なパターンを示すことで、プロンプトに少数ショットの例を含めることができます。
Claudeはそのパターンを正式な拡張思考プロセスに一般化します。ただし、Claudeが最適と考える方法で自由に考えさせることで、より良い結果が得られる可能性もあります。
例:
拡張思考での指示遵守の最大化
拡張思考が有効になると、Claudeは指示遵守が大幅に向上します。モデルは通常:
- 拡張思考ブロック内で指示について推論する
- 応答でそれらの指示を実行する
指示遵守を最大化するには:
- 求めるものについて明確かつ具体的にする
- 複雑な指示の場合、Claudeが体系的に取り組むべき番号付きのステップに分割することを検討する
- 指示を完全に処理するのに十分な予算をClaudeに与える
Claudeの動作をデバッグし方向づけるための拡張思考の使用
Claudeの思考出力を使用してClaudeのロジックをデバッグすることができますが、この方法は常に完全に信頼できるわけではありません。
この方法論を最大限に活用するために、以下のヒントを推奨します:
- Claudeの拡張思考をユーザーテキストブロックに戻すことはお勧めしません。これはパフォーマンスを向上させず、実際には結果を低下させる可能性があります。
- 拡張思考の事前入力は明示的に許可されておらず、思考ブロックに続くモデルの出力テキストを手動で変更すると、モデルの混乱により結果が低下する可能性があります。
拡張思考がオフの場合、標準のassistant
応答テキストの事前入力は引き続き許可されています。
Claudeが拡張思考をアシスタント出力テキストで繰り返すことがあります。クリーンな応答が必要な場合は、拡張思考を繰り返さず、答えのみを出力するようClaudeに指示してください。
長い出力と長文思考を最大限に活用する
データセット生成のユースケースでは、「非常に詳細な表を作成してください…」などのプロンプトを試して、包括的なデータセットを生成します。
より長い拡張思考ブロックとより詳細な応答を生成したい詳細なコンテンツ生成などのユースケースでは、以下のヒントを試してください:
- 最大拡張思考の長さを増やし、明示的により長い出力を要求する
- 非常に長い出力(20,000語以上)の場合、段落レベルまでの単語数を含む詳細な概要を要求する。次に、Claudeに段落を概要にインデックス付けし、指定された単語数を維持するよう依頼する
単にトークンを出力するためにClaudeにより多くのトークンを出力するよう促すことはお勧めしません。むしろ、小さな思考予算から始めて、ユースケースに最適な設定を見つけるために必要に応じて増やすことをお勧めします。
以下は、より長い拡張思考によりClaudeが優れた成果を発揮するユースケースの例です:
一貫性とエラー処理を向上させるためにClaudeに自分の作業を振り返りチェックさせる
一貫性を向上させエラーを減らすために、シンプルな自然言語プロンプトを使用できます:
- タスクを完了したと宣言する前に、簡単なテストで作業を検証するようClaudeに依頼する
- 前のステップが期待された結果を達成したかどうかを分析するようモデルに指示する
- コーディングタスクの場合、拡張思考でテストケースを実行するようClaudeに依頼する
例: