「zero data retention」(ゼロデータ保持)、すなわちZDRがこの機能にどのように適用されるかについては、APIとデータ保持を参照してください。
拡張思考(budget_tokensを伴うthinking.type: "enabled")は、Claude 4.6モデルでは非推奨です(これを使用するリクエストは引き続き成功します)。Claude 4.7以降のモデルはこれをサポートしておらず、使用するリクエストを拒否して400エラーを返します。思考をサポートするClaude 4.5以前のモデルでは、拡張思考が唯一利用可能な思考モードです。Claude Mythos Previewは両方のモードをサポートしています。両方のモードが利用可能な場合は、代わりに適応思考を使用してください。
適応思考への移行については、適応思考への移行を参照してください。お使いのモデルが拡張思考のみをサポートしている場合、このページはサポートされている設定について説明しています。新しいモデルに移行するまで変更は必要ありません。
リクエストが"thinking.type.enabled" is not supportedで始まるメッセージの400エラーで失敗する場合、お使いのモデルは代わりに適応思考を使用しています。思考のトラブルシューティングを参照するか、適応思考への移行に進んでください。
手動モードの「extended thinking」(拡張思考)は、Claudeがどれだけ思考するかを直接制御できます。各リクエストでthinking: {type: "enabled", budget_tokens: N}を使用して思考トークン予算を設定すると、Claudeは最終的な回答を開始する前にその予算に対して思考します。手動モードは、ワークロードが予測可能なレイテンシや思考コストの正確な制御を必要とする場合に引き続き有用です。このページでは、予算の設定と調整方法、手動モードがインターリーブ思考およびプロンプトキャッシングとどのように相互作用するか、そして適応思考への移行方法について説明します。
思考ブロックやレスポンスの形式、displayパラメータ、ストリーミング、ツール使用を伴う思考、暗号化など、思考自体の仕組みについては、思考の概要を参照してください。
拡張思考が唯一のモードであるモデルを含む、モデルごとの拡張思考の利用可否は、モデル別設定テーブルに記載されています。
Messages APIで拡張思考を使用する例を以下に示します。
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[
{
"role": "user",
"content": "Are there an infinite number of prime numbers such that n mod 4 == 3?",
}
],
)
# レスポンスには要約された思考ブロックとテキストブロックが含まれます
for block in response.content:
match block.type:
case "thinking":
print(f"\nThinking summary: {block.thinking}")
case "text":
print(f"\nResponse: {block.text}")手動の拡張思考を有効にするには、typeをenabledに設定し、budget_tokensの値を指定したthinkingオブジェクトを追加します。
budget_tokensパラメータは、Claudeが内部推論プロセスに使用できるトークン数の目標を設定します。より大きな予算は、複雑な問題に対してより徹底的な分析を可能にすることで、レスポンスの品質を向上させることができます。
budget_tokensは以下の制約を満たす必要があります。
max_tokensより小さいこと。 思考トークンはそのターンのmax_tokens制限にカウントされるため、予算は最終レスポンスのための余地を残す必要があります。唯一の例外はインターリーブ思考で、予算が1つのアシスタントターン内のすべての思考ブロックにまたがるため、budget_tokensがmax_tokensを超えることができます。budget_tokensはmax_tokensより小さくなければならないため、拡張思考はmax_tokens: 0(キャッシュの事前ウォームアップ)と組み合わせることはできません。予算は厳密な上限ではなく目標です。実際のトークン使用量はタスクによって異なり、Claudeは予算を使い切るかなり前に推論を停止することがあります。max_tokensは引き続き総出力のハードリミットです。
effortをサポートする唯一の拡張思考専用モデルであるClaude Opus 4.5では、effortがレスポンス全体を形作り、budget_tokensが思考の深さを設定します。両方を設定してください。
予算を調整するには:
予算が実際にどれだけのコストになるかを追跡するには、レスポンスのusage.output_tokens_details.thinking_tokensフィールドを監視してください。これは、課金された出力トークンのうちどれだけが内部推論であったかを報告します。ストリーミング時には、この内訳は最後のmessage_deltaイベントにのみ表示されます。
手動予算から移行する準備ができたら、適応思考への移行を参照してください。
インターリーブ思考により、Claudeは単一のアシスタントターン内でツール呼び出しの間に思考し、次に何をするかを決定する前に各ツール結果について推論できます。概念、ターン構造、適応思考モデルでの動作については、思考の概要のインターリーブ思考を参照してください。このセクションでは、手動のtype: "enabled"思考を使用する際にこれを有効にする方法について説明します。
Claude Opus 4.5、Claude Sonnet 4.5、および以前のClaude 4モデル(Claude Opus 4.1(非推奨)、Claude Opus 4、Claude Sonnet 4)では、APIリクエストにinterleaved-thinking-2025-05-14ベータヘッダーを追加します。
4.6世代は手動モードで分かれます。
type: "enabled"を使用したベータヘッダーは引き続き機能しますが、非推奨です。ヘッダーなしで自動的にインターリーブする適応思考を推奨します。thinking: {type: "adaptive"}に切り替えてください。Claude Haiku 4.5はインターリーブ思考をサポートしていません。Claude APIでは、ベータヘッダーは受け入れられますが無視されます。
手動モードでのインターリーブ思考に関するさらに2つの考慮事項:
budget_tokensがmax_tokensを超えることができます。予算のルールでこの例外について説明しています。プラットフォームによるベータヘッダーの扱いは異なります。Claude APIとClaude Platform on AWSは、任意のモデルでinterleaved-thinking-2025-05-14を受け入れ、サポートされていない場合は無視します。受け入れられることと効果があることは同じではありません。type: "enabled"を拒否するモデル(4.7以降)や手動モードのインターリーブがないモデル(Claude Opus 4.6)では、ヘッダーは手動モードでの効果を持ちません。そこでは適応思考が自動的にインターリーブします。
パートナー運営のプラットフォーム(Amazon BedrockとGoogle Cloud)も同様に、エラーを返すことなく任意のモデルでヘッダーを受け入れ、インターリーブ思考をサポートしていないモデルでは無視します。
単一ターンのツール使用ループ、ターン途中の競合処理、ターン間での思考の切り替えを含む一般的なターン構造のルールは、ツール使用を伴う思考にあります。
手動モードでは1つの要件が追加されます。思考が有効なリクエストの最後のアシスタントターンは思考ブロックで始まる必要があります(適応思考ではこの要件はありません)。ターン間で思考設定を変更すると、プロンプトキャッシングも無効になります。次のセクションを参照してください。
手動モードでは、思考とプロンプトキャッシングで説明されているモード中立のキャッシング動作に加えて、1つのルールが追加されます。リクエスト間でbudget_tokensを変更すると、思考モードを切り替える場合と同様に、キャッシュブレークポイントが無効になります。これは予算値がプロンプトにレンダリングされるためです。メッセージレベルのブレークポイントは、予算変更後は常にミスします。ツールおよびシステムプロンプトのブレークポイントもミスするかどうかは、モデルが設定をどこにレンダリングするかによります。
実際には、予算を選択し、キャッシュされた会話の存続期間中は安定して保持してください。Claude Sonnet 4.6でメッセージレベルのキャッシングを使用したマルチターン会話を実行し、3番目のリクエストで予算を4,000トークンから8,000トークンに変更すると、無効化が直接確認できます。
First request - establishing cache
First response usage: { cache_creation_input_tokens: 1370, cache_read_input_tokens: 0, input_tokens: 17, output_tokens: 700 }
Second request - same thinking parameters (cache hit expected)
Second response usage: { cache_creation_input_tokens: 0, cache_read_input_tokens: 1370, input_tokens: 303, output_tokens: 874 }
Third request - different thinking budget (cache miss expected)
Third response usage: { cache_creation_input_tokens: 1370, cache_read_input_tokens: 0, input_tokens: 747, output_tokens: 619 }3番目のリクエストは、リクエスト間で予算が変更されたため、キャッシュを再作成します(cache_creation_input_tokens=1370、cache_read_input_tokens=0)。適応モードでの同じ実験の実行可能なバージョン(ここでbudget_tokensが果たすキャッシュの役割をeffortレベルが果たします)については、ステアリングページのプロンプトキャッシングを参照してください。
ほとんどの思考動作はモード中立であり、思考ページに一度だけ文書化されています。そこにあるすべての内容は手動モードにも適用されます。
お使いのモデルが拡張思考のみをサポートしている場合(Claude Sonnet 4.5、Claude Opus 4.5、Claude Haiku 4.5、および以前のClaude 4モデル)、今は何もする必要はありません。そこでは適応思考は利用できず、type: "adaptive"は400エラーを返します。適応思考をサポートするモデルに移行するまでbudget_tokensを維持し、その後、以下のマッピングを適用してください。
以下の場合、type: "enabled"から移行する必要があります。
budget_tokensが非推奨となっているClaude Opus 4.6またはClaude Sonnet 4.6を使用している場合。type: "enabled"が400エラーを返すClaude Opus 4.7、Claude Opus 4.8、Claude Opus 5、Claude Sonnet 5、Claude Fable 5、またはClaude Mythos 5に移行する場合。マッピングは小さなものです。budget_tokensを削除し、thinking: {type: "adaptive"}を設定し、トークン予算の代わりにoutput_config: {effort: ...}で推論の深さを制御します。
{
"model": "claude-sonnet-4-6",
"max_tokens": 16000,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
}
}は次のようになります。
{
"model": "claude-sonnet-4-6",
"max_tokens": 16000,
"thinking": {
"type": "adaptive"
},
"output_config": {
"effort": "high"
}
}effort: "high"はAPIのデフォルトと一致します。ここでは深さの制御がどこに移動したかを示すためだけに記載されており、省略しても同一の動作になります。
構文の変更だけでなく、動作の違いも予想してください。固定予算では、Claudeはすべてのリクエストで思考します。適応思考では、Claudeは各リクエストで思考するかどうか、どれだけ思考するかを決定し、低いeffort設定では簡単な入力に対して思考を完全にスキップすることがあります。移行後はinterleaved-thinking-2025-05-14ベータヘッダーも削除できます。適応思考は自動的にインターリーブし、Claude APIはこれらのモデルでヘッダーを無視します。思考ブロックの保持も変わります。Claude Opus 4.5および4.6以降の番号のモデルは、以前のターンの思考ブロックをコンテキストに保持し、入力として課金しますが、Claude Sonnet 4.5、Claude Haiku 4.5、および以前のモデルはそれらを削除していました。モデル別の思考ブロック保持を参照してください。
モードの切り替えは思考設定の変更であるため、切り替え後の最初のリクエストは、手動モードでのプロンプトキャッシングで説明されているように、キャッシュブレークポイントを無効にします。
完全なガイダンスについては、適応思考、effort、およびモデル移行ガイドを参照してください。
思考の仕組みを学びます:ブロック、表示、ストリーミング、ツール使用。
各リクエストでいつ、どれだけ思考するかをClaudeに決定させます。
思考ブロックを保持し、ツール呼び出しとターン全体で思考を管理します。
Was this page helpful?