View a markdown version of this page

Pemikiran adaptif - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemikiran adaptif

Pemikiran adaptif memungkinkan Claude secara dinamis memutuskan kapan dan berapa banyak untuk berpikir berdasarkan kompleksitas setiap permintaan, alih-alih memerlukan anggaran token pemikiran tetap. Ini didukung pada Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5, Claude Sonnet 5, dan model berkemampuan berpikir lainnya. Pemikiran adaptif dapat diandalkan mendorong kinerja yang lebih baik daripada pemikiran yang diperpanjang dengan tetapbudget_tokens. Tidak ada header beta yang diperlukan.

Model yang didukung adalah sebagai berikut:

Model Model 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 Soneta 5

anthropic.claude-sonnet-5

Claude Mythos 5

anthropic.claude-mythos-5

Claude Fable 5

anthropic.claude-fable-5

Claude Opus4.7

anthropic.claude-opus-4-7

Pratinjauan Claude Mythos

anthropic.claude-mythos-preview

Claude Opus4.6

anthropic.claude-opus-4-6-v1

Claude Soneta 4.6

anthropic.claude-sonnet-4-6

catatan

Claude Fable 5.1, Claude Mythos 5.1, Claude Mythos 5, Claude Fable 5, dan Claude Mythos Preview hanya mendukung pemikiran adaptif. Pemikiran diperpanjang manual (thinking.type: "enabled"dengan budget_tokensthinking.type: "disabled") dan pemikiran cacat () tidak didukung pada model ini dan akan mengembalikan kesalahan 400. Gunakan thinking.type: "adaptive" dengan output_config.effort untuk mengontrol perilaku berpikir.

Claude Opus4.7 mendukung pemikiran adaptif dan cacat. Untuk mematikan pemikiran, gunakanthinking.type: "disabled". Pemikiran diperpanjang manual (thinking.type: "enabled"denganbudget_tokens) tidak didukung dan akan mengembalikan kesalahan 400.

thinking.type: "enabled"dan budget_tokens tidak digunakan lagi pada Claude Opus 4.6 dan Claude Sonnet 4.6 dan akan dihapus dalam rilis model mendatang. Gunakan thinking.type: "adaptive" dengan parameter usaha sebagai gantinya.

Model yang lebih Claude Sonnet 4.5 lama (, Claude Opus 4.5, dll.) Tidak mendukung pemikiran adaptif dan membutuhkan thinking.type: "enabled"budget_tokens.

penting

Pemikiran adaptif aktif secara default pada Claude Sonnet 5 dan Claude Opus 5. Permintaan yang menghilangkan thinking bidang berjalan dengan pemikiran adaptif. Ini adalah perubahan dari Claude Sonnet 4.6, di mana permintaan yang sama berjalan tanpa berpikir, jadi aplikasi yang dimigrasi dari Claude Sonnet 4.6 tanpa perubahan akan menghasilkan output pemikiran — dan ditagih untuk token berpikir tersebut sebagai token keluaran — meskipun badan permintaan tidak berubah.

Untuk mematikan pemikiran sepenuhnya pada model-model ini, berikan secara "thinking": {"type": "disabled"} eksplisit. Menghilangkan thinking bidang tidak mematikan pemikiran - itu memilih pemikiran adaptif. Pengaturan klien yang mengekspresikan “tidak berpikir” sebagai anggaran token berpikir nol atau berkurang juga tidak mematikannya: thinking.type: "enabled" with tidak budget_tokens didukung di Claude Sonnet 5 dan mengembalikan aValidationException. Hanya disabled tipe eksplisit yang mematikan pemikiran.

Karena max_tokens merupakan batasan keras pada total output — pemikiran ditambah teks respons — kunjungi kembali max_tokens untuk beban kerja yang sebelumnya berjalan tanpa berpikir. Jika Anda menggunakan pemikiran cacat pada Claude Sonnet 4.6, pertimbangkan pemikiran adaptif dengan output_config.effort level yang lebih rendah pada Claude Sonnet 5 alih-alih menonaktifkannya.

Cara kerja pemikiran adaptif

Dalam mode adaptif, Claude mengevaluasi kompleksitas setiap permintaan dan memutuskan apakah dan berapa banyak untuk dipikirkan. Pada tingkat upaya default (high), Claude hampir selalu berpikir. Pada tingkat usaha yang lebih rendah, Claude mungkin melewatkan pemikiran untuk masalah yang lebih sederhana.

Pemikiran adaptif juga secara otomatis memungkinkanPemikiran yang terjalin (beta). Ini berarti Claude dapat berpikir di antara panggilan alat, membuatnya sangat efektif untuk alur kerja agen.

Set thinking.type el ke "adaptive" dalam permintaan API Anda:

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);

Berpikir adaptif dengan parameter usaha

Anda dapat menggabungkan pemikiran adaptif dengan parameter upaya untuk memandu seberapa banyak pemikiran Claude dilakukan. Tingkat upaya bertindak sebagai panduan lunak untuk Claude alokasi pemikiran:

Tingkat upaya Perilaku berpikir
max Claudeselalu berpikir tanpa kendala pada kedalaman pemikiran. Claude Opus 4.6, Claude Sonnet 4.6, dan dukungan max Claude Opus 5. Permintaan yang max digunakan pada model yang tidak didukung mengembalikan kesalahan.
xhigh Claudeselalu berpikir dengan kedalaman yang diperluas. Claude Opus 5 dan Claude Opus 4.6 saja.
high (default) ClaudeSelalu berpikir. Memberikan penalaran mendalam pada tugas-tugas yang kompleks.
medium Claudemenggunakan pemikiran moderat. Dapat melewatkan pemikiran untuk pertanyaan yang sangat sederhana.
low Claudememinimalkan pemikiran. Melompati pemikiran untuk tugas-tugas sederhana di mana kecepatan paling penting.
penting

effortParameter harus ditempatkan di dalam output_config objek terpisah di badan permintaan Anda — bukan di dalam thinking objek. Menem effort pat thinking kan di dalam akan menghasilkan aValidationException.

penting

Batasan upaya saat berpikir dinonaktifkan (Claude Opus 5): Claude Opus 5 mendukung"thinking": {"type": "disabled"}, tetapi ketika berpikir dinonaktifkan, output_config.effort dibatasi. high Permintaan dengan xhigh atau max upaya yang dikombinasikan dengan pemikiran cacat akan mengembalikan sebuahinvalid_request_error. Batasan ini juga berlaku untuk upaya per putaran yang ditetapkan melalui pesan sistem pertengahan percakapan. Untuk menggunakan xhigh atau max berusaha, aktifkan pemikiran adaptif (default) atau hilangkan thinking parameter sepenuhnya.

Contoh berikut menunjukkan cara mengatur tingkat usaha saat menggunakan 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" }] }

Menggunakan pemikiran adaptif dengan Converse API

Saat menggunakan API Converse, berikan effort parameter thinking dan di dalamnyaadditionalModelRequestFields. Contoh berikut menunjukkan pemikiran adaptif dengan tingkat upaya default:

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))

Untuk menentukan tingkat upaya, tambahkan effort bidang di dalam output_config objek terpisah diadditionalModelRequestFields:

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" } } )

Mengatur upaya per putaran (beta)

Fitur ini adalah Layanan Beta sebagaimana didefinisikan dalam Ketentuan Layanan AWS. Pada Claude Fable 5.1 dan Claude Mythos 5.1, Anda dapat mengubah tingkat upaya di tengah percakapan alih-alih mengaturnya sekali untuk seluruh permintaan. Masukkan pesan sistem yang membawa output_config.effort nilai pada setiap titik dalam messages array. Tingkat upaya baru berlaku untuk belokan yang mengikutinya. Permintaan mengembalikan 200 tanpa perubahan bentuk respons.

Untuk menggunakan upaya per putaran, sertakan salah satu anthropic_beta nilai berikut:mid-conversation-output-config-2026-07-01,, mid-conversation-effort-2026-08-01per-turn-control-2026-07-01, atauper-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"} ] }
catatan

Tanpa salah satu nilai beta yang tercantum — atau pada model yang tidak mendukung upaya per putaran — permintaan yang disertakan output_config pada pesan sistem akan kembali400 messages.N.output_config: Extra inputs are not permitted. Per-put task_budget aran tidak didukung dan juga mengembalikan 400.

Caching cepat

Permintaan berurutan menggunakan adaptive pemikiran mempertahankan breakpoint cache prompt. Namun, beralih antara adaptive dan enabled /mode disabled berpikir merusak breakpoint cache untuk pesan. Perintah sistem dan definisi alat tetap di-cache terlepas dari perubahan mode.

Menyetel perilaku berpikir

Jika Anda berpikir Claude lebih atau kurang dari yang Anda inginkan, Anda dapat menambahkan panduan ke prompt sistem Anda:

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

Mengar Claude ahkan untuk berpikir lebih jarang dapat mengurangi kualitas pada tugas-tugas yang mendapat manfaat dari penalaran. Ukur dampaknya pada beban kerja spesifik Anda sebelum menerapkan penyetelan berbasis prompt ke produksi. Pertimbangkan pengujian dengan tingkat upaya yang lebih rendah terlebih dahulu.

Ringkasan teks konektor (beta)

Pada Claude Fable 5, teks yang dipancarkan model di antara panggilan alat (kadang-kadang disebut “teks konektor” — misalnya, “Biarkan saya memeriksa file itu selanjutnya...”) diringkas di sisi server dan dikembalikan sebagai blok pemikiran daripada blok konten teks biasa. Blok berpikir menggunakan bentuk yang sama dengan blok berpikir lainnya (teks kosong dengan tanda tangan di bawah omitted tampilan default).

Dampak pelanggan:

  • Bentuk respons: Tool-use tanggapan dari Claude Fable 5 mungkin berisi blok pemikiran tambahan di mana model sebelumnya memancarkan teks biasa di antara tool_use blok. Tidak ada jenis blok konten baru. Jawaban asisten akhir (setelah semua penggunaan alat selesai) tidak terpengaruh dan tetap teks biasa.

  • Multi-turn penanganan: Kembalikan blok pemikiran ini tidak berubah dalam percakapan multi-putaran — penanganan yang sama dengan pemikiran yang dilindungi (tanda tangan divalidasi pada passback; diam-diam dilucuti jika dikirim ke model yang berbeda).

  • Lingkup: Ringkasan konektor hanya berlaku setelah tool_result ada dalam percakapan. Narasi sebelum panggilan alat pertama dalam percakapan baru tetap teks biasa. Segmen teks pendek dapat dilewati sebagai teks biasa tanpa ringkasan.

Fitur ini diaktifkan di sisi server untuk Claude Fable 5. Tidak ada pilihan pelanggan atau opt-out.