View a markdown version of this page

アダプティブシンキング - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アダプティブシンキング

アダプティブシンキングを使用すると、固定シンキングトークン予算を必要とせずに、各リクエストの複雑さに基づいて、いつ、どの程度考えるかをClaude動的に決定できます。Claude Fable 5.1、Claude Mythos 5.1、Claude Opus 5、Claude Sonnet 5、およびその他の思考可能なモデルでサポートされています。アダプティブシンキングは、固定 による拡張シンキングよりも確実にパフォーマンスを向上させますbudget_tokens。ベータヘッダーは必要ありません。

サポートされているモデルは次のとおりです。

モデル モデル ID

Claude Fable 5.1

anthropic.claude-fable-5-1

Claude Mythos 5.1

anthropic.claude-mythos-5-1

Claude Opus 5

anthropic.claude-opus-5

Claude Sonnet 5

anthropic.claude-sonnet-5

Claude Mythos 5

anthropic.claude-mythos-5

Claude Fable 5

anthropic.claude-fable-5

Claude Opus 4.7

anthropic.claude-opus-4-7

Claude Mythos プレビュー

anthropic.claude-mythos-preview

Claude Opus 4.6

anthropic.claude-opus-4-6-v1

Claude Sonnet 4.6

anthropic.claude-sonnet-4-6

注記

Claude Fable 5.1、Claude Mythos 5.1、Claude Mythos 5、Claude Fable 5、および Claude Mythos Preview は、適応的思考のみをサポートします。手動拡張思考 (thinking.type: "enabled" と budget_tokens) および無効な思考 (thinking.type: "disabled") は、これらのモデルではサポートされておらず、400 エラーを返します。thinking.type: "adaptive" で output_config.effortを使用して、思考動作を制御します。

Claude Opus 4.7 では、適応型および無効化型の思考がサポートされています。思考をオフにするには、 を使用しますthinking.type: "disabled"。手動拡張思考 (thinking.type: "enabled" と budget_tokens) はサポートされておらず、400 エラーを返します。

thinking.type: "enabled" および budget_tokensは 4Claude Opus.6 および Claude Sonnet 4.6 で非推奨となり、今後のモデルリリースで削除されます。代わりに、エフォートパラメータthinking.type: "adaptive"で を使用します。

古いモデル (Claude Sonnet 4.5、4.5 など) Claude Opus は適応的思考をサポートしておらず、 thinking.type: "enabled"で が必要ですbudget_tokens。

重要

Claude Sonnet 5 と Claude Opus 5 では、アダプティブシンキングがデフォルトでオンになっています。thinking フィールドを省略するリクエストは、適応的思考で実行されます。これは、同じリクエストが何も考えずに実行された Claude Sonnet 4.6 からの変更であるため、変更なしで Claude Sonnet 4.6 から移行されたアプリケーションは思考出力を生成し、リクエスト本文が変更されていなくても、思考トークンを出力トークンとして請求されます。

これらのモデルで思考を完全にオフにするには、"thinking": {"type": "disabled"}明示的に を渡します。thinking フィールドを省略しても思考はオフになりません。適応的思考が選択されます。「思考なし」をゼロまたは削減された思考トークン予算として表現するクライアント設定でもオフになりません。 thinking.type: "enabled" の budget_tokensは Claude Sonnet 5 ではサポートされず、 を返しますValidationException。明示的なdisabledタイプのみが思考をオフにします。

max_tokens は、思考とレスポンステキストの合計出力に厳しい制限があるため、以前に思考せずに実行されたワークロードmax_tokensについては を再検討してください。Claude Sonnet 4.6 で無効な思考を使用している場合は、無効にするのではなく、Claude Sonnet 5 でより低いoutput_config.effortレベルの適応的思考を検討してください。

適応的思考の仕組み

アダプティブモードでは、 は各リクエストの複雑さClaudeを評価し、考えるかどうか、どの程度考えるかを決定します。デフォルトのエフォートレベル (high) では、 Claudeはほとんど常に考えます。労力レベルが低い場合、 Claudeはより単純な問題に対する思考をスキップする可能性があります。

アダプティブシンキングでは、 も自動的に有効になりますインターリーブ思考 (ベータ版)。つまり、 Claudeはツール呼び出し間で考えることができるため、エージェントワークフローに特に効果的です。

API リクエスト"adaptive"で thinking.typeを に設定します。

CLI
aws bedrock-runtime invoke-model \ --model-id "us.anthropic.claude-opus-4-6-v1" \ --body '{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 16000, "thinking": { "type": "adaptive" }, "messages": [ { "role": "user", "content": "Three players A, B, C play a game. Each has a jar with 100 balls numbered 1-100. Simultaneously, each draws one ball. A beats B if As number > Bs number (mod 100, treating 100 as 0 for comparison). Similarly for B vs C and C vs A. The overall winner is determined by majority of pairwise wins (ties broken randomly). Is there a mixed strategy Nash equilibrium where each player draws uniformly? If not, characterize the equilibrium." } ] }' \ --cli-binary-format raw-in-base64-out \ output.json && cat output.json | jq '.content[] | {type, thinking: .thinking[0:200], text}'
Python
import boto3 import json bedrock_runtime = boto3.client( service_name='bedrock-runtime', region_name='us-east-2' ) response = bedrock_runtime.invoke_model( modelId="us.anthropic.claude-opus-4-6-v1", body=json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 16000, "thinking": { "type": "adaptive" }, "messages": [{ "role": "user", "content": "Explain why the sum of two even numbers is always even." }] }) ) response_body = json.loads(response["body"].read()) for block in response_body["content"]: if block["type"] == "thinking": print(f"\nThinking: {block['thinking']}") elif block["type"] == "text": print(f"\nResponse: {block['text']}")
TypeScript
import { BedrockRuntimeClient, InvokeModelCommand } from "@aws-sdk/client-bedrock-runtime"; async function main() { const client = new BedrockRuntimeClient({}); const command = new InvokeModelCommand({ modelId: "us.anthropic.claude-opus-4-6-v1", body: JSON.stringify({ anthropic_version: "bedrock-2023-05-31", max_tokens: 16000, thinking: { type: "adaptive" }, messages: [{ role: "user", content: "Explain why the sum of two even numbers is always even." }] }) }); const response = await client.send(command); const responseBody = JSON.parse(new TextDecoder().decode(response.body)); for (const block of responseBody.content) { if (block.type === "thinking") { console.log(`\nThinking: ${block.thinking}`); } else if (block.type === "text") { console.log(`\nResponse: ${block.text}`); } } } main().catch(console.error);

エフォートパラメータを使用した適応的思考

適応的思考と労力パラメータを組み合わせて、どの程度の思考Claudeを行うかをガイドできます。労力レベルは、 Claudeの思考割り当てのソフトガイダンスとして機能します。

労力レベル 思考動作
max Claude は常に思考深度に制約を課さずに思考します。 Claude Opus4.6、Claude Sonnet 4.6、および Claude Opus 5 は をサポートしていますmax。サポートされていないモデルmaxで を使用するリクエストはエラーを返します。
xhigh Claude は常に深い深さで考えます。Claude Opus 5 および Claude Opus 4.6 のみ。
high (デフォルト) Claude は常に考えます。複雑なタスクに関する深い推論を提供します。
medium Claude は中程度の思考を使用します。非常に単純なクエリの思考をスキップすることがあります。
low Claude は思考を最小限に抑えます。速度が最も重要である単純なタスクの思考をスキップします。
重要

effort パラメータは、output_configオブジェクト内ではなく、リクエスト本文内の別のthinkingオブジェクト内に配置する必要があります。effort 内部に配置するとthinking、 になりますValidationException。

重要

思考が無効になっている場合の労力の上限 (Claude Opus 5): Claude Opus 5 は をサポートしますが"thinking": {"type": "disabled"}、思考が無効になっている場合、 は に制限output_config.effortされますhigh。xhigh または のmax労力と無効な思考を組み合わせたリクエストは、 を返しますinvalid_request_error。この上限は、会話中のシステムメッセージで設定されたターンごとのエフォートにも適用されます。xhigh または maxの労力を使用するには、適応的思考 (デフォルト) を有効にするか、 thinkingパラメータを完全に省略します。

次の例は、InvokeModel API を使用するときに労力レベルを設定する方法を示しています。

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 16000, "thinking": { "type": "adaptive" }, "output_config": { "effort": "high" }, "messages": [{ "role": "user", "content": "Your prompt here" }] }

Converse API での適応的思考の使用

Converse API を使用する場合は、 thinking および effortパラメータを 内に渡しますadditionalModelRequestFields。次の例は、デフォルトの労力レベルでの適応的思考を示しています。

import boto3, json bedrock_runtime = boto3.client(service_name='bedrock-runtime', region_name='us-east-2') response = bedrock_runtime.converse( modelId="us.anthropic.claude-opus-4-6-v1", messages=[{ "role": "user", "content": [{"text": "Explain why the sum of two even numbers is always even."}] }], additionalModelRequestFields={ "thinking": { "type": "adaptive" } } ) print(json.dumps(response["output"], indent=2, default=str))

エフォートレベルを指定するには、 の別のoutput_configオブジェクト内に effortフィールドを追加しますadditionalModelRequestFields。

response = bedrock_runtime.converse( modelId="us.anthropic.claude-opus-4-6-v1", messages=[{ "role": "user", "content": [{"text": "What is 2 + 2?"}] }], additionalModelRequestFields={ "thinking": { "type": "adaptive" }, "output_config": { "effort": "low" } } )

ターンあたりのエフォートの設定 (ベータ)

この機能は、AWS サービス条件で定義されているベータサービスです。Claude Fable 5.1 および Claude Mythos 5.1 では、リクエスト全体に一度設定するのではなく、会話の途中で労力レベルを変更できます。messages 配列内の任意の時点でoutput_config.effort値を保持するシステムメッセージを挿入します。新しいエフォートレベルは、それに続くターンに適用されます。リクエストは、レスポンスシェイプを変更せずに 200 を返します。

ターンごとのエフォートを使用するには、、mid-conversation-output-config-2026-07-01、mid-conversation-effort-2026-08-01、per-turn-control-2026-07-01または のいずれかanthropic_betaの値を含めますper-message-effort-2026-07-01。

{ "anthropic_version": "bedrock-2023-05-31", "anthropic_beta": ["mid-conversation-effort-2026-08-01"], "max_tokens": 16000, "output_config": {"effort": "high"}, "messages": [ {"role": "user", "content": "First question"}, {"role": "assistant", "content": "First answer"}, {"role": "system", "content": [], "output_config": {"effort": "low"}}, {"role": "user", "content": "A simpler follow-up question"} ] }
注記

リストされているベータ値の 1 つがない場合、またはターンごとの労力をサポートしていないモデルの場合、システムメッセージoutput_configに を含むリクエストは を返します400 messages.N.output_config: Extra inputs are not permitted。ターンごとの task_budgetはサポートされておらず、400 も返します。

プロンプトキャッシュ

adaptive 思考を使用した連続リクエストは、プロンプトキャッシュのブレークポイントを保持します。ただし、 adaptiveと enabled/disabled 思考モードを切り替えると、メッセージのキャッシュブレークポイントが壊れます。モードの変更に関係なく、システムプロンプトとツール定義はキャッシュされたままになります。

思考動作の調整

Claude が目的よりも頻繁に考えている場合は、システムプロンプトにガイダンスを追加できます。

Extended thinking adds latency and should only be used when it will meaningfully improve answer quality — typically for problems that require multi-step reasoning. When in doubt, respond directly.
警告

思考頻度を低くClaude抑えることは、推論から恩恵を受けるタスクの品質を低下させる可能性があります。プロンプトベースのチューニングを本番環境にデプロイする前に、特定のワークロードへの影響を測定します。まず、労力レベルを低くしてテストすることを検討してください。

コネクタテキストの要約 (ベータ)

Claude Fable 5 では、モデルがツール呼び出し間で出力するテキスト (「コネクタテキスト」と呼ばれることもあります。たとえば、「次のファイルを確認させてください」) がサーバー側で要約され、プレーンテキストコンテンツブロックではなく思考ブロックとして返されます。思考ブロックは、他の思考ブロックと同じシェイプを使用します (デフォルトのomitted表示の下に署名が付いた空のテキスト)。

顧客への影響:

  • レスポンスシェイプ: Claude Fable 5 からのツール使用レスポンスには、以前のモデルがブロック間でプレーンテキストを出力する追加の思考tool_useブロックが含まれている場合があります。新しいコンテンツブロックタイプはありません。最終的なアシスタントの回答 (すべてのツールの使用が完了した後) は影響を受けず、プレーンテキストのままです。

  • マルチターン処理: これらの思考ブロックをマルチターン会話で変更せずに返します。これは、保護された思考と同じ処理です (署名はパスバックで検証され、別のモデルに送信された場合はサイレントに削除されます)。

  • スコープ: コネクタの要約は、会話に tool_resultが存在する場合にのみ適用されます。新しい会話の最初のツール呼び出し前のナレーションは、プレーンテキストのままです。短いテキストセグメントは、要約なしでプレーンテキストとして通過することがあります。

この機能は Claude Fable 5 のサーバー側で有効になっています。顧客のオプトインまたはオプトアウトはありません。