Extended thinking memberikan Claude kemampuan penalaran yang ditingkatkan untuk tugas-tugas kompleks, sambil menyediakan berbagai tingkat transparansi ke dalam proses pemikiran langkah demi langkahnya sebelum memberikan jawaban akhir.

Model yang didukung

Extended thinking didukung dalam model-model berikut:
  • Claude Opus 4.1 (claude-opus-4-1-20250805)
  • Claude Opus 4 (claude-opus-4-20250514)
  • Claude Sonnet 4 (claude-sonnet-4-20250514)
  • Claude Sonnet 3.7 (claude-3-7-sonnet-20250219)
Perilaku API berbeda di antara model Claude Sonnet 3.7 dan Claude 4, tetapi bentuk API tetap sama persis.Untuk informasi lebih lanjut, lihat Perbedaan dalam thinking di antara versi model.

Cara kerja extended thinking

Ketika extended thinking diaktifkan, Claude membuat blok konten thinking di mana ia mengeluarkan penalaran internalnya. Claude menggabungkan wawasan dari penalaran ini sebelum menyusun respons akhir. Respons API akan mencakup blok konten thinking, diikuti oleh blok konten text. Berikut adalah contoh format respons default:
{
  "content": [
    {
      "type": "thinking",
      "thinking": "Mari saya analisis ini langkah demi langkah...",
      "signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...."
    },
    {
      "type": "text",
      "text": "Berdasarkan analisis saya..."
    }
  ]
}
Untuk informasi lebih lanjut tentang format respons extended thinking, lihat Referensi API Messages.

Cara menggunakan extended thinking

Berikut adalah contoh penggunaan extended thinking dalam Messages API:
curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 16000,
    "thinking": {
        "type": "enabled",
        "budget_tokens": 10000
    },
    "messages": [
        {
            "role": "user",
            "content": "Apakah ada jumlah tak terbatas bilangan prima sedemikian sehingga n mod 4 == 3?"
        }
    ]
}'
Untuk mengaktifkan extended thinking, tambahkan objek thinking, dengan parameter type diatur ke enabled dan budget_tokens ke anggaran token yang ditentukan untuk extended thinking. Parameter budget_tokens menentukan jumlah maksimum token yang diizinkan Claude gunakan untuk proses penalaran internalnya. Dalam model Claude 4, batas ini berlaku untuk token thinking penuh, dan bukan untuk output yang dirangkum. Anggaran yang lebih besar dapat meningkatkan kualitas respons dengan memungkinkan analisis yang lebih menyeluruh untuk masalah kompleks, meskipun Claude mungkin tidak menggunakan seluruh anggaran yang dialokasikan, terutama pada rentang di atas 32k. budget_tokens harus diatur ke nilai yang kurang dari max_tokens. Namun, ketika menggunakan interleaved thinking dengan tools, Anda dapat melebihi batas ini karena batas token menjadi seluruh context window Anda (200k token).

Summarized thinking

Dengan extended thinking diaktifkan, Messages API untuk model Claude 4 mengembalikan ringkasan dari proses thinking penuh Claude. Summarized thinking memberikan manfaat kecerdasan penuh dari extended thinking, sambil mencegah penyalahgunaan. Berikut adalah beberapa pertimbangan penting untuk summarized thinking:
  • Anda dikenakan biaya untuk token thinking penuh yang dihasilkan oleh permintaan asli, bukan token ringkasan.
  • Jumlah token output yang ditagih tidak akan cocok dengan jumlah token yang Anda lihat dalam respons.
  • Beberapa baris pertama output thinking lebih verbose, memberikan penalaran detail yang sangat membantu untuk tujuan prompt engineering.
  • Karena Anthropic berusaha meningkatkan fitur extended thinking, perilaku peringkasan dapat berubah.
  • Peringkasan mempertahankan ide-ide kunci dari proses thinking Claude dengan latensi tambahan minimal, memungkinkan pengalaman pengguna yang dapat di-stream dan migrasi mudah dari Claude Sonnet 3.7 ke model Claude 4.
  • Peringkasan diproses oleh model yang berbeda dari yang Anda targetkan dalam permintaan Anda. Model thinking tidak melihat output yang dirangkum.
Claude Sonnet 3.7 terus mengembalikan output thinking penuh.Dalam kasus langka di mana Anda memerlukan akses ke output thinking penuh untuk model Claude 4, hubungi tim penjualan kami.

Streaming thinking

Anda dapat melakukan stream respons extended thinking menggunakan server-sent events (SSE). Ketika streaming diaktifkan untuk extended thinking, Anda menerima konten thinking melalui event thinking_delta. Untuk dokumentasi lebih lanjut tentang streaming melalui Messages API, lihat Streaming Messages. Berikut cara menangani streaming dengan thinking:
curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 16000,
    "stream": true,
    "thinking": {
        "type": "enabled",
        "budget_tokens": 10000
    },
    "messages": [
        {
            "role": "user",
            "content": "Berapa 27 * 453?"
        }
    ]
}'
Contoh output streaming:
event: message_start
data: {"type": "message_start", "message": {"id": "msg_01...", "type": "message", "role": "assistant", "content": [], "model": "claude-sonnet-4-20250514", "stop_reason": null, "stop_sequence": null}}

event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "thinking", "thinking": ""}}

event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "Mari saya selesaikan ini langkah demi langkah:\n\n1. Pertama pecah 27 * 453"}}

event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "\n2. 453 = 400 + 50 + 3"}}

// Delta thinking tambahan...

event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "signature_delta", "signature": "EqQBCgIYAhIM1gbcDa9GJwZA2b3hGgxBdjrkzLoky3dl1pkiMOYds..."}}

event: content_block_stop
data: {"type": "content_block_stop", "index": 0}

event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "text", "text": ""}}

event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "text_delta", "text": "27 * 453 = 12,231"}}

// Delta teks tambahan...

event: content_block_stop
data: {"type": "content_block_stop", "index": 1}

event: message_delta
data: {"type": "message_delta", "delta": {"stop_reason": "end_turn", "stop_sequence": null}}

event: message_stop
data: {"type": "message_stop"}
Ketika menggunakan streaming dengan thinking diaktifkan, Anda mungkin memperhatikan bahwa teks terkadang tiba dalam potongan yang lebih besar bergantian dengan pengiriman yang lebih kecil, token demi token. Ini adalah perilaku yang diharapkan, terutama untuk konten thinking.Sistem streaming perlu memproses konten dalam batch untuk performa optimal, yang dapat menghasilkan pola pengiriman “chunky” ini, dengan kemungkinan penundaan antara event streaming. Kami terus bekerja untuk meningkatkan pengalaman ini, dengan pembaruan masa depan yang difokuskan untuk membuat konten thinking streaming lebih lancar.

Extended thinking dengan tool use

Extended thinking dapat digunakan bersama tool use, memungkinkan Claude untuk bernalar melalui pemilihan tool dan pemrosesan hasil. Ketika menggunakan extended thinking dengan tool use, waspadai keterbatasan berikut:
  1. Keterbatasan pilihan tool: Tool use dengan thinking hanya mendukung tool_choice: {"type": "auto"} (default) atau tool_choice: {"type": "none"}. Menggunakan tool_choice: {"type": "any"} atau tool_choice: {"type": "tool", "name": "..."} akan menghasilkan error karena opsi ini memaksa penggunaan tool, yang tidak kompatibel dengan extended thinking.
  2. Mempertahankan blok thinking: Selama tool use, Anda harus mengirimkan blok thinking kembali ke API untuk pesan assistant terakhir. Sertakan blok lengkap yang tidak dimodifikasi kembali ke API untuk mempertahankan kontinuitas penalaran.

Mempertahankan blok thinking

Selama tool use, Anda harus mengirimkan blok thinking kembali ke API, dan Anda harus menyertakan blok lengkap yang tidak dimodifikasi kembali ke API. Ini penting untuk mempertahankan alur penalaran model dan integritas percakapan.
Meskipun Anda dapat menghilangkan blok thinking dari giliran assistant sebelumnya, kami menyarankan untuk selalu mengirimkan kembali semua blok thinking ke API untuk percakapan multi-turn apa pun. API akan:
  • Secara otomatis memfilter blok thinking yang disediakan
  • Menggunakan blok thinking yang relevan yang diperlukan untuk mempertahankan penalaran model
  • Hanya menagih token input untuk blok yang ditampilkan ke Claude
Ketika Claude memanggil tools, ia menghentikan konstruksi respons untuk menunggu informasi eksternal. Ketika hasil tool dikembalikan, Claude akan melanjutkan membangun respons yang ada. Ini memerlukan mempertahankan blok thinking selama tool use, untuk beberapa alasan:
  1. Kontinuitas penalaran: Blok thinking menangkap penalaran langkah demi langkah Claude yang mengarah ke permintaan tool. Ketika Anda memposting hasil tool, menyertakan thinking asli memastikan Claude dapat melanjutkan penalarannya dari tempat ia berhenti.
  2. Pemeliharaan konteks: Meskipun hasil tool muncul sebagai pesan pengguna dalam struktur API, mereka adalah bagian dari alur penalaran yang berkelanjutan. Mempertahankan blok thinking mempertahankan alur konseptual ini di seluruh beberapa panggilan API. Untuk informasi lebih lanjut tentang manajemen konteks, lihat panduan kami tentang context windows.
Penting: Ketika memberikan blok thinking, seluruh urutan blok thinking berturut-turut harus cocok dengan output yang dihasilkan oleh model selama permintaan asli; Anda tidak dapat mengatur ulang atau memodifikasi urutan blok ini.

Interleaved thinking

Extended thinking dengan tool use dalam model Claude 4 mendukung interleaved thinking, yang memungkinkan Claude untuk berpikir di antara panggilan tool dan membuat penalaran yang lebih canggih setelah menerima hasil tool. Dengan interleaved thinking, Claude dapat:
  • Bernalar tentang hasil panggilan tool sebelum memutuskan apa yang harus dilakukan selanjutnya
  • Merangkai beberapa panggilan tool dengan langkah penalaran di antaranya
  • Membuat keputusan yang lebih bernuansa berdasarkan hasil perantara
Untuk mengaktifkan interleaved thinking, tambahkan header beta interleaved-thinking-2025-05-14 ke permintaan API Anda. Berikut adalah beberapa pertimbangan penting untuk interleaved thinking:
  • Dengan interleaved thinking, budget_tokens dapat melebihi parameter max_tokens, karena ini mewakili total anggaran di semua blok thinking dalam satu giliran assistant.
  • Interleaved thinking hanya didukung untuk tools yang digunakan melalui Messages API.
  • Interleaved thinking didukung untuk model Claude 4 saja, dengan header beta interleaved-thinking-2025-05-14.
  • Panggilan langsung ke API Anthropic memungkinkan Anda untuk mengirimkan interleaved-thinking-2025-05-14 dalam permintaan ke model apa pun, tanpa efek.
  • Pada platform pihak ketiga (misalnya, Amazon Bedrock dan Vertex AI), jika Anda mengirimkan interleaved-thinking-2025-05-14 ke model apa pun selain Claude Opus 4.1, Opus 4, atau Sonnet 4, permintaan Anda akan gagal.

Extended thinking dengan prompt caching

Prompt caching dengan thinking memiliki beberapa pertimbangan penting:
Tugas extended thinking sering memakan waktu lebih dari 5 menit untuk diselesaikan. Pertimbangkan menggunakan durasi cache 1 jam untuk mempertahankan cache hit di seluruh sesi thinking yang lebih lama dan workflow multi-langkah.
Penghapusan konteks blok thinking
  • Blok thinking dari giliran sebelumnya dihapus dari konteks, yang dapat mempengaruhi breakpoint cache
  • Ketika melanjutkan percakapan dengan tool use, blok thinking di-cache dan dihitung sebagai token input ketika dibaca dari cache
  • Ini menciptakan trade-off: meskipun blok thinking tidak mengonsumsi ruang context window secara visual, mereka masih dihitung terhadap penggunaan token input Anda ketika di-cache
  • Jika thinking menjadi dinon-aktifkan, permintaan akan gagal jika Anda mengirimkan konten thinking dalam giliran tool use saat ini. Dalam konteks lain, konten thinking yang dikirimkan ke API hanya diabaikan
Pola invalidasi cache
  • Perubahan pada parameter thinking (enabled/disabled atau alokasi anggaran) membatalkan breakpoint cache pesan
  • Interleaved thinking memperkuat invalidasi cache, karena blok thinking dapat terjadi di antara beberapa panggilan tool
  • System prompt dan tools tetap di-cache meskipun parameter thinking berubah atau blok dihapus
Meskipun blok thinking dihapus untuk caching dan perhitungan konteks, mereka harus dipertahankan ketika melanjutkan percakapan dengan tool use, terutama dengan interleaved thinking.

Memahami perilaku caching blok thinking

Ketika menggunakan extended thinking dengan tool use, blok thinking menunjukkan perilaku caching spesifik yang mempengaruhi penghitungan token: Cara kerjanya:
  1. Caching hanya terjadi ketika Anda membuat permintaan berikutnya yang mencakup hasil tool
  2. Ketika permintaan berikutnya dibuat, riwayat percakapan sebelumnya (termasuk blok thinking) dapat di-cache
  3. Blok thinking yang di-cache ini dihitung sebagai token input dalam metrik penggunaan Anda ketika dibaca dari cache
  4. Ketika blok pengguna non-tool-result disertakan, semua blok thinking sebelumnya diabaikan dan dihapus dari konteks
Contoh alur detail: Permintaan 1:
User: "Bagaimana cuaca di Paris?"
Respons 1:
[thinking_block_1] + [tool_use block 1]
Permintaan 2:
User: ["Bagaimana cuaca di Paris?"], 
Assistant: [thinking_block_1] + [tool_use block 1], 
User: [tool_result_1, cache=True]
Respons 2:
[thinking_block_2] + [text block 2]
Permintaan 2 menulis cache dari konten permintaan (bukan respons). Cache mencakup pesan pengguna asli, blok thinking pertama, blok tool use, dan hasil tool. Permintaan 3:
User: ["Bagaimana cuaca di Paris?"], 
Assistant: [thinking_block_1] + [tool_use block 1], 
User: [tool_result_1, cache=True], 
Assistant: [thinking_block_2] + [text block 2], 
User: [Text response, cache=True]
Karena blok pengguna non-tool-result disertakan, semua blok thinking sebelumnya diabaikan. Permintaan ini akan diproses sama seperti:
User: ["Bagaimana cuaca di Paris?"], 
Assistant: [tool_use block 1], 
User: [tool_result_1, cache=True], 
Assistant: [text block 2], 
User: [Text response, cache=True]
Poin kunci:
  • Perilaku caching ini terjadi secara otomatis, bahkan tanpa penanda cache_control eksplisit
  • Perilaku ini konsisten baik menggunakan thinking reguler atau interleaved thinking

Max tokens dan ukuran context window dengan extended thinking

Dalam model Claude yang lebih lama (sebelum Claude Sonnet 3.7), jika jumlah token prompt dan max_tokens melebihi context window model, sistem akan secara otomatis menyesuaikan max_tokens agar sesuai dengan batas konteks. Ini berarti Anda dapat mengatur nilai max_tokens yang besar dan sistem akan secara diam-diam menguranginya sesuai kebutuhan. Dengan model Claude 3.7 dan 4, max_tokens (yang mencakup anggaran thinking Anda ketika thinking diaktifkan) diberlakukan sebagai batas yang ketat. Sistem sekarang akan mengembalikan error validasi jika token prompt + max_tokens melebihi ukuran context window.
Anda dapat membaca panduan kami tentang context windows untuk pendalaman yang lebih menyeluruh.

Context window dengan extended thinking

Ketika menghitung penggunaan context window dengan thinking diaktifkan, ada beberapa pertimbangan yang perlu diketahui:
  • Blok thinking dari giliran sebelumnya dihapus dan tidak dihitung terhadap context window Anda
  • Thinking giliran saat ini dihitung terhadap batas max_tokens Anda untuk giliran tersebut
Diagram di bawah ini menunjukkan manajemen token khusus ketika extended thinking diaktifkan: Diagram context window dengan extended thinking Context window efektif dihitung sebagai:
context window =
  (token input saat ini - token thinking sebelumnya) +
  (token thinking + token thinking terenkripsi + token output teks)
Kami merekomendasikan menggunakan API penghitungan token untuk mendapatkan jumlah token yang akurat untuk kasus penggunaan spesifik Anda, terutama ketika bekerja dengan percakapan multi-turn yang mencakup thinking.

Context window dengan extended thinking dan tool use

Ketika menggunakan extended thinking dengan tool use, blok thinking harus secara eksplisit dipertahankan dan dikembalikan dengan hasil tool. Perhitungan context window efektif untuk extended thinking dengan tool use menjadi:
context window =
  (token input saat ini + token thinking sebelumnya + token tool use) +
  (token thinking + token thinking terenkripsi + token output teks)
Diagram di bawah ini mengilustrasikan manajemen token untuk extended thinking dengan tool use: Diagram context window dengan extended thinking dan tool use

Mengelola token dengan extended thinking

Mengingat perilaku context window dan max_tokens dengan model extended thinking Claude 3.7 dan 4, Anda mungkin perlu:
  • Lebih aktif memantau dan mengelola penggunaan token Anda
  • Menyesuaikan nilai max_tokens saat panjang prompt Anda berubah
  • Berpotensi menggunakan endpoint penghitungan token lebih sering
  • Menyadari bahwa blok thinking sebelumnya tidak terakumulasi dalam context window Anda
Perubahan ini telah dibuat untuk memberikan perilaku yang lebih dapat diprediksi dan transparan, terutama karena batas token maksimum telah meningkat secara signifikan.

Enkripsi thinking

Konten thinking penuh dienkripsi dan dikembalikan dalam field signature. Field ini digunakan untuk memverifikasi bahwa blok thinking dihasilkan oleh Claude ketika dikirimkan kembali ke API.
Hanya benar-benar diperlukan untuk mengirimkan kembali blok thinking ketika menggunakan tools dengan extended thinking. Jika tidak, Anda dapat menghilangkan blok thinking dari giliran sebelumnya, atau membiarkan API menghapusnya untuk Anda jika Anda mengirimkannya kembali.Jika mengirimkan kembali blok thinking, kami merekomendasikan mengirimkan semuanya kembali seperti yang Anda terima untuk konsistensi dan untuk menghindari masalah potensial.
Berikut adalah beberapa pertimbangan penting tentang enkripsi thinking:
  • Ketika streaming respons, signature ditambahkan melalui signature_delta di dalam event content_block_delta tepat sebelum event content_block_stop.
  • Nilai signature secara signifikan lebih panjang dalam model Claude 4 daripada dalam model sebelumnya.
  • Field signature adalah field opaque dan tidak boleh diinterpretasikan atau di-parse - ia ada semata-mata untuk tujuan verifikasi.
  • Nilai signature kompatibel di seluruh platform (API Anthropic, Amazon Bedrock, dan Vertex AI). Nilai yang dihasilkan pada satu platform akan kompatibel dengan platform lain.

Redaksi thinking

Kadang-kadang penalaran internal Claude akan ditandai oleh sistem keamanan kami. Ketika ini terjadi, kami mengenkripsi sebagian atau seluruh blok thinking dan mengembalikannya kepada Anda sebagai blok redacted_thinking. Blok redacted_thinking didekripsi ketika dikirimkan kembali ke API, memungkinkan Claude untuk melanjutkan responsnya tanpa kehilangan konteks. Ketika membangun aplikasi yang menghadap pelanggan yang menggunakan extended thinking:
  • Waspadai bahwa blok redacted thinking berisi konten terenkripsi yang tidak dapat dibaca manusia
  • Pertimbangkan memberikan penjelasan sederhana seperti: “Sebagian penalaran internal Claude telah dienkripsi secara otomatis untuk alasan keamanan. Ini tidak mempengaruhi kualitas respons.”
  • Jika menampilkan blok thinking kepada pengguna, Anda dapat memfilter blok yang diredaksi sambil mempertahankan blok thinking normal
  • Bersikap transparan bahwa menggunakan fitur extended thinking mungkin sesekali menghasilkan beberapa penalaran yang dienkripsi
  • Implementasikan penanganan error yang tepat untuk mengelola redacted thinking dengan baik tanpa merusak UI Anda
Berikut adalah contoh yang menunjukkan blok thinking normal dan yang diredaksi:
{
  "content": [
    {
      "type": "thinking",
      "thinking": "Mari saya analisis ini langkah demi langkah...",
      "signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...."
    },
    {
      "type": "redacted_thinking",
      "data": "EmwKAhgBEgy3va3pzix/LafPsn4aDFIT2Xlxh0L5L8rLVyIwxtE3rAFBa8cr3qpPkNRj2YfWXGmKDxH4mPnZ5sQ7vB9URj2pLmN3kF8/dW5hR7xJ0aP1oLs9yTcMnKVf2wRpEGjH9XZaBt4UvDcPrQ..."
    },
    {
      "type": "text",
      "text": "Berdasarkan analisis saya..."
    }
  ]
}
Melihat blok redacted thinking dalam output Anda adalah perilaku yang diharapkan. Model masih dapat menggunakan penalaran yang diredaksi ini untuk menginformasikan responsnya sambil mempertahankan pagar keamanan.Jika Anda perlu menguji penanganan redacted thinking dalam aplikasi Anda, Anda dapat menggunakan string tes khusus ini sebagai prompt Anda: ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB
Ketika mengirimkan blok thinking dan redacted_thinking kembali ke API dalam percakapan multi-turn, Anda harus menyertakan blok lengkap yang tidak dimodifikasi kembali ke API untuk giliran assistant terakhir. Ini penting untuk mempertahankan alur penalaran model. Kami menyarankan untuk selalu mengirimkan kembali semua blok thinking ke API. Untuk detail lebih lanjut, lihat bagian Mempertahankan blok thinking di atas.

Perbedaan dalam thinking di antara versi model

Messages API menangani thinking secara berbeda di antara model Claude Sonnet 3.7 dan Claude 4, terutama dalam perilaku redaksi dan peringkasan. Lihat tabel di bawah ini untuk perbandingan yang diringkas:
FiturClaude Sonnet 3.7Model Claude 4
Output ThinkingMengembalikan output thinking penuhMengembalikan thinking yang dirangkum
Interleaved ThinkingTidak didukungDidukung dengan header beta interleaved-thinking-2025-05-14

Harga

Extended thinking menggunakan skema harga token standar:
ModelToken Input DasarCache WritesCache HitsToken Output
Claude Opus 4.1$15 / MTok$18.75 / MTok$1.50 / MTok$75 / MTok
Claude Opus 4$15 / MTok$18.75 / MTok$1.50 / MTok$75 / MTok
Claude Sonnet 4$3 / MTok$3.75 / MTok$0.30 / MTok$15 / MTok
Claude Sonnet 3.7$3 / MTok$3.75 / MTok$0.30 / MTok$15 / MTok
Proses thinking menimbulkan biaya untuk:
  • Token yang digunakan selama thinking (token output)
  • Blok thinking dari giliran assistant terakhir yang disertakan dalam permintaan berikutnya (token input)
  • Token output teks standar
Ketika extended thinking diaktifkan, system prompt khusus secara otomatis disertakan untuk mendukung fitur ini.
Ketika meng gunakan summarized thinking:
  • Token input: Token dalam permintaan asli Anda (tidak termasuk token thinking dari giliran sebelumnya)
  • Token output (ditagih): Token thinking asli yang dihasilkan Claude secara internal
  • Token output (terlihat): Token thinking yang dirangkum yang Anda lihat dalam respons
  • Tidak ada biaya: Token yang digunakan untuk menghasilkan ringkasan
Jumlah token output yang ditagih tidak akan cocok dengan jumlah token yang terlihat dalam respons. Anda ditagih untuk proses thinking penuh, bukan ringkasan yang Anda lihat.

Praktik terbaik dan pertimbangan untuk extended thinking

Bekerja dengan anggaran thinking

  • Optimisasi anggaran: Anggaran minimum adalah 1.024 token. Kami menyarankan untuk memulai dengan minimum dan meningkatkan anggaran thinking secara bertahap untuk menemukan rentang optimal untuk kasus penggunaan Anda. Jumlah token yang lebih tinggi memungkinkan penalaran yang lebih komprehensif tetapi dengan hasil yang semakin berkurang tergantung pada tugas. Meningkatkan anggaran dapat meningkatkan kualitas respons dengan trade-off peningkatan latensi. Untuk tugas kritis, uji pengaturan yang berbeda untuk menemukan keseimbangan optimal. Perhatikan bahwa anggaran thinking adalah target daripada batas yang ketat—penggunaan token aktual dapat bervariasi berdasarkan tugas.
  • Titik awal: Mulai dengan anggaran thinking yang lebih besar (16k+ token) untuk tugas kompleks dan sesuaikan berdasarkan kebutuhan Anda.
  • Anggaran besar: Untuk anggaran thinking di atas 32k, kami merekomendasikan menggunakan batch processing untuk menghindari masalah jaringan. Permintaan yang mendorong model untuk berpikir di atas 32k token menyebabkan permintaan yang berjalan lama yang mungkin mengalami timeout sistem dan batas koneksi terbuka.
  • Pelacakan penggunaan token: Pantau penggunaan token thinking untuk mengoptimalkan biaya dan performa.

Pertimbangan performa

  • Waktu respons: Bersiaplah untuk waktu respons yang berpotensi lebih lama karena pemrosesan tambahan yang diperlukan untuk proses penalaran. Faktor bahwa menghasilkan blok thinking dapat meningkatkan waktu respons keseluruhan.
  • Persyaratan streaming: Streaming diperlukan ketika max_tokens lebih besar dari 21.333. Ketika streaming, bersiaplah untuk menangani blok konten thinking dan teks saat mereka tiba.

Kompatibilitas fitur

  • Thinking tidak kompatibel dengan modifikasi temperature atau top_k serta forced tool use.
  • Ketika thinking diaktifkan, Anda dapat mengatur top_p ke nilai antara 1 dan 0,95.
  • Anda tidak dapat melakukan pre-fill respons ketika thinking diaktifkan.
  • Perubahan pada anggaran thinking membatalkan prefix prompt yang di-cache yang mencakup pesan. Namun, system prompt dan definisi tool yang di-cache akan terus bekerja ketika parameter thinking berubah.

Panduan penggunaan

  • Pemilihan tugas: Gunakan extended thinking untuk tugas yang sangat kompleks yang mendapat manfaat dari penalaran langkah demi langkah seperti matematika, coding, dan analisis.
  • Penanganan konteks: Anda tidak perlu menghapus blok thinking sebelumnya sendiri. API Anthropic secara otomatis mengabaikan blok thinking dari giliran sebelumnya dan mereka tidak disertakan ketika menghitung penggunaan konteks.
  • Prompt engineering: Tinjau tips prompting extended thinking kami jika Anda ingin memaksimalkan kemampuan thinking Claude.

Langkah selanjutnya