{"slug": "claude-fable-5-1-pemikiran-terpelihara-memperbaiki-the-block-is-bound-to-a", "title": "Claude Fable 5.1 Pemikiran Terpelihara: Memperbaiki The Block Is Bound to a Different Conversation", "summary": "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.", "body_md": "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.\n\nPemeriksaan ini dijelaskan dalam dokumentasi [pemikiran yang disimpan](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) dan [Apa yang baru di Claude Fable 5.1](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1). Ini merupakan perubahan merusak ketiga dari tiga perubahan pada Fable 5.1. Untuk dua perubahan lainnya, baca [panduan migrasi](https://apidog.com/id/blog/claude-fable-5-1-migration?utm_source=dev.to&utm_medium=wanda&utm_content=n8n-post-automation).\n\n```\nmessages.5.content.0: `signature` tidak valid di blok `thinking`.\nBlok terikat pada percakapan yang berbeda.\nHapus blok, atau atur `thinking.block_binding.prefix_mismatch_behavior`\nke \"drop_block\".\nPengaturan tersebut memerlukan nilai\n`thinking-binding-controls-2026-08-01` di header `anthropic-beta`.\n```\n\nIni adalah `invalid_request_error`\n\n400 yang terjadi sebelum model menghasilkan output. Mengirim ulang badan permintaan yang sama akan gagal dengan cara yang sama.\n\nPath seperti `messages.5.content.0`\n\nmenunjukkan blok pemikiran pertama yang tidak lagi cocok. Pesan error juga dapat menyebut pesan pertama yang berubah—itulah petunjuk diagnosis utama.\n\nKegagalan 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`\n\ntidak berlaku.\n\nSetiap blok pemikiran Fable 5.1 memiliki tanda tangan yang mencatat:\n\nSaat transkrip dikirim kembali, API membandingkan prefiks tersebut secara byte-per-byte dengan prefiks yang menghasilkan blok.\n\nAnthropic menyebut dua alasan utama:\n\nPemeriksaan diberlakukan pada akun yang dibuat pada atau setelah **31 Agustus 2026**, termasuk:\n\nAkun yang dibuat sebelum tanggal tersebut mencatat ketidakcocokan, tetapi hanya menolaknya jika permintaan mengatur `thinking.block_binding.prefix_mismatch_behavior`\n\n, termasuk nilai `\"error\"`\n\n.\n\nAnthropic menyatakan bahwa model mendatang akan memberlakukan pemeriksaan ini untuk semua akun.\n\nPemeriksaan ini tidak berlaku pada:\n\nLayanan tersebut menjaga prefiks percakapan tetap utuh. Claude Mythos 5.1 juga tidak menjalankan pemeriksaan ini, meskipun pengeditan riwayat tetap memulai ulang cache prompt.\n\nKode apa pun yang membangun sendiri array `messages`\n\ndapat terdampak, termasuk:\n\nJika 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.\n\nUntuk memeriksa apakah akun Anda sudah diberlakukan, kirim permintaan yang mengedit riwayat tanpa header beta. Error 400 yang meminta header tersebut berarti pemeriksaan sudah aktif.\n\nBlok berikutnya menjadi tidak valid jika Anda:\n\nPola berikut mempertahankan validitas blok:\n\n`role: \"system\"`\n\ntanpa mengubah pesan sebelumnya.`system`\n\n, `tools`\n\n, dan `messages`\n\n, termasuk:\n`max_tokens`\n\n`output_config`\n\n`effort`\n\n`tool_choice`\n\n`metadata`\n\n`cache_control`\n\n.Pemeriksaan membandingkan percakapan yang Anda kirim, bukan salinan yang diedit oleh server. Setelah pemadatan sisi server, prefiks pemeriksaan dimulai dari blok pemadatan.\n\n`drop_block`\n\nKirim header beta berikut dan atur perilakunya secara eksplisit:\n\n```\nresponse = client.beta.messages.create(\n    model=\"claude-fable-5-1\",\n    max_tokens=16000,\n    thinking={\n        \"type\": \"adaptive\",\n        \"block_binding\": {\n            \"prefix_mismatch_behavior\": \"drop_block\"\n        }\n    },\n    betas=[\"thinking-binding-controls-2026-08-01\"],\n    messages=history,\n)\n\nfor t in response.input_transformations or []:\n    print(t.type, t.path, t.reason)\n```\n\nDengan `\"drop_block\"`\n\n, API akan menghapus blok pertama yang tidak cocok beserta blok pemikiran setelahnya. Permintaan tetap dilanjutkan, dan setiap penghapusan dilaporkan melalui `input_transformations`\n\ntingkat atas:\n\n```\n{\n  \"input_transformations\": [\n    {\n      \"type\": \"thinking_dropped\",\n      \"path\": \"messages.1.content.0\",\n      \"reason\": \"prefix_binding_mismatch\"\n    }\n  ]\n}\n```\n\nPerhatikan tiga hal:\n\n`drop_block`\n\n—sehingga tetap lebih aman untuk mengatur field secara eksplisit.`block_binding`\n\ntanpa header beta menghasilkan error:\n\n```\nblock_binding: Extra inputs are not permitted\n```\n\nField `reason`\n\nmembedakan dua kondisi:\n\n`prefix_binding_mismatch`\n\n: riwayat percakapan berubah.`model_binding_mismatch`\n\n: 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`\n\n. Array kosong berarti tidak ada blok yang dihapus.\n\nGunakan `drop_block`\n\nsebagai 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.\n\nPada platform yang belum menyediakan kontrol ini—Microsoft Foundry saat peluncuran, sementara Bedrock dan Google Cloud menambahkannya berdasarkan model—hapus semua blok berikut dari riwayat:\n\n`thinking`\n\n`redacted_thinking`\n\nPertahankan blok:\n\n`text`\n\n`tool_use`\n\nLalu coba permintaan sekali lagi. Model akan menjawab tanpa penalaran yang dibawa dari blok sebelumnya. Ini adalah prosedur pemulihan satu kali, bukan pola implementasi produksi.\n\nLakukan audit sebelum mengalihkan trafik ke Fable 5.1.\n\nAmbil badan permintaan persis selama beberapa giliran normal, termasuk pemadatan atau perubahan tools. Untuk setiap dua permintaan berurutan, bandingkan:\n\n`messages`\n\n.Semua harus identik secara byte hingga giliran baru ditambahkan.\n\nJalankan sesi multi-giliran menggunakan:\n\n```\nmodel: claude-fable-5-1\nthinking.block_binding.prefix_mismatch_behavior: drop_block\n```\n\nCatat `input_transformations`\n\npada setiap respons:\n\n`prefix_binding_mismatch`\n\nberarti sesuatu sebelum blok pada path tersebut berubah.Di CI, gunakan `\"error\"`\n\nagar perubahan riwayat langsung menyebabkan kegagalan.\n\nAtur field secara eksplisit di bawah header beta:\n\n`\"error\"`\n\njika ketidakcocokan selalu berarti bug.`\"drop_block\"`\n\njika Anda lebih memilih penurunan kualitas daripada kegagalan permintaan.Pantau error 400 dan entri `input_transformations`\n\n, termasuk pada akun lama yang mungkin hanya mencatat ketidakcocokan tanpa menolaknya.\n\nDi [Apidog](https://apidog.com/?utm_source=dev.to&utm_medium=wanda&utm_content=n8n-post-automation), buat tes dua permintaan:\n\n`drop_block`\n\n.`input_transformations`\n\nberisi penghapusan.Simpan tes dalam koleksi agar setiap perubahan pada pemandu dapat diuji ulang. Anda juga dapat [mengunduh Apidog](https://apidog.com/download?utm_source=dev.to&utm_medium=wanda&utm_content=n8n-post-automation).\n\n| Pola yang bermasalah | Gunakan pola ini |\n|---|---|\n| 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. |\n| Mengedit array tools di tengah sesi | Deklarasikan seluruh tool sejak awal dengan `defer_loading: 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` . |\n| 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. |\n| Menghapus hasil tool lama di sisi klien | Gunakan pengeditan konteks sisi server dengan penghapusan hasil tool. |\n| Melakukan pemadatan di sisi klien | Gunakan\n`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. |\n\n`file_id`\n\n, atau kirim data dalam base64.Dua pola pemadatan sisi klien berikut tetap rusak:\n\nKeduanya mengubah prefiks yang digunakan untuk menghasilkan blok pemikiran. Memotong giliran dari tengah transkrip juga membatalkan semua blok setelahnya.\n\nGunakan pesan system tengah-percakapan untuk perubahan instruksi dan pengeditan konteks sisi server untuk penghapusan selektif.\n\nPembacaan 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.\n\nSemua perubahan yang membatalkan binding pada tabel sebelumnya juga memulai ulang cache prompt.\n\nFable 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:\n\nLihat:\n\nBlok 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.\n\nAkun yang dibuat pada atau setelah 31 Agustus 2026 di setiap platform. Akun lama hanya memberlakukannya jika `thinking.block_binding.prefix_mismatch_behavior`\n\ndiatur. Anthropic berencana menerapkannya pada semua akun untuk model mendatang.\n\nKirim header beta `thinking-binding-controls-2026-08-01`\n\ndan atur:\n\n```\nprefix_mismatch_behavior: \"drop_block\"\n```\n\nAPI akan menghapus blok yang terdampak dan melanjutkan permintaan. Setelah itu, perbaiki kode yang mengedit riwayat agar penalaran dan cache tidak hilang pada setiap giliran.\n\n`effort`\n\natau `max_tokens`\n\nmembatalkan blok pemikiran?\nTidak. Parameter di luar `system`\n\n, `tools`\n\n, dan `messages`\n\ndapat berubah dengan bebas, begitu pula penanda `cache_control`\n\n.\n\nTidak. Pemeriksaan membandingkan percakapan sebelum pemadatan dan pengeditan konteks sisi server dilakukan. Pemadatan sisi klien yang mempertahankan giliran terbaru tetap membatalkan binding.\n\nTidak. Mythos 5.1 tidak menjalankan pemeriksaan percakapan. Namun, blok pemikiran tetap terikat pada model yang memproduksinya, dan pengeditan riwayat tetap memulai ulang cache prompt.", "url": "https://wpnews.pro/news/claude-fable-5-1-pemikiran-terpelihara-memperbaiki-the-block-is-bound-to-a", "canonical_source": "https://dev.to/walse/claude-fable-51-pemikiran-terpelihara-memperbaiki-the-block-is-bound-to-a-different-conversation-4lp9", "published_at": "2026-09-02 04:47:14+00:00", "updated_at": "2026-09-02 04:52:23.989564+00:00", "lang": "en", "topics": ["large-language-models", "developer-tools", "ai-products"], "entities": ["Anthropic", "Claude Fable 5.1", "Claude Mythos 5.1"], "alternates": {"html": "https://wpnews.pro/news/claude-fable-5-1-pemikiran-terpelihara-memperbaiki-the-block-is-bound-to-a", "markdown": "https://wpnews.pro/news/claude-fable-5-1-pemikiran-terpelihara-memperbaiki-the-block-is-bound-to-a.md", "text": "https://wpnews.pro/news/claude-fable-5-1-pemikiran-terpelihara-memperbaiki-the-block-is-bound-to-a.txt", "jsonld": "https://wpnews.pro/news/claude-fable-5-1-pemikiran-terpelihara-memperbaiki-the-block-is-bound-to-a.jsonld"}}