View a markdown version of this page

Pemikiran yang diperluas - Amazon Bedrock

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

Pemikiran yang diperluas

Lihat juga

Pemikiran yang diperluas memberikan kemampuan penalaran yang Claude ditingkatkan untuk tugas-tugas kompleks, sambil memberikan berbagai tingkat transparansi ke dalam proses pemikiran langkah demi langkah sebelum memberikan jawaban akhirnya. Setiap kali Anda mengaktifkan Claude mode berpikir, Anda harus menetapkan anggaran untuk jumlah maksimum token yang Claude dapat digunakan untuk proses penalaran internalnya.

Model yang didukung adalah sebagai berikut:

Model Model ID

Claude Opus4.5

anthropic.claude-opus-4-5-20251101-v1:0

Claude Opus4

anthropic.claude-opus-4-20250514-v1:0

Claude Sonnet 4

anthropic.claude-sonnet-4-20250514-v1:0

Claude Sonnet 4.5

anthropic.claude-sonnet-4-5-20250929-v1:0

Claude Sonnet 4.6

anthropic.claude-sonnet-4-6

Claude Opus 4.6

anthropic.claude-opus-4-6-v1

Claude Haiku 4.5

anthropic.claude-haiku-4-5-20251001-v1:0

Claude 3.7 Sonnet

anthropic.claude-3-7-sonnet-20250219-v1:0

catatan

Claude Mythos 5 dan Claude Fable 5 tidak mendukung pemikiran yang diperluas. Permintaan dengan thinking.type: "enabled" atau thinking.type: "disabled" akan mengembalikan kesalahan 400. Model-model ini menggunakan pemikiran adaptif secara eksklusif. Lihat Pemikiran adaptif untuk detail.

Migrasi dari pemikiran yang diperluas:

  • Ganti {"type": "enabled", "budget_tokens": N} dengan {"type": "adaptive"} dan gunakan output_config.effort untuk mengontrol kedalaman pemikiran.

  • Hapus {"type": "disabled"} — menghilangkan parameter berpikir sepenuhnya memberi Anda pemikiran adaptif secara default.

catatan

Perilaku API berbeda antara Claude 3,7 dan Claude 4 model. Untuk informasi selengkapnya, lihat Perbedaan pemikiran di seluruh versi model.

Praktik dan pertimbangan terbaik untuk pemikiran yang diperluas

Pedoman penggunaan

  • Pemilihan tugas: Gunakan pemikiran yang diperluas untuk tugas-tugas yang sangat kompleks yang mendapat manfaat dari penalaran langkah demi langkah seperti matematika, pengkodean, dan analisis.

  • Penanganan konteks: Anda tidak perlu menghapus hambatan pemikiran sebelumnya sendiri. AnthropicAPI secara otomatis mengabaikan blok pemikiran dari belokan sebelumnya dan mereka tidak disertakan saat menghitung penggunaan konteks.

  • Rekayasa cepat: T Anthropic injau kiat mendorong pemikiran yang diperluas jika Anda ingin memaksimalkan Claude kemampuan berpikir.

Pertimbangan performa

  • Waktu respons: Bersiaplah untuk waktu respons yang berpotensi lebih lama karena pemrosesan tambahan yang diperlukan untuk proses penalaran. Faktor dalam menghasilkan blok berpikir dapat meningkatkan waktu respons secara keseluruhan.

  • Persyaratan streaming: Streaming diperlukan ketika max_tokens lebih besar dari 21.333. Saat streaming, bersiaplah untuk menangani keduanya thinking dan blok text konten saat mereka tiba.

Kompatibilitas fitur

  • Berpikir tidak kompatibel dengantemperature,top_p, atau top_k modifikasi atau penggunaan alat paksa.

  • Anda tidak dapat mengisi tanggapan terlebih dahulu saat pemikiran diaktifkan.

  • Perubahan pada anggaran berpikir membatalkan awalan prompt yang di-cache yang menyertakan pesan. Namun, perintah sistem yang di-cache dan definisi alat akan terus berfungsi saat parameter berpikir berubah.

Bekerja dengan anggaran berpikir

  • Pengoptimalan anggaran: Anggaran minimum adalah 1.024 token. Anthropicmenyarankan mulai dari minimum dan meningkatkan anggaran berpikir secara bertahap untuk menemukan kisaran optimal untuk kasus penggunaan Anda. Jumlah token yang lebih besar mungkin memungkinkan penalaran yang lebih komprehensif dan bernuansa, tetapi juga dapat ada pengembalian yang berkurang tergantung pada tugas. Anggaran berpikir adalah target daripada batas yang ketat - penggunaan token aktual dapat bervariasi berdasarkan tugas.

  • Pengaturan minimum dan optimal: Anggaran minimum adalah 1.024 token. Kami menyarankan mulai dari minimum dan meningkatkan anggaran berpikir secara bertahap untuk menemukan kisaran optimal agar ber Claude kinerja baik untuk kasus penggunaan Anda. Jumlah token yang lebih tinggi mungkin memungkinkan Anda mencapai penalaran yang lebih komprehensif dan bernuansa, tetapi mungkin juga ada pengembalian yang berkurang tergantung pada tugas. Anggaran berpikir adalah target daripada batas yang ketat - penggunaan token aktual dapat bervariasi berdasarkan tugas.

  • Eksper imen: Model mungkin berkinerja berbeda pada pengaturan anggaran pemikiran maksimal yang berbeda. Meningkatkan anggaran berpikir maksimal dapat membuat model berpikir lebih baik atau lebih keras, dengan pertukaran peningkatan latensi. Untuk tugas-tugas penting, pertimbangkan untuk menguji pengaturan anggaran yang berbeda untuk menemukan keseimbangan optimal antara kualitas dan kinerja.

  • Anggaran besar: Untuk memikirkan anggaran di atas 32K, kami sarankan menggunakan pemrosesan batch untuk menghindari masalah jaringan. Permintaan yang mendorong model untuk berpikir di atas token 32K menyebabkan permintaan yang berjalan lama yang dapat mengakibatkan batas waktu sistem dan batas koneksi terbuka. Harap dicatat bahwa max_tokens batasan bervariasi antar Claude model. Untuk informasi selengkapnya, lihat Token maksimum dan ukuran jendela konteks dengan pemikiran yang diperluas.

  • Pelacakan penggunaan token: Pantau penggunaan token berpikir untuk mengoptimalkan biaya dan kinerja.

Bagaimana pemikiran yang diperluas bekerja

Ketika pemikiran yang diperpanjang dihidupkan, Claude menciptakan blok thinking konten di mana ia mengeluarkan penalaran internalnya. Claudemenggabungkan wawasan dari alasan ini sebelum menyusun respons akhir. Respons API akan mencakup blok thinking konten, diikuti oleh blok text konten.

Berikut adalah contoh format respons default:

{ "content": [ { "type": "thinking", "thinking": "Let me analyze this step by step...", "signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...." }, { "type": "text", "text": "Based on my analysis..." } ] }

Untuk informasi selengkapnya tentang format respons pemikiran yang diperluas, Anthropic lihat Messages APIPermintaan dan Tanggapan.

Cara menggunakan pemikiran yang diperluas

Untuk mengaktifkan pemikiran yang diperpanjang, tambahkan thinking objek, dengan thinking parameter disetel ke diaktifkan dan budget_tokens set ke anggaran token tertentu untuk pemikiran yang diperpanjang.

budget_tokensParameter menentukan jumlah maksimum token yang diizinkan untuk Claude digunakan untuk proses penalaran internalnya. Dalam Claude 4 model, batas ini berlaku untuk token pemikiran penuh, dan bukan untuk output yang diringkas. Anggaran yang lebih besar dapat meningkatkan kualitas respons dengan memungkinkan analisis yang lebih menyeluruh untuk masalah yang kompleks, meskipun Claude mungkin tidak menggunakan seluruh anggaran yang dialokasikan, terutama pada kisaran di atas 32K.

Nilai budget_tokens harus diatur ke nilai kurang darimax_tokens. Namun, saat menggunakan Pemikiran yang terjalin (beta) dengan alat, Anda dapat melebihi batas ini karena batas token menjadi seluruh jendela konteks Anda (200K token).

Pemikiran yang diringkas

Dengan pemikiran yang diperpanjang diaktifkan, Messages API untuk Claude 4 model mengembalikan ringkasan proses berpikir lengkap. Claude Pemikiran yang diringkas memberikan manfaat kecerdasan penuh dari pemikiran yang diperluas, sambil mencegah penyalahgunaan.

Berikut adalah beberapa pertimbangan penting untuk pemikiran yang diringkas:

  • Anda dikenakan biaya untuk token pemikiran penuh yang dihasilkan oleh permintaan asli, bukan token ringkasan.

  • Jumlah token keluaran yang ditagih tidak akan cocok dengan jumlah token yang Anda lihat dalam respons.

  • Prompt yang diberikan ke model summarizer dapat berubah.

  • Beberapa baris pertama keluaran pemikiran lebih bertele-tele, memberikan penalaran terperinci yang sangat membantu untuk tujuan rekayasa yang cepat.

catatan

Claude 3.7 Sonnetmasih mengembalikan output pemikiran penuh.

Pemikiran streaming

Anda dapat melakukan streaming respons pemikiran yang diperluas menggunakan acara yang dikirim server (SSE). Saat streaming diaktifkan untuk pemikiran yang diperpanjang, Anda menerima konten berpikir melalui thinking_delta acara. Acara yang dialirkan tidak dijamin akan kembali pada tingkat yang konstan. Mungkin ada penundaan antara acara streaming. Untuk dokumentasi selengkapnya tentang streaming melalui Messages API, lihat Streaming pesan.

Berikut cara menangani streaming dengan berpikir menggunakan InvokeModelWithResponseStream:

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "messages": [ { "role": "user", "content": "What is 27 * 453?" } ] }

Respons:

event: message_start data: {"type": "message_start", "message": {"id": "msg_01...", "type": "message", "role": "assistant", "content": [], "model": "claude-3-7-sonnet-20250219", "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": "Let me solve this step by step:\n\n1. First break down 27 * 453"}} event: content_block_delta data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "\n2. 453 = 400 + 50 + 3"}} // Additional thinking deltas... 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"}} // Additional text deltas... 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"}
Tentang perilaku streaming dengan berpikir

Saat menggunakan streaming dengan pemikiran diaktifkan, Anda mungkin memperhatikan bahwa teks terkadang datang dalam potongan yang lebih besar bergantian dengan pengiriman token demi token yang lebih kecil. Ini adalah perilaku yang diharapkan, terutama untuk konten berpikir. Sistem streaming perlu memproses konten dalam batch untuk kinerja optimal, yang dapat menghasilkan pola pengiriman ini.

Pemikiran yang diperluas dengan penggunaan alat

Pemikiran yang diperluas dapat digunakan Penggunaan alat Claude Anthropic bersamaan dengan memungkinkan Claude untuk bernalar melalui pemilihan alat dan pemrosesan hasil. Saat menggunakan pemikiran yang diperluas dengan penggunaan alat, perhatikan keterbatasan berikut:

  • Batasan pilihan alat: Penggunaan alat dengan pemikiran hanya mendukung tool_choice: auto (default) atautool_choice: none. Itu tidak mendukung penggunaan alat paksa (anyatau menentukan alat tertentu).

  • Mempertahankan blok berpikir: Selama penggunaan alat, Anda harus meneruskan blok pemikiran kembali ke API untuk pesan asisten terakhir. Sertakan blok lengkap yang tidak dimodifikasi kembali ke API untuk mempertahankan kontinuitas penalaran.

Berikut adalah cara manajemen jendela konteks bekerja dengan alat:

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" } ] }

Tanggapan pertama adalah sebagai berikut:

{ "content": [ { "type": "thinking", "thinking": "The user wants to know the current weather in Paris. I have access to a function `get_weather`...", "signature": "BDaL4VrbR2Oj0hO4XpJxT28J5TILnCrrUXoKiiNBZW9P+nr8XSj1zuZzAl4egiCCpQNvfyUuFFJP5CncdYZEQPPmLxYsNrcs...." }, { "type": "text", "text": "I can help you get the current weather information for Paris. Let me check that for you" }, { "type": "tool_use", "id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "name": "get_weather", "input": { "location": "Paris" } } ] }

Melanjutkan percakapan dengan penggunaan alat akan menghasilkan respons lain. Perhatikan thinking_block bahwa diteruskan sertatool_use_block. Jika ini tidak diteruskan, kesalahan terjadi.

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" }, { "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user wants to know the current weather in Paris. I have access to a function `get_weather`…", "signature": "BDaL4VrbR2Oj0hO4XpJxT28J5TILnCrrUXoKiiNBZW9P+nr8XSj1zuZzAl4egiCCpQNvfyUuFFJP5CncdYZEQPPmLxY", }, { "type": "tool_use", "id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "name": "get_weather", "input": { "location": "Paris" } } ] }, { "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "content": "Current temperature: 88°F" } ] } ] }

Respons API sekarang hanya akan menyertakan teks

{ "content": [ { "type": "text", "text": "Currently in Paris, the temperature is 88°F (31°C)" } ] }

Pertahankan blok berpikir

Selama penggunaan alat, Anda harus meneruskan blok pemikiran kembali ke API, dan Anda harus menyertakan blok lengkap yang tidak dimodifikasi kembali ke API. Ini sangat penting untuk menjaga aliran penalaran model dan integritas percakapan.

Tip

Meskipun Anda dapat menghilangkan thinking blok dari pergantian assistant peran sebelumnya, kami sarankan selalu mengembalikan semua blok pemikiran ke API untuk percakapan multi-putaran apa pun. API akan melakukan hal berikut:

  • Secara otomatis menyaring blok pemikiran yang disediakan

  • Gunakan blok pemikiran yang relevan yang diperlukan untuk mempertahankan penalaran model

  • Hanya tagihan untuk token masukan untuk blok yang ditampilkan Claude

Saat Claude memanggil alat, itu menjeda konstruksi respons untuk menunggu informasi eksternal. Ketika hasil alat dikembalikan, Claude akan terus membangun respons yang ada. Hal ini mengharuskan melestarikan blok berpikir selama penggunaan alat, karena alasan berikut:

  • Kontinuitas penalaran: Blok pemikiran menangkap penalar Claude an langkah demi langkah yang mengarah pada permintaan alat. Ketika Anda memposting hasil alat, termasuk pemikiran asli memastikan Claude dapat melanjutkan penalarannya dari tempat yang ditinggalkan.

  • Pemeliharaan konteks: Meskipun hasil alat muncul sebagai pesan pengguna dalam struktur API, hasil tersebut merupakan bagian dari aliran penalaran berkelanjutan. Melestarikan blok berpikir mempertahankan aliran konseptual ini di beberapa panggilan API.

penting

Saat menyediakan blok berpikir, seluruh urutan blok berpikir berurutan harus sesuai dengan output yang dihasilkan oleh model selama permintaan asli; Anda tidak dapat mengatur ulang atau memodifikasi urutan blok ini.

Pemikiran yang terjalin (beta)

Awas

Pemikiran selisih tersedia bagi Anda sebagai 'Layanan Beta' sebagaimana didefinisikan dalam Ketentuan Layanan. AWS Ini tunduk pada Perjanjian Anda dengan AWS dan Ketentuan AWS Layanan, dan model EULA yang berlaku.

Claude4 model mendukung pemikiran terjalin, fitur yang memungkinkan Claude untuk berpikir di antara panggilan alat dan menjalankan penalaran yang lebih canggih setelah menerima hasil alat. Hal ini memungkinkan interaksi agen yang lebih kompleks di mana Claude dapat melakukan hal berikut:

  • Alasan tentang hasil panggilan alat sebelum memutuskan apa yang harus dilakukan selanjutnya

  • Rantau beberapa panggilan alat dengan langkah-langkah penalaran di antaranya

  • Buat keputusan yang lebih bernuansa berdasarkan hasil menengah

Untuk mengaktifkan pemikiran interleaved, tambahkan header beta interleaved-thinking-2025-05-14 ke permintaan API Anda.

catatan

Dengan pemikiran yang terjalin, parameter budget_tokens dapat melebihi max_tokens parameter karena mewakili total anggaran di semua blok pemikiran dalam satu putaran asisten.

Pembersihan blok berpikir (beta)

Awas

Pembersihan blok pemikiran tersedia sebagai “Layanan Beta” sebagaimana didefinisikan dalam Ket AWS entuan Layanan.

catatan

Fitur ini saat ini didukung pada Claude Sonnet 4/4 .5, Claude Haiku 4.5, dan Claude Opus. 4/4 1/4.5.

Pembersihan blok berpikir adalah kemampuan model Claude Anthropic (dalam versi beta). Dengan fitur ini, Claude dapat secara otomatis menghapus blok pemikiran lama dari belokan sebelumnya. Untuk menggunakan pembersihan blok berpikir, Anda context-management-2025-06-27 perlu menambahkan daftar header beta pada parameter permintaan anthropic_beta. Anda juga perlu menentukan penggunaan clear_thinking_20251015 dan memilih dari opsi konfigurasi berikut.

Ini adalah kontrol yang tersedia untuk strategi manajemen clear_thinking_20251015 konteks. Semua opsional atau memiliki default:

Opsi Konfigurasi Deskripsi

keep

default: 1 putaran berpikir

Mendefinisikan berapa banyak asisten baru-baru ini yang berbelok dengan blok pemikiran untuk dipertahankan. Gunakan {"type": "thinking_turns", "value": N} di mana N harus > 0 untuk mempertahankan putaran N terakhir, atau {"type": "all"} untuk menjaga semua blok berpikir.

Request
{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "anthropic_beta": [ "context-management-2025-06-27" ], "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" }, { "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user is asking for the weather in Paris. I have access to a get_weather function that takes a location as a parameter. I have all the information I need to make this call - the location is \"Paris\".\n\nLet me call the get_weather function with \"Paris\" as the location.", "signature": "ErgDCkgIChABGAIqQC/Ccv8GC+5VfcMEiq78XmpU2Ef2cT+96pHKMedKcRNuPz1x0kFlo5HBpW0r1NcQFVQUPuj6PDmP7jdHY7GsrUwSDKNBMogjaM7wYkwfPhoMswjlmfF09JLjZfFlIjB03NkghGOxLbr3VCQHIY0lMaV9UBvt7ZwTpJKzlz+mulBysfvAmDfcnvdJ/6CZre4qnQJsTZaiXdEgASwPIc5jOExBguerrtYSWVC/oPjSi7KZM8PfhP/SPXupyLi8hwYxeqomqkeG7AQhD+3487ecerZJcpJSOSsf0I1OaMpmQEE/b7ehnvTV/A4nLhxIjP4msyIBW+dVwHNFRFlpJLBHUJvN99b4run6YmqBSf4y9TyNMfOr+FtfxedGE0HfJMBd4FHXmUFyW5y91jAHMWqwNxDgacaKkFCAMaqce5rm0ShOxXn1uwDUAS3jeRP26Pynihq8fw5DQwlqOpo7vvXtqb5jjiCmqfOe6un5xeIdhhbzWddhEk1Vmtg7I817pM4MZjVaeQN02drPs8QgDxihnP6ZooGhd6FCBP2X3Ymdlj5zMlbVHxmSkA4wcNtg4IAYAQ==" }, { "type": "tool_use", "id": "toolu_bdrk_01U7emCvL5v5z5GT7PDr2vzc", "name": "get_weather", "input": { "location": "Paris" } } ] }, { "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_bdrk_01U7emCvL5v5z5GT7PDr2vzc", "content": "Current temperature: 88°F" } ] } ], "context_management": { "edits": [ { "type": "clear_thinking_20251015", "keep": { "type": "thinking_turns", "value": 1 } } ] } }
Response
{ "model": "claude-haiku-4-5-20251001", "id": "msg_bdrk_01KyTbyFbdG2kzPwWMJY1kum", "type": "message", "role": "assistant", "content": [ { "type": "text", "text": "The current weather in Paris is **88°F** (approximately 31°C). It's quite warm! If you need more detailed information like humidity, wind conditions, or a forecast, please let me know." } ], "stop_reason": "end_turn", "stop_sequence": null, "usage": { "input_tokens": 736, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "cache_creation": { "ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 0 }, "output_tokens": 47 }, "context_management": { "applied_edits": [...] } }

Pemikiran yang diperluas dengan caching cepat

Caching cepat dengan pemikiran memiliki beberapa pertimbangan penting:

Penghapusan konteks blok berpikir

  • Blok berpikir dari putaran sebelumnya dihapus dari konteks, yang dapat memengaruhi breakpoint cache.

  • Saat melanjutkan percakapan dengan penggunaan alat, blok berpikir di-cache dan dihitung sebagai token input saat dibaca dari cache. Ini menciptakan pertukaran di mana blok berpikir tidak menggunakan ruang jendela konteks secara visual, tetapi mereka masih akan diperhitungkan dalam penggunaan token input Anda saat di-cache.

  • Jika pemikiran menjadi dinonaktifkan, permintaan akan gagal jika Anda meneruskan konten berpikir dalam giliran penggunaan alat saat ini. Dalam konteks lain, konten berpikir yang diteruskan ke API diabaikan begitu saja.

Pola pembatalan cache

  • Perubahan pada parameter pemikiran (seperti mengaktifkan, menonaktifkan, atau mengubah alokasi anggaran) membatalkan breakpoint cache pesan.

  • Pemikiran yang terjalin (beta)memperkuat pembatalan cache, karena blok pemikiran dapat terjadi di antara beberapa panggilan alat.

  • Perintah dan alat sistem tetap di-cache meskipun memikirkan perubahan parameter atau penghapusan blok.

catatan

Sementara blok berpikir dihapus untuk caching dan perhitungan konteks, blok tersebut harus dipertahankan saat melanjutkan percakapan dengan penggunaan alat, terutama dengan pemikiran yang terjalin.

Memahami perilaku caching blok berpikir

Saat menggunakan pemikiran yang diperluas dengan penggunaan alat, blok berpikir menunjukkan perilaku caching spesifik yang memengaruhi penghitungan token. Urutan berikut menunjukkan cara kerjanya.

  1. Caching hanya terjadi ketika Anda membuat permintaan berikutnya yang menyertakan hasil alat.

  2. Ketika permintaan berikutnya dibuat, riwayat percakapan sebelumnya (termasuk blok pemikiran) dapat di-cache.

  3. Blok pemikiran yang di-cache ini dihitung sebagai token input dalam metrik penggunaan Anda saat dibaca dari cache.

  4. Ketika blok pengguna non-hasil alat disertakan, semua blok pemikiran sebelumnya diabaikan dan dilucuti dari konteks.

Berikut adalah contoh alur terperinci:

Permintaan 1:

User: "What's the weather in Paris?"

Tanggapan 1:

[thinking_block 1] + [tool_use block 1]

Permintaan 2:

User: "What's the weather in Paris?", Assistant: [thinking_block_1] + [tool_use block 1], User: [tool_result_1, cache=True]

Tanggapan 2:

[thinking_block 2] + [text block 2]

Permintaan 2 menulis cache konten permintaan (bukan respons). Cache mencakup pesan pengguna asli, blok pemikiran pertama, blok penggunaan alat, dan hasil alat.

Permintaan 3:

User: ["What's the weather in 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-hasil alat disertakan, semua blok pemikiran sebelumnya diabaikan. Permintaan ini akan diproses sama dengan permintaan berikut:

Minta 3 Alternatif:

User: ["What's the weather in Paris?"] Assistant: [tool_use block 1] User: [tool_result_1, cache=True] Assistant: [text block 2] User: [Text response, cache=True]

Perilaku ini konsisten baik menggunakan pemikiran reguler atau pemikiran yang saling terkait.

Token maksimum dan ukuran jendela konteks dengan pemikiran yang diperluas

Pada Claude model lama (sebelumnyaClaude 3.7 Sonnet), jika jumlah token prompt dan max_tokens melebihi jendela konteks model, sistem akan secara otomatis menyesuaikan max_tokens agar sesuai dengan batas konteks. Ini berarti Anda dapat menetapkan nilai max_tokens yang besar dan sistem akan diam-diam menguranginya sesuai kebutuhan. Dengan model Claude 3.7 dan 4, max_tokens (yang mencakup anggaran pemikiran Anda saat berpikir diaktifkan) diberlakukan sebagai batas yang ketat. Sistem sekarang mengembalikan kesalahan validasi jika token prompt + max_tokens melebihi ukuran jendela konteks.

Jendela konteks dengan pemikiran yang diperluas

Saat menghitung penggunaan jendela konteks dengan pemikiran diaktifkan, ada beberapa pertimbangan yang perlu diperhatikan:

  • Blok berpikir dari belokan sebelumnya dihapus dan tidak dihitung ke jendela konteks Anda.

  • Pemikiran belokan saat ini diperhitungkan terhadap max_tokens batas Anda untuk giliran itu.

Jendela konteks efektif dihitung sebagai: jendela konteks = (token input saat ini - token pemikiran sebelumnya) + (token berpikir + token pemikiran terenkripsi + token keluaran teks).

Mengelola token dengan pemikiran yang diperluas dan penggunaan alat

Saat menggunakan pemikiran yang diperluas dengan penggunaan alat, blok berpikir harus secara eksplisit dipertahankan dan dikembalikan dengan hasil alat. Perhitungan jendela konteks yang efektif untuk pemikiran yang diperluas dengan penggunaan alat menjadi sebagai berikut:

context window = (current input tokens + previous thinking tokens + tool use tokens) + (thinking tokens + encrypted thinking tokens + text output tokens)

Mengelola token dengan pemikiran yang diperluas

Mengingat jendela konteks dan max_tokens perilaku dengan model pemikiran Claude yang diperluas 3.7 dan 4, Anda mungkin perlu melakukan salah satu tindakan berikut:

  • Lebih aktif memantau dan mengelola penggunaan token Anda.

  • Sesuaikan max_tokens nilai saat panjang prompt Anda berubah.

  • Sadarilah bahwa blok pemikiran sebelumnya tidak menumpuk di jendela konteks Anda. Perubahan ini telah dibuat untuk memberikan perilaku yang lebih dapat diprediksi dan transparan, terutama karena batas token maksimum telah meningkat secara signifikan.

Pertimbangan biaya token pemikiran yang diperluas

Proses berpikir menimbulkan biaya untuk hal-hal berikut:

  • Token yang digunakan selama berpikir (token keluaran)

  • Blok pemikiran dari giliran asisten terakhir termasuk dalam permintaan berikutnya (token input)

  • Token keluaran teks standar

Tip

Ketika pemikiran yang diperpanjang diaktifkan, prompt sistem token 28 atau 29 khusus secara otomatis disertakan untuk mendukung fitur ini.

budget_tokensParameter menentukan jumlah maksimum token yang diizinkan untuk Claude digunakan untuk proses penalaran internalnya. Anggaran yang lebih besar dapat meningkatkan kualitas respons dengan memungkinkan analisis yang lebih menyeluruh untuk masalah yang kompleks, meskipun Claude mungkin tidak menggunakan seluruh anggaran yang dialokasikan, terutama pada kisaran di atas 32K.

Dengan pemikiran yang terjalin, budget_tokens dapat melebihi max_tokens parameter karena mewakili total anggaran di semua blok pemikiran dalam satu putaran asisten.

Saat menggunakan pemikiran ringkasan, ingatlah informasi berikut:

  • Token masukan: Token dalam permintaan awal Anda

  • Token keluaran (ditagih): Token pemikiran asli yang Claude dihasilkan secara internal

  • Token keluaran (terlihat): Token berpikir ringkasan yang Anda lihat dalam respons

  • Tanpa biaya: Token yang digunakan untuk menghasilkan ringkasan

  • Bid summary_status ang dapat menunjukkan apakah batas token mempengaruhi ringkasan

  • Jumlah token keluaran yang ditagih tidak akan cocok dengan jumlah token yang terlihat dalam respons. Anda ditagih untuk proses berpikir penuh, bukan ringkasan yang Anda lihat.