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 Haiku 5.5

anthropic.claude-haiku-5-5

Claude Sonnet 5.5

anthropic.claude-sonnet-5-5

Claude Opus 5.5

anthropic.claude-opus-5-5

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.8

anthropic.claude-opus-4-8

Claude Opus 4.7

anthropic.claude-opus-4-7

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 は適応的思考のみをサポートします。手動拡張思考 (thinking.type: "enabled" と budget_tokens) と無効思考 (thinking.type: "disabled") は、これらのモデルではサポートされておらず、400 エラーを返します。thinking.type: "adaptive" で output_config.effortを使用して、思考動作を制御します。

Claude Opus 4.8 および 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 Haiku 5.5、Claude Sonnet 5.5、Claude Opus 5.5、Claude Opus 5、Claude Sonnet 5、Claude Opus4.8、Claude Opus4.7、Claude Opus4.6、および Claude Sonnet 4.6 は をサポートしていますmax。サポートされていないモデルmaxで を使用するリクエストはエラーを返します。
xhigh Claude は常に深い深さで考えます。Claude Haiku 5.5、Claude Sonnet 5.5、Claude Opus 5.5、Claude Opus 5、Claude Sonnet 5、4.8、および Claude Opus 4.7 Claude Opus のみ。
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パラメータを完全に省略します。

重要

Claude Haiku 5.5 のエフォートレベルと上限: Claude Haiku 5.5 highでは、 は low、medium、xhigh、、および output_config.effortを受け入れmaxます。ベータヘッダーは必要ありません。デフォルトのエフォートレベルは ですmedium。Claude Haiku 5.5 は、デフォルトで適応的思考を使用し、無効な思考 ("thinking": {"type": "disabled"}) もサポートしています。思考が無効になっている場合、 output_config.effortは に制限されますhigh。 xhighまたは maxの労力を無効な思考と組み合わせるリクエストは を返します400 invalid_request_error。手動拡張思考 (thinking.type: "enabled" と budget_tokens) は Claude Haiku 5.5 では使用できません。

次の例は、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" }] }

表示パラメータによる思考の可視性の制御

適応的思考を使用する場合、 displayフィールドは推論のテキストを がClaude返すかどうかを制御します。thinking オブジェクト内で とともに設定します"type": "adaptive"。

表示値 動作
omitted (デフォルト) レスポンスには思考ブロックが含まれていますが、そのthinkingテキストは空です。ブロックには署名があるため、複数ターンの会話では変更せずに返すことができます。
summarized 思考ブロックには、 Claudeの推論の概要がテキストとして含まれています。

どちらの値も一般公開されており、ベータヘッダーは必要ありません。summarized または 以外の値は400エラーomittedを返します。

注記

を設定summarizedしても、推論テキストが返されるとは限りません。一部のモデルは パラメータを受け入れますが、思考テキストを返さず、一部のモデルは思考ブロックをまったく返しません。summarized 生成された推論テキストでリクエストが受け入れられたと仮定するのではなく、レスポンスの thinkingフィールドを読み取ります。

次の の例では、InvokeModel API を使用するときに推論の概要をリクエストします。

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 16000, "thinking": { "type": "adaptive", "display": "summarized" }, "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 Haiku 5.5、Claude Sonnet 5.5、Claude Opus 5.5、Claude Fable 5.1、および Claude Mythos 5.1 では、リクエスト全体に 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 思考を使用した連続リクエストは、プロンプトキャッシュのブレークポイントを保持します。ただし、 と enabled/disabled 思考モードを切り替えるadaptiveと、メッセージのキャッシュブレークポイントが壊れます。モードの変更に関係なく、システムプロンプトとツール定義はキャッシュされたままになります。

思考動作の調整

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 のサーバー側で有効になっています。顧客のオプトインまたはオプトアウトはありません。