

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

# Pemikiran yang dilestarikan
<a name="claude-messages-thinking-block-binding"></a>

## Gambaran umum
<a name="claude-messages-thinking-block-binding-overview"></a>

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)
<a name="claude-messages-thinking-block-binding-request-object"></a>

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_binding`menerima 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
<a name="claude-messages-thinking-block-binding-mismatch-behavior"></a>


| **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\_
<a name="claude-messages-thinking-block-binding-input-transformations"></a>

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 dari`usage`), 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` atau`prefix_binding_mismatch`. Dalam respon streaming, array muncul di dalam objek pesan di dalam `message_start` acara. Blok yang dihapus tidak dihitung`input_tokens`.

## Tanggapan kesalahan
<a name="claude-messages-thinking-block-binding-error-responses"></a>

`mismatch_behavior`Kapan`"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
<a name="claude-messages-thinking-block-binding-guidance"></a>
+ 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 selesaikan`thinking.block_binding`. `additionalModelRequestFields`