Enkripsi berpikir - Amazon Bedrock

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

  • thinkingdan redacted_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"}