Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Enkripsi berpikir
Konten berpikir penuh dienkripsi dan dikembalikan di bidang tanda tangan. Bidang ini digunakan untuk memverifikasi bahwa blok pemikiran dihasilkan Claude ketika diteruskan kembali ke API. Saat streaming tanggapan, tanda tangan ditambahkan melalui content_block_delta
acara signature_delta
di dalam sebelum content_block_stop
acara.
catatan
Anda hanya perlu mengirim kembali blok pemikiran saat menggunakan alat dengan pemikiran yang diperluas. Jika tidak, Anda dapat menghilangkan blok berpikir dari belokan sebelumnya, atau membiarkan API menghapusnya untuk Anda jika Anda meneruskannya kembali.
Jika mengirim kembali blok pemikiran, kami sarankan untuk meneruskan semuanya kembali saat Anda menerimanya untuk konsistensi dan untuk menghindari potensi masalah.
Redaksi berpikir dalam Claude 3.7 Soneta
catatan
Informasi berikut berlaku khusus untukClaude 3.7 Sonnet. Claude4 model menangani pemikiran secara berbeda dan tidak menghasilkan blok berpikir yang disunting.
DalamClaude 3.7 Sonnet, berikut ini berlaku:
-
Terkadang Claude alasan internal akan ditandai oleh sistem keselamatan kita. Ketika ini terjadi, kami mengenkripsi beberapa atau semua blok pemikiran dan mengembalikannya kepada Anda sebagai blok redacted_thinking. blok redacted_thinking didekripsi ketika diteruskan kembali ke API, memungkinkan untuk melanjutkan responsnya tanpa kehilangan konteks. Claude
-
thinking
danredacted_thinking
blok dikembalikan sebelum teks diblokir dalam respons.
Saat membangun aplikasi yang menghadap pelanggan yang menggunakan pemikiran yang diperluasClaude 3.7 Sonnet, pertimbangkan hal berikut:
-
Ketahuilah bahwa blok pemikiran yang disunting berisi konten terenkripsi yang tidak dapat dibaca manusia.
-
Pertimbangkan untuk memberikan penjelasan sederhana seperti: “Beberapa alasan internal telah dienkripsi secara otomatis untuk alasan keamanan. Claude Ini tidak mempengaruhi kualitas tanggapan.”
-
Jika Anda menampilkan blok pemikiran kepada pengguna, Anda dapat menyaring blok yang disunting sambil mempertahankan blok berpikir normal.
-
Bersikaplah transparan bahwa menggunakan fitur pemikiran yang diperluas kadang-kadang dapat menghasilkan beberapa alasan yang dienkripsi.
-
Terapkan penanganan kesalahan yang sesuai untuk mengelola pemikiran yang disunting dengan anggun tanpa merusak UI Anda.
Berikut adalah contoh yang menunjukkan blok berpikir normal dan yang disunting:
{ "content": [ { "type": "thinking", "thinking": "Let me analyze this step by step...", "signature":"WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...." }, { "type": "redacted_thinking", "data":"EmwKAhgBEgy3va3pzix/LafPsn4aDFIT2Xlxh0L5L8rLVyIwxtE3rAFBa8cr3qpP..." }, { "type": "text", "text": "Based on my analysis..." } ] }
Tip
Melihat blok berpikir yang disunting dalam output Anda adalah perilaku yang diharapkan. Model ini masih dapat menggunakan alasan yang disunting ini untuk menginformasikan tanggapannya sambil mempertahankan pagar pengaman.
Jika Anda perlu menguji penanganan pemikiran yang disunting dalam aplikasi Anda, Anda dapat menggunakan string pengujian khusus ini sebagai prompt Anda: ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB
Saat meneruskan thinking
dan redacted_thinking
memblokir kembali ke API dalam percakapan multi-putaran, Anda harus menyertakan blok lengkap yang tidak dimodifikasi kembali ke API untuk giliran asisten terakhir. Ini sangat penting untuk mempertahankan aliran penalaran model. Kami menyarankan untuk selalu mengembalikan semua blok pemikiran ke API. Untuk detail selengkapnya, lihat Pemikiran yang diperluas dengan penggunaan alat.
Contoh berikut menggunakan InvokeModelWithResponseStreamAPI untuk mendemonstrasikan struktur permintaan dan respons saat menggunakan token pemikiran dengan redaksi.
Saat streaming diaktifkan, Anda akan menerima konten pemikiran dari peristiwa thinking_delta. Berikut cara menangani streaming dengan berpikir:
Permintaan
{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 24000, "thinking": { "type": "enabled", "budget_tokens": 16000 }, "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"}