cd /news/large-language-models/claude-fable-5-1-pemikiran-terpeliha… · home topics large-language-models article
[ARTICLE · art-118590] src=dev.to ↗ pub= topic=large-language-models verified=true sentiment=· neutral

Claude Fable 5.1 Pemikiran Terpelihara: Memperbaiki The Block Is Bound to a Different Conversation

Claude Fable 5.1 introduces a breaking change that rejects thinking blocks bound to a different conversation, causing a 400 error for developers who modify message history between requests. The check is enforced for accounts created on or after August 31, 2026, and Anthropic plans to enforce it for all accounts in future models. Developers can opt out by setting the prefix_mismatch_behavior to 'drop_block' with the appropriate beta header.

read6 min views1 publishedSep 2, 2026

Jika Anda memindahkan pemandu agen ke Claude Fable 5.1 lalu menerima error 400 yang menyatakan bahwa blok pemikiran “terikat pada percakapan yang berbeda”, kode Anda kemungkinan mengubah riwayat percakapan antarpermintaan. Fable 5.1 adalah model Claude pertama yang menolak pola tersebut. Panduan ini menjelaskan penyebabnya, siapa yang terdampak, solusi cepat, dan pola riwayat hanya-tambah yang menjaga penalaran serta cache prompt tetap utuh.

Pemeriksaan ini dijelaskan dalam dokumentasi pemikiran yang disimpan dan Apa yang baru di Claude Fable 5.1. Ini merupakan perubahan merusak ketiga dari tiga perubahan pada Fable 5.1. Untuk dua perubahan lainnya, baca panduan migrasi.

messages.5.content.0: `signature` tidak valid di blok `thinking`.
Blok terikat pada percakapan yang berbeda.
Hapus blok, atau atur `thinking.block_binding.prefix_mismatch_behavior`
ke "drop_block".
Pengaturan tersebut memerlukan nilai
`thinking-binding-controls-2026-08-01` di header `anthropic-beta`.

Ini adalah invalid_request_error

400 yang terjadi sebelum model menghasilkan output. Mengirim ulang badan permintaan yang sama akan gagal dengan cara yang sama.

Path seperti messages.5.content.0

menunjukkan blok pemikiran pertama yang tidak lagi cocok. Pesan error juga dapat menyebut pesan pertama yang berubah—itulah petunjuk diagnosis utama.

Kegagalan yang tampak serupa tetapi berbeda tidak menyebut “terikat pada percakapan yang berbeda”. Dalam kasus tersebut, tanda tangan mungkin rusak atau tidak dapat didekripsi, sehingga prefix_mismatch_behavior

tidak berlaku.

Setiap blok pemikiran Fable 5.1 memiliki tanda tangan yang mencatat:

Saat transkrip dikirim kembali, API membandingkan prefiks tersebut secara byte-per-byte dengan prefiks yang menghasilkan blok.

Anthropic menyebut dua alasan utama:

Pemeriksaan diberlakukan pada akun yang dibuat pada atau setelah 31 Agustus 2026, termasuk:

Akun yang dibuat sebelum tanggal tersebut mencatat ketidakcocokan, tetapi hanya menolaknya jika permintaan mengatur thinking.block_binding.prefix_mismatch_behavior

, termasuk nilai "error"

.

Anthropic menyatakan bahwa model mendatang akan memberlakukan pemeriksaan ini untuk semua akun.

Pemeriksaan ini tidak berlaku pada:

Layanan tersebut menjaga prefiks percakapan tetap utuh. Claude Mythos 5.1 juga tidak menjalankan pemeriksaan ini, meskipun pengeditan riwayat tetap memulai ulang cache prompt.

Kode apa pun yang membangun sendiri array messages

dapat terdampak, termasuk:

Jika Anda membuat alat yang menggunakan API key milik pengguna, akun mereka mungkin lebih baru dan sudah diberlakukan meskipun akun Anda belum. Uji dengan field binding yang diatur secara eksplisit.

Untuk memeriksa apakah akun Anda sudah diberlakukan, kirim permintaan yang mengedit riwayat tanpa header beta. Error 400 yang meminta header tersebut berarti pemeriksaan sudah aktif.

Blok berikutnya menjadi tidak valid jika Anda:

Pola berikut mempertahankan validitas blok:

role: "system"

tanpa mengubah pesan sebelumnya.system

, tools

, dan messages

, termasuk: max_tokens

output_config

effort

tool_choice

metadata

cache_control

.Pemeriksaan membandingkan percakapan yang Anda kirim, bukan salinan yang diedit oleh server. Setelah pemadatan sisi server, prefiks pemeriksaan dimulai dari blok pemadatan.

drop_block

Kirim header beta berikut dan atur perilakunya secara eksplisit:

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    thinking={
        "type": "adaptive",
        "block_binding": {
            "prefix_mismatch_behavior": "drop_block"
        }
    },
    betas=["thinking-binding-controls-2026-08-01"],
    messages=history,
)

for t in response.input_transformations or []:
    print(t.type, t.path, t.reason)

Dengan "drop_block"

, API akan menghapus blok pertama yang tidak cocok beserta blok pemikiran setelahnya. Permintaan tetap dilanjutkan, dan setiap penghapusan dilaporkan melalui input_transformations

tingkat atas:

{
  "input_transformations": [
    {
      "type": "thinking_dropped",
      "path": "messages.1.content.0",
      "reason": "prefix_binding_mismatch"
    }
  ]
}

Perhatikan tiga hal:

drop_block

—sehingga tetap lebih aman untuk mengatur field secara eksplisit.block_binding

tanpa header beta menghasilkan error:

block_binding: Extra inputs are not permitted

Field reason

membedakan dua kondisi:

prefix_binding_mismatch

: riwayat percakapan berubah.model_binding_mismatch

: percakapan berpindah model, misalnya karena router, retry, atau fallback. Ini bukan bug pada kode riwayat Anda.Dengan header tersebut, setiap respons memiliki array input_transformations

. Array kosong berarti tidak ada blok yang dihapus.

Gunakan drop_block

sebagai diagnostik dan jaring pengaman, bukan sebagai pola permanen. Jika riwayat dibatalkan pada setiap permintaan, penalaran model hilang di setiap giliran dan cache prompt dimulai ulang, sehingga biaya per tugas meningkat.

Pada platform yang belum menyediakan kontrol ini—Microsoft Foundry saat peluncuran, sementara Bedrock dan Google Cloud menambahkannya berdasarkan model—hapus semua blok berikut dari riwayat:

thinking

redacted_thinking

Pertahankan blok:

text

tool_use

Lalu coba permintaan sekali lagi. Model akan menjawab tanpa penalaran yang dibawa dari blok sebelumnya. Ini adalah prosedur pemulihan satu kali, bukan pola implementasi produksi.

Lakukan audit sebelum mengalihkan trafik ke Fable 5.1.

Ambil badan permintaan persis selama beberapa giliran normal, termasuk pemadatan atau perubahan tools. Untuk setiap dua permintaan berurutan, bandingkan:

messages

.Semua harus identik secara byte hingga giliran baru ditambahkan.

Jalankan sesi multi-giliran menggunakan:

model: claude-fable-5-1
thinking.block_binding.prefix_mismatch_behavior: drop_block

Catat input_transformations

pada setiap respons:

prefix_binding_mismatch

berarti sesuatu sebelum blok pada path tersebut berubah.Di CI, gunakan "error"

agar perubahan riwayat langsung menyebabkan kegagalan.

Atur field secara eksplisit di bawah header beta:

"error"

jika ketidakcocokan selalu berarti bug."drop_block"

jika Anda lebih memilih penurunan kualitas daripada kegagalan permintaan.Pantau error 400 dan entri input_transformations

, termasuk pada akun lama yang mungkin hanya mencatat ketidakcocokan tanpa menolaknya.

Di Apidog, buat tes dua permintaan:

drop_block

.input_transformations

berisi penghapusan.Simpan tes dalam koleksi agar setiap perubahan pada pemandu dapat diuji ulang. Anda juga dapat mengunduh Apidog.

Pola yang bermasalah Gunakan pola ini
Mengedit system prompt di tengah sesi, misalnya tanggal atau mode baru Bekukan system prompt di awal. Saat instruksi berubah, tambahkan {"role": "system", "content": "The current date is 2026-09-14."} sebagai pesan system tengah-percakapan. Pesan tersebut menjadi bagian dari prefiks berikutnya.
Mengedit array tools di tengah sesi Deklarasikan seluruh tool sejak awal dengan defer_: true untuk tool yang awalnya tersembunyi. Gunakan blok tool_addition dan tool_removal dalam pesan role: "system" dengan beta mid-conversation-tool-changes-2026-07-01 .
Menambahkan pengingat per giliran lalu menghapusnya Gunakan pesan system cakupan giliran: {"role": "system", "clear_at": "next_user_message", "content": "..."} dengan beta mid-conversation-system-clear-at-2026-08-21 . Biarkan salinan sebelumnya tetap berada di riwayat.
Menghapus hasil tool lama di sisi klien Gunakan pengeditan konteks sisi server dengan penghapusan hasil tool.
Melakukan pemadatan di sisi klien Gunakan
compact-2026-01-12 . Parameter instructions dapat berisi prompt ringkasan Anda sendiri. Jika tetap menggunakan sisi klien, ganti seluruh riwayat dengan satu ringkasan dan giliran pengguna baru—jangan memutar ulang bagian lama.

file_id

, atau kirim data dalam base64.Dua pola pemadatan sisi klien berikut tetap rusak:

Keduanya mengubah prefiks yang digunakan untuk menghasilkan blok pemikiran. Memotong giliran dari tengah transkrip juga membatalkan semua blok setelahnya.

Gunakan pesan system tengah-percakapan untuk perubahan instruksi dan pengeditan konteks sisi server untuk penghapusan selektif.

Pembacaan cache Fable 5.1 kini hanya $0,25 per juta token. Karena itu, pemadatan terlalu dini untuk menghemat biaya mungkin tidak lagi optimal. Eksperimenkan titik pemadatan yang lebih akhir.

Semua perubahan yang membatalkan binding pada tabel sebelumnya juga memulai ulang cache prompt.

Fable 5.1 membuat cache hit empat kali lebih murah daripada Fable 5, sehingga cache miss menjadi relatif lebih mahal. Pemandu hanya-tambah mendapatkan dua keuntungan:

Lihat:

Blok pemikiran Claude Fable 5.1 diputar ulang setelah system prompt, array tools, atau pesan sebelumnya berubah. Pada akun yang diberlakukan, API menolak permintaan dengan error 400.

Akun yang dibuat pada atau setelah 31 Agustus 2026 di setiap platform. Akun lama hanya memberlakukannya jika thinking.block_binding.prefix_mismatch_behavior

diatur. Anthropic berencana menerapkannya pada semua akun untuk model mendatang.

Kirim header beta thinking-binding-controls-2026-08-01

dan atur:

prefix_mismatch_behavior: "drop_block"

API akan menghapus blok yang terdampak dan melanjutkan permintaan. Setelah itu, perbaiki kode yang mengedit riwayat agar penalaran dan cache tidak hilang pada setiap giliran.

effort

atau max_tokens

membatalkan blok pemikiran? Tidak. Parameter di luar system

, tools

, dan messages

dapat berubah dengan bebas, begitu pula penanda cache_control

.

Tidak. Pemeriksaan membandingkan percakapan sebelum pemadatan dan pengeditan konteks sisi server dilakukan. Pemadatan sisi klien yang mempertahankan giliran terbaru tetap membatalkan binding.

Tidak. Mythos 5.1 tidak menjalankan pemeriksaan percakapan. Namun, blok pemikiran tetap terikat pada model yang memproduksinya, dan pengeditan riwayat tetap memulai ulang cache prompt.

── more in #large-language-models 4 stories · sorted by recency
── more on @anthropic 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/claude-fable-5-1-pem…] indexed:0 read:6min 2026-09-02 ·