このガイドでは、Claudeの拡張思考機能を最大限に活用するための高度な戦略とテクニックを提供します。拡張思考により、Claudeは複雑な問題を段階的に解決し、困難なタスクでのパフォーマンスを向上させることができます。 拡張思考を使用するタイミングの判断については、拡張思考モデルを参照してください。

始める前に

このガイドでは、すでに拡張思考モードの使用を決定し、拡張思考モデルの使い方の基本的な手順と拡張思考実装ガイドを確認していることを前提としています。

拡張思考の技術的考慮事項

  • 思考トークンには最低1024トークンの予算があります。最小思考予算から始めて、ニーズとタスクの複雑さに基づいて段階的に増やすことをお勧めします。
  • 最適な思考予算が32Kを超えるワークロードでは、ネットワークの問題を回避するためにバッチ処理の使用をお勧めします。モデルに32Kトークンを超える思考を促すリクエストは、長時間実行されるリクエストとなり、システムタイムアウトや開放接続制限に達する可能性があります。
  • 拡張思考は英語で最高のパフォーマンスを発揮しますが、最終的な出力はClaudeがサポートする任意の言語で行うことができます。
  • 最小予算以下の思考が必要な場合は、思考をオフにした標準モードで、XMLタグ(<thinking>など)を使用した従来の思考連鎖プロンプトを使用することをお勧めします。思考連鎖プロンプトを参照してください。

拡張思考のプロンプト技法

まず一般的な指示を使用し、その後より段階的な指示でトラブルシューティングする

Claudeは、段階的な規範的ガイダンスよりも、タスクについて深く考えるよう促す高レベルの指示でより良いパフォーマンスを発揮することがよくあります。問題へのアプローチにおけるモデルの創造性は、人間が最適な思考プロセスを規定する能力を上回る可能性があります。 例えば、以下の代わりに:
この数学問題を段階的に考えてください:
1. まず、変数を特定します
2. 次に、方程式を設定します
3. 次に、xを解きます
...
以下を検討してください:
この数学問題について徹底的かつ詳細に考えてください。
複数のアプローチを検討し、完全な推論を示してください。
最初のアプローチがうまくいかない場合は、異なる方法を試してください。
とはいえ、Claudeは必要に応じて複雑な構造化された実行ステップに効果的に従うことができます。モデルは、以前のバージョンよりもより複雑な指示を含むより長いリストを処理できます。より一般化された指示から始めて、Claudeの思考出力を読み、そこからその思考を導くためのより具体的な指示を提供するよう反復することをお勧めします。

拡張思考でのマルチショットプロンプト

マルチショットプロンプトは拡張思考とうまく機能します。Claudeに問題の考え方の例を提供すると、拡張思考ブロック内で同様の推論パターンに従います。 拡張思考シナリオでプロンプトに少数ショット例を含めるには、<thinking><scratchpad>などのXMLタグを使用して、それらの例における拡張思考の標準的なパターンを示すことができます。 Claudeはパターンを正式な拡張思考プロセスに一般化します。ただし、Claudeが最適と考える方法で自由に思考させることで、より良い結果が得られる可能性があります。 例:
数学問題の解き方を示してから、似たような問題を解いてもらいます。

問題1:80の15%はいくつですか?

<thinking>
80の15%を求めるには:
1. 15%を小数に変換:15% = 0.15
2. 掛け算:0.15 × 80 = 12
</thinking>

答えは12です。

では、この問題を解いてください:
問題2:240の35%はいくつですか?

拡張思考で指示従順性を最大化する

Claudeは拡張思考が有効になっているときに、指示従順性が大幅に改善されます。モデルは通常:
  1. 拡張思考ブロック内で指示について推論する
  2. レスポンスでそれらの指示を実行する
指示従順性を最大化するには:
  • 何を望んでいるかを明確かつ具体的にする
  • 複雑な指示については、Claudeが体系的に取り組むべき番号付きステップに分割することを検討する
  • Claudeが拡張思考で指示を完全に処理するのに十分な予算を許可する

拡張思考を使用してClaude の動作をデバッグし、導く

Claudeの思考出力を使用してClaude の論理をデバッグできますが、この方法は常に完全に信頼できるわけではありません。 この方法論を最大限に活用するために、以下のヒントをお勧めします:
  • Claudeの拡張思考をユーザーテキストブロックに戻すことはお勧めしません。これはパフォーマンスを向上させず、実際に結果を悪化させる可能性があります。
  • 拡張思考の事前入力は明示的に許可されておらず、思考ブロックに続くモデルの出力テキストを手動で変更することは、モデルの混乱により結果を悪化させる可能性があります。
拡張思考がオフになっている場合、標準のassistantレスポンステキストの事前入力は引き続き許可されます。
時々、Claudeはアシスタント出力テキストで拡張思考を繰り返すことがあります。クリーンなレスポンスが必要な場合は、拡張思考を繰り返さず、答えのみを出力するようClaude に指示してください。

長い出力と長文思考を最大限に活用する

データセット生成の使用例では、「…の非常に詳細なテーブルを作成してください」などのプロンプトを試して、包括的なデータセットを生成してください。 より長い拡張思考ブロックとより詳細なレスポンスを生成したい詳細なコンテンツ生成などの使用例では、以下のヒントを試してください:
  • 最大拡張思考長を増やし、明示的により長い出力を求める
  • 非常に長い出力(20,000語以上)の場合、段落レベルまでの語数を含む詳細なアウトラインを要求する。次に、Claudeに段落をアウトラインにインデックス化し、指定された語数を維持するよう求める
トークンのためだけにより多くのトークンを出力するようClaude を押し進めることはお勧めしません。むしろ、小さな思考予算から始めて、使用例に最適な設定を見つけるために必要に応じて増やすことをお勧めします。
以下は、より長い拡張思考によりClaude が優れた性能を発揮する使用例の例です:

Claudeに作業を振り返り、チェックさせて一貫性とエラー処理を改善する

簡単な自然言語プロンプトを使用して一貫性を改善し、エラーを減らすことができます:
  1. タスクを完了と宣言する前に、簡単なテストで作業を検証するようClaude に求める
  2. 前のステップが期待される結果を達成したかどうかを分析するようモデルに指示する
  3. コーディングタスクでは、拡張思考でテストケースを実行するようClaude に求める
例:
数値の階乗を計算する関数を書いてください。
完了する前に、以下のテストケースで解決策を検証してください:
- n=0
- n=1
- n=5
- n=10
そして、見つけた問題を修正してください。

次のステップ