Was this page helpful?
This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
Pemikiran adaptif adalah cara yang direkomendasikan untuk menggunakan pemikiran yang diperluas dengan Claude Opus 4.7, Claude Opus 4.6, dan Claude Sonnet 4.6, dan merupakan mode default pada Claude Mythos Preview (di mana ia secara otomatis diterapkan kapan pun thinking tidak diatur). Alih-alih secara manual menetapkan anggaran token pemikiran, pemikiran adaptif memungkinkan Claude secara dinamis menentukan kapan dan berapa banyak menggunakan pemikiran yang diperluas berdasarkan kompleksitas setiap permintaan. Pada Claude Opus 4.7, pemikiran adaptif adalah satu-satunya mode pemikiran yang didukung; manual thinking: {type: "enabled", budget_tokens: N} tidak lagi diterima.
Pemikiran adaptif dapat menghasilkan kinerja yang lebih baik daripada pemikiran yang diperluas dengan budget_tokens tetap untuk banyak beban kerja, terutama tugas bimodal dan alur kerja agentic jangka panjang. Tidak ada header beta yang diperlukan.
Jika beban kerja Anda memerlukan latensi yang dapat diprediksi atau kontrol presisi atas biaya pemikiran, pemikiran yang diperluas dengan budget_tokens masih berfungsi pada Claude Opus 4.6 dan Claude Sonnet 4.6 tetapi sudah usang dan tidak lagi direkomendasikan. Lihat peringatan di bawah.
Pemikiran adaptif didukung pada model berikut:
claude-mythos-preview), pemikiran adaptif adalah default; thinking: {type: "disabled"} tidak didukungclaude-opus-4-7), pemikiran adaptif adalah satu-satunya mode pemikiran yang didukung. Pemikiran dimatikan kecuali Anda secara eksplisit menetapkan thinking: {type: "adaptive"} dalam permintaan Anda; manual thinking: {type: "enabled"} ditolak dengan kesalahan 400.claude-opus-4-6)claude-sonnet-4-6)thinking.type: "enabled" dan budget_tokens adalah usang pada Opus 4.6 dan Sonnet 4.6 dan akan dihapus dalam rilis model di masa depan. Gunakan thinking.type: "adaptive" dengan parameter effort sebagai gantinya. Konfigurasi budget_tokens yang ada masih berfungsi tetapi tidak lagi direkomendasikan; rencanakan untuk bermigrasi.
Model yang lebih lama (Sonnet 4.5, Opus 4.5, dll.) tidak mendukung pemikiran adaptif dan memerlukan thinking.type: "enabled" dengan budget_tokens.
Dalam mode adaptif, pemikiran bersifat opsional untuk model. Claude mengevaluasi kompleksitas setiap permintaan dan menentukan apakah dan berapa banyak menggunakan pemikiran yang diperluas. Pada tingkat upaya default (high), Claude hampir selalu berpikir. Pada tingkat upaya yang lebih rendah, Claude dapat melewati pemikiran untuk masalah yang lebih sederhana.
Pemikiran adaptif juga secara otomatis mengaktifkan pemikiran yang disisipi. Ini berarti Claude dapat berpikir di antara panggilan alat, menjadikannya sangat efektif untuk alur kerja agentic.
Atur thinking.type ke "adaptive" dalam permintaan API Anda:
Anda dapat menggabungkan pemikiran adaptif dengan parameter upaya untuk memandu seberapa banyak Claude berpikir. Tingkat upaya bertindak sebagai panduan lembut untuk alokasi pemikiran Claude:
| Tingkat upaya | Perilaku pemikiran |
|---|---|
max | Claude selalu berpikir tanpa batasan pada kedalaman pemikiran. Tersedia pada Claude Mythos Preview, Claude Opus 4.7, Claude Opus 4.6, dan Claude Sonnet 4.6. |
xhigh | Claude selalu berpikir mendalam dengan eksplorasi yang diperluas. Tersedia pada Claude Opus 4.7. |
high (default) | Claude selalu berpikir. Memberikan penalaran mendalam pada tugas yang kompleks. |
medium | Claude menggunakan pemikiran moderat. Mungkin melewati pemikiran untuk pertanyaan yang sangat sederhana. |
low | Claude meminimalkan pemikiran. Melewati pemikiran untuk tugas sederhana di mana kecepatan paling penting. |
Pemikiran adaptif bekerja dengan mulus dengan streaming. Blok pemikiran dialirkan melalui acara thinking_delta seperti mode pemikiran manual:
| Mode | Konfigurasi | Ketersediaan | Kapan digunakan |
|---|---|---|---|
| Adaptif | thinking: {type: "adaptive"} | Claude Mythos Preview (default), Opus 4.7 (hanya mode), Opus 4.6, Sonnet 4.6 | Claude menentukan kapan dan berapa banyak menggunakan pemikiran yang diperluas. Gunakan effort untuk memandu. |
| Manual | thinking: {type: "enabled", budget_tokens: N} | Semua model kecuali Claude Opus 4.7 (ditolak). Usang pada Opus 4.6 dan Sonnet 4.6 (pertimbangkan mode adaptif sebagai gantinya). | Ketika Anda memerlukan kontrol presisi atas pengeluaran token pemikiran. |
| Dinonaktifkan | Hilangkan parameter thinking atau lewatkan {type: "disabled"} | Semua model kecuali Claude Mythos Preview | Ketika Anda tidak memerlukan pemikiran yang diperluas dan menginginkan latensi terendah. |
Pemikiran adaptif tersedia pada Claude Mythos Preview, Claude Opus 4.7, Opus 4.6, dan Sonnet 4.6. Pada Mythos Preview, pemikiran adaptif adalah default dan diterapkan secara otomatis kapan pun thinking tidak diatur. Pada Claude Opus 4.7, pemikiran adaptif adalah satu-satunya mode yang didukung dan type: "enabled" dengan budget_tokens ditolak. Model yang lebih lama hanya mendukung type: "enabled" dengan budget_tokens. Pada Opus 4.6 dan Sonnet 4.6, type: "enabled" dengan budget_tokens masih berfungsi tetapi usang.
Ketersediaan pemikiran yang disisipi menurut mode:
interleaved-thinking-2025-05-14.Saat menggunakan pemikiran adaptif, giliran asisten sebelumnya tidak perlu dimulai dengan blok pemikiran. Ini lebih fleksibel daripada mode manual, di mana API memberlakukan bahwa giliran yang diaktifkan pemikiran dimulai dengan blok pemikiran.
Permintaan berturut-turut menggunakan pemikiran adaptive mempertahankan titik henti cache prompt. Namun, beralih antara mode pemikiran adaptive dan enabled/disabled memecah titik henti cache untuk pesan. Prompt sistem dan definisi alat tetap di-cache terlepas dari perubahan mode.
Perilaku pemicu pemikiran adaptif dapat dipromptkan. Jika Claude berpikir lebih atau kurang sering daripada 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.Mengarahkan Claude untuk berpikir lebih jarang dapat mengurangi kualitas pada tugas yang mendapat manfaat dari penalaran. Ukur dampak pada beban kerja spesifik Anda sebelum menerapkan penyesuaian berbasis prompt ke produksi. Pertimbangkan pengujian dengan tingkat upaya yang lebih rendah terlebih dahulu.
Gunakan max_tokens sebagai batas keras pada total output (pemikiran + teks respons). Parameter effort memberikan panduan lembut tambahan tentang berapa banyak pemikiran yang Claude alokasikan. Bersama-sama, ini memberi Anda kontrol yang efektif atas biaya.
Pada tingkat upaya high dan max, Claude mungkin berpikir lebih ekstensif dan dapat lebih mungkin menghabiskan anggaran max_tokens. Jika Anda mengamati stop_reason: "max_tokens" dalam respons, pertimbangkan untuk meningkatkan max_tokens untuk memberi model lebih banyak ruang, atau menurunkan tingkat upaya.
Konsep berikut berlaku untuk semua model yang mendukung pemikiran yang diperluas, terlepas dari apakah Anda menggunakan mode adaptif atau manual.
With extended thinking enabled, the Messages API for Claude 4 models returns a summary of Claude's full thinking process. Summarized thinking provides the full intelligence benefits of extended thinking, while preventing misuse. This is the default behavior on Claude 4 models when the display field on the thinking configuration is unset or set to "summarized". On Claude Opus 4.7 and Claude Mythos Preview, display defaults to "omitted" instead, so you must set display: "summarized" explicitly to receive summarized thinking.
Here are some important considerations for summarized thinking:
In rare cases where you need access to full thinking output for Claude 4 models, contact Anthropic sales.
The display field on the thinking configuration controls how thinking content is returned in API responses. It accepts two values:
"summarized": Thinking blocks contain summarized thinking text. See Summarized thinking for details. This is the default on Claude Opus 4.6, Claude Sonnet 4.6, and earlier Claude 4 models."omitted": Thinking blocks are returned with an empty thinking field. The signature field still carries the encrypted full thinking for multi-turn continuity (see Thinking encryption). This is the default on Claude Opus 4.7 and Claude Mythos Preview.Setting display: "omitted" is useful when your application doesn't surface thinking content to users. The primary benefit is faster time-to-first-text-token when streaming: The server skips streaming thinking tokens entirely and delivers only the signature, so the final text response begins streaming sooner.
Here are some important considerations for omitted thinking:
signature to reconstruct the original thinking for prompt construction (see Preserving thinking blocks). Any text you place in the thinking field of a round-tripped omitted block is ignored.display is invalid with thinking.type: "disabled" (there is nothing to display).thinking.type: "adaptive" and the model skips thinking for a simple request, no thinking block is produced regardless of display.The signature field is identical whether display is "summarized" or "omitted". Switching display values between turns in a conversation is supported.
Pada Claude Opus 4.7, thinking.display default ke "omitted". Blok pemikiran masih muncul dalam aliran respons, tetapi bidang thinking mereka kosong kecuali Anda secara eksplisit memilih. Ini adalah perubahan senyap dari Claude Opus 4.6, di mana default adalah "summarized". Untuk mengembalikan teks pemikiran yang diringkas pada Claude Opus 4.7, atur thinking.display ke "summarized" secara eksplisit:
thinking = {
"type": "adaptive",
"display": "summarized",
}Untuk contoh kode dan perilaku streaming dengan display: "omitted", lihat Mengontrol tampilan pemikiran di halaman pemikiran yang diperluas. Contoh di sana menggunakan type: "enabled"; dengan pemikiran adaptif, gunakan:
thinking = {"type": "adaptive", "display": "omitted"}Full thinking content is encrypted and returned in the signature field. This field is used to verify that thinking blocks were generated by Claude when passed back to the API.
It is only strictly necessary to send back thinking blocks when using tools with extended thinking. Otherwise you can omit thinking blocks from previous turns. If you pass them back, whether the API keeps or strips them depends on the model: Opus 4.5+ and Sonnet 4.6+ keep them in context by default; earlier Opus/Sonnet models and all Haiku models strip them. See context editing to configure this.
If sending back thinking blocks, pass everything back as you received it for consistency and to avoid potential issues.
Here are some important considerations on thinking encryption:
signature_delta inside a content_block_delta event just before the content_block_stop event.signature values are significantly longer in Claude 4 models than in previous models.signature field is an opaque field and should not be interpreted or parsed.signature values are compatible across platforms (Claude APIs, Amazon Bedrock, and Vertex AI). Values generated on one platform will be compatible with another.For complete pricing information including base rates, cache writes, cache hits, and output tokens, see the pricing page.
The thinking process incurs charges for:
When extended thinking is enabled, a specialized system prompt is automatically included to support this feature.
When using summarized thinking:
When using display: "omitted":
thinking field is empty)The billed output token count will not match the visible token count in the response. You are billed for the full thinking process, not the thinking content visible in the response.
Halaman pemikiran yang diperluas mencakup beberapa topik secara lebih detail dengan contoh kode khusus mode:
tool_choice ketika pemikiran aktif.adaptive dan enabled/disabled memecah titik henti cache untuk pesan (prompt sistem dan definisi alat tetap di-cache).max_tokens dan jendela konteks.client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=[
{
"role": "user",
"content": "Explain why the sum of two even numbers is always even.",
}
],
)
for block in response.content:
if block.type == "thinking":
print(f"\nThinking: {block.thinking}")
elif block.type == "text":
print(f"\nResponse: {block.text}")client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "medium"},
messages=[{"role": "user", "content": "What is the capital of France?"}],
)
print(response.content[0].text)client = anthropic.Anthropic()
with client.messages.stream(
model="claude-opus-4-7",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=[
{
"role": "user",
"content": "What is the greatest common divisor of 1071 and 462?",
}
],
) as stream:
for event in stream:
if event.type == "content_block_start":
print(f"\nStarting {event.content_block.type} block...")
elif event.type == "content_block_delta":
if event.delta.type == "thinking_delta":
print(event.delta.thinking, end="", flush=True)
elif event.delta.type == "text_delta":
print(event.delta.text, end="", flush=True)Pelajari lebih lanjut tentang pemikiran yang diperluas, termasuk mode manual, penggunaan alat, dan caching prompt.