View a markdown version of this page

Pemikiran yang dilestarikan - Amazon Bedrock

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

Pemikiran yang dilestarikan

Gambaran umum

Pada Claude Fable 5.1, setiap blok pemikiran terkait dengan percakapan yang menghasilkannya. API memeriksa apakah prompt sistem, daftar alat, dan semua pesan sebelum pemblokiran tidak berubah saat Anda memutar ulang blok itu dalam permintaan selanjutnya. Ini melindungi integritas penalar Claude an: penalaran yang dihasilkan di bawah satu set instruksi tidak dapat diputar ulang di bawah set yang berbeda.

Jika harness Anda mengirimkan riwayat percakapan kembali persis seperti yang diterimanya, tidak ada yang berubah untuk Anda. Jika Anda mengedit riwayat antar permintaan — menyuntikkan pengingat per putaran, merangkum putaran lama, atau membangun kembali prompt sistem — API menolak permintaan secara default.

Apa yang diperiksa pada pemutaran ulang

Periksa Deskripsi
Model Model yang membaca blok diizinkan untuk membaca pemikiran produser. Suatu model tidak dapat membaca pemikiran model lain kecuali keduanya secara eksplisit kompatibel. Pemeriksaan ini berlaku pada model yang mampu berpikir apa pun.
Awalan percakapan Prompt sistem tingkat atas, alat, dan semua konten pesan sebelum blok tidak berubah dari permintaan yang menghasilkannya. Claude Fable 5.1 menjalankan pemeriksaan ini. Claude Mythos 5.1 merekam tanda tangan yang sama tetapi tidak menjalankannya.
catatan

Blok berpikir yang tanda tangannya telah diubah atau tidak dapat didekripsi selalu mengembalikan 400, terlepas dari pemeriksaan ini atau nilai beta.

Objek permintaan block_binding (beta)

Tambahkan block_binding ke thinking objek dan sertakan nilai beta anthropic_beta untuk mengontrol apa yang terjadi ketika ketidakcocokan awalan terdeteksi:

{ "anthropic_version": "bedrock-2023-05-31", "anthropic_beta": ["thinking-binding-controls-2026-08-01"], "max_tokens": 16000, "thinking": { "type": "adaptive", "block_binding": { "mismatch_behavior": "drop_block" } }, "messages": [{ "role": "user", "content": "Your prompt here" }] }

block_bindingmenerima satu bidang,mismatch_behavior, yang mengontrol apa yang dilakukan API dengan blok berpikir yang gagal dalam pemeriksaan awalan percakapan. Dikirim tanpa nilai beta, block_binding mengembalikan 400. Nilai yang salah format juga mengembalikan 400 penamaan bidang.

Mengontrol perilaku ketidakcocokan

Nilai Perilaku pada pemeriksaan yang gagal
"error" (default) Permintaan gagal dengan 400 invalid_request_error penamaan blok yang gagal. Tidak dapat dicoba ulang; dikembalikan sebelum acara streaming apa pun.
"drop_block" Permintaan berhasil dengan 200. Blok yang gagal dihapus sebelum model, bersama dengan setiap blok pemikiran selanjutnya dalam percakapan, dan setiap blok yang dihapus terdaftar diinput_transformations.

Tidak ada nilai yang mengubah pemeriksaan model, yang selalu turun.

Array respons input_

Ketika nilai beta dikirim, respons mungkin menyertakan input_transformations array tingkat atas yang menjelaskan blok apa pun yang telah dihapus:

{ "type": "message", "role": "assistant", "content": [ ... ], "stop_reason": "end_turn", "usage": {"input_tokens": 18234, "output_tokens": 911}, "input_transformations": [ {"type": "thinking_dropped", "path": "messages.3.content.0", "reason": "prefix_binding_mismatch"} ] }

Ini adalah array tingkat atas (saudara kandung dariusage), hanya hadir dengan nilai beta; [] ketika tidak ada blok yang dihapus dan tidak ada sebaliknya. Setiap entri berisi pen path gidentifikasi blok yang dihapus dan reason — salah satu dari model_binding_mismatch atauprefix_binding_mismatch. Dalam respon streaming, array muncul di dalam objek pesan di dalam message_start acara. Blok yang dihapus tidak dihitunginput_tokens.

Tanggapan kesalahan

mismatch_behaviorKapan"error", ketidakcocokan awalan mengembalikan:

{ "type": "error", "error": { "type": "invalid_request_error", "message": "messages.3.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.mismatch_behavior` to \"drop_block\"." } }

Kesalahan ini permanen untuk permintaan itu — loop coba ulang otomatis tidak akan menghapusnya. Saat Anda menangkapnya, hapus semua blok pemikiran dari riwayat dan coba lagi, atau coba lagi dengan mismatch_behavior: "drop_block" header beta.

Panduan untuk aplikasi multi-putaran dan agen

  • Putar ulang putaran asisten persis seperti yang dikembalikan, dan jaga agar sistem prompt dan alat tetap stabil dalam percakapan.

  • Hindari konten satu kali yang disuntikkan ke giliran sebelumnya (misalnya, pesan sistem sementara atau teks pengingat ditambahkan ke giliran pengguna terakhir). Ini mengubah awalan percakapan dan membatalkan blok pemikiran selanjutnya. Gunakan pesan sistem pertengahan percakapan sebagai gantinya.

  • Jika aplikasi Anda menulis ulang riwayat percakapan, lepaskan blok pemikiran dari titik yang ditulis ulang dan seterusnya, atau setel ke. mismatch_behavior "drop_block"

  • Saat menggunakan API Converse dengan model yang mendukungnya, berikan nilai beta dan selesaikanthinking.block_binding. additionalModelRequestFields