Migrasi ke Claude Fable 5.1 dari Fable 5 atau Opus 5: Semua Perubahan Krusial

Migrasi ke Claude Fable 5.1 dari Fable 5 atau Opus 5: pemilihan alat secara paksa 400, blok pemikiran satu arah, pemeriksaan pengeditan riwayat, setiap perbaikan, dan daftar periksa lengkap.

Ashley Goolam

Ashley Goolam

2 September 2026

Migrasi ke Claude Fable 5.1 dari Fable 5 atau Opus 5: Semua Perubahan Krusial

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Beralih ke Claude Fable 5.1 sebagian besar adalah pertukaran ID model. Permukaan API, batasan, harga per-token, tokenizer, pemikiran adaptif yang selalu aktif, dan penanganan penolakan semuanya cocok dengan Fable 5. Namun tiga perubahan mengembalikan kesalahan yang tidak pernah dilakukan Fable 5, dan salah satunya, pemeriksaan pengeditan riwayat, dapat secara diam-diam menurunkan kinerja agent harness yang berfungsi dengan baik selama setahun. Datang dari Opus 5 menambahkan empat item lagi.

Panduan ini adalah daftar periksa dengan teks kesalahan dan perbaikan yang tepat untuk setiap item, sesuai urutan Anda akan menemuinya, dibangun dari panduan migrasi Anthropic dan Apa yang baru di Claude Fable 5.1. Setiap cuplikan dapat ditempelkan ke Apidog dan dijalankan terhadap endpoint sebenarnya sebelum mencapai produksi. Untuk ikhtisar model, mulailah dengan apa itu Claude Fable 5.1.

Langkah 0: Konfirmasi apakah Anda harus bermigrasi sama sekali

Dokumen Anthropic menyatakan untuk memulai dengan Opus 5 dan menggunakan Fable 5.1 “untuk penalaran yang menuntut dan pekerjaan agensi jangka panjang, atau ketika evaluasi Anda pada Claude Opus 5 dengan upaya yang lebih tinggi masih kurang.” Jika Opus 5 melewati evaluasi Anda, migrasi akan menggandakan harga per-token Anda tanpa keuntungan terukur. Jika Anda menggunakan Fable 5, harganya sama dengan pembacaan cache yang lebih murah dan angka yang diklaim lebih baik, jadi pertanyaannya hanya berapa banyak pekerjaan harness yang dibutuhkan. Perbandingan Fable 5.1 vs Fable 5 dan Fable 5.1 vs Opus 5 mencakup keputusan tersebut.

Tiga pemeriksaan kelayakan terlebih dahulu:

Langkah 1: Perbarui nama model

model = "claude-fable-5"    # Sebelum
model = "claude-opus-5"     # Atau sebelum
model = "claude-fable-5-1"  # Setelah

Di Amazon Bedrock ID-nya adalah anthropic.claude-fable-5-1. Google Cloud, Microsoft Foundry, dan Claude Platform di AWS menggunakan claude-fable-5-1. Jika Anda menggunakan Claude Managed Agents, ini adalah satu-satunya perubahan yang diperlukan.

Perubahan besar 1: penggunaan alat paksa mengembalikan 400

Fable 5 menerima nilai tool_choice yaitu auto, none, any, dan tool. Fable 5.1 menolak dua yang terakhir, pada Messages API, Batches API, dan endpoint penghitung token:

tool_choice: type "tool" and "any" are not supported for this model.

Alasan Anthropic: pemikiran selalu aktif, dan panggilan paksa akan melewatkannya, sehingga model akan menulis pengerjaannya ke dalam argumen alat.

Sebelum (Fable 5):

response = client.messages.create(
    model="claude-fable-5",
    max_tokens=16000,
    tools=[record_summary_tool],
    tool_choice={"type": "tool", "name": "record_summary"},
    messages=[{"role": "user", "content": "Summarize: The meeting moved to Thursday."}],
)

Setelah (Fable 5.1): biarkan tool_choice di auto, beri nama alat dalam instruksi, dan atur strict: true (penggunaan alat yang ketat) agar argumen tetap cocok dengan skema Anda.

record_summary_tool["strict"] = True
record_summary_tool["input_schema"]["additionalProperties"] = False

response = client.messages.create(
    model="claude-fable-5-1",
    max_tokens=16000,
    tools=[record_summary_tool],
    tool_choice={"type": "auto"},
    messages=[{"role": "user", "content": "Summarize: The meeting moved to Thursday. Call the record_summary tool with your result."}],
)

Migrasi berdasarkan niat. Jika Anda memaksa alat untuk mendapatkan JSON kembali, gantilah dengan output terstruktur (`output_config.format`). Jika aplikasi memerlukan panggilan pada giliran ini, tambahkan pesan role: "system" setelah giliran pengguna terbaru yang menyebutkan alat tersebut dan menyatakan panggilan itu diperlukan, dan simpan dalam riwayat setelahnya. Jika Anda mengandalkan any untuk “tepat satu alat,” disable_parallel_tool_use: true masih berfungsi dengan auto tetapi sekarang berarti paling banyak satu panggilan. Hapus setiap loop coba lagi pada alat yang hilang; Anthropic mengatakan Fable 5.1 mengikuti instruksi alat eksplisit dengan andal. Dalam organisasi CMEK, strict: true dan output terstruktur tidak tersedia pada model Fable, jadi andalkan instruksi saja.

Perubahan besar 2: model lama tidak dapat membaca blok pemikiran Fable 5.1

Setiap blok pemikiran mencatat model yang menghasilkannya. Fable 5.1 membaca blok dari Opus 5, Fable 5, Mythos 5, dan model-model sebelumnya, sehingga percakapan yang beralih ke Fable 5.1 mempertahankan alasannya. Selain Mythos 5.1, tidak ada model lain yang dapat membaca blok Fable 5.1.

Percakapan Fable 5.1 mendarat pada model yang lebih lama melalui sakelar router, coba ulang sisi klien, atau fallback penolakan klasifikasi. Dalam setiap kasus, API akan menghapus blok yang tidak dapat dibaca oleh model tersebut sebelum melihatnya. Permintaan berhasil, token yang dihapus tidak ditagih, dan model target merencanakan ulang tanpa penalaran, yang meningkatkan biaya dan latensi pada giliran pertama setelah peralihan.

Tidak ada yang perlu diperbaiki dalam kode. Terus teruskan blok pemikiran kembali tanpa perubahan; menghapusnya sendiri dapat memicu signature 400. Untuk visibilitas, kirim header beta thinking-binding-controls-2026-08-01 dan respons akan membawa array input_transformations yang menamai setiap blok yang dihapus dengan reason: "model_binding_mismatch".

Perubahan besar 3: mengedit giliran sebelumnya membatalkan blok pemikiran

Ini adalah item yang perlu dialokasikan waktu. Blok pemikiran Fable 5.1 hanya valid terhadap prompt system, array tools, dan riwayat pesan yang persis mendahuluinya (pemikiran yang dipertahankan). Di mana pemeriksaan diberlakukan, permintaan yang memutar ulang blok setelah salah satu dari itu berubah akan ditolak:

messages.5.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block". That setting requires the `thinking-binding-controls-2026-08-01` value in the `anthropic-beta` header.

Siapa yang diberlakukan. Akun yang dibuat pada atau setelah 31 Agustus 2026. Akun lama mencatat ketidakcocokan tetapi hanya bertindak atasnya jika permintaan mengatur `thinking.block_binding.prefix_mismatch_behavior`. Anthropic mengatakan model masa depan akan memberlakukannya untuk setiap akun. Jika Anda mengirimkan alat yang dijalankan orang lain dengan kunci API mereka sendiri, uji dengan bidang yang diatur: pengguna Anda di akun baru diberlakukan sebelum Anda. Claude Code, claude.ai, Managed Agents, dan Agent SDK menjaga prefix tetap utuh untuk Anda; Mythos 5.1 sama sekali tidak menjalankan pemeriksaan.

Apa yang membatalkan setiap blok selanjutnya: mengedit, menyusun ulang, atau menghapus giliran sebelumnya (termasuk menghapus hasil alat lama); menyuntikkan teks per-permintaan yang Anda hapus pada permintaan berikutnya; membangun ulang system atau tools di antara permintaan; URL gambar yang menyajikan byte berbeda nanti. Apa yang menjaga blok tetap valid: riwayat hanya-tambah, menghapus serangkaian blok pemikiran terlama terlebih dahulu, mengubah parameter apa pun di luar system, tools, dan messages, memindahkan penanda cache_control, serta pemadatan sisi server atau pengeditan konteks.

Jalan keluar. Kirim header beta dan atur bidang ke `"drop_block"`:

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.path, t.reason)   # prefix_binding_mismatch atau model_binding_mismatch

API akan menghapus blok yang tidak cocok pertama dan setiap blok pemikiran setelahnya, melanjutkan, dan melaporkan setiap penghapusan. Ini hanya berlaku untuk permintaan tersebut, jadi terus kirimkan bidang tersebut. Atur `"error"` secara eksplisit di CI agar pengeditan riwayat menggagalkan eksekusi. Panduan pemikiran yang dipertahankan memiliki audit tiga langkah dan bentuk pemadatan yang rusak. Tabel perbaikan:

Apa yang Anda lakukan sebelumnya Lakukan ini sebagai gantinya
Mengedit system di tengah sesi Bekukan di awal sesi; tambahkan pesan role: "system" di mana perubahan menjadi benar
Mengedit tools di tengah sesi Deklarasikan set lengkap di awal; kirim blok tool_addition / tool_removal dalam pesan sistem (beta mid-conversation-tool-changes-2026-07-01)
Menyuntikkan pengingat per-giliran dan menghapusnya Pesan sistem lingkup giliran dengan clear_at: "next_user_message" (beta mid-conversation-system-clear-at-2026-08-21), dibiarkan dalam riwayat
Menghapus hasil alat lama di sisi klien Pengeditan konteks sisi server
Pemadatan sisi klien yang menjaga giliran terbaru persis sama Pemadatan sisi server, atau satu pesan ringkasan ditambah giliran pengguna baru, tanpa memutar ulang yang lain
Mereferensikan gambar berdasarkan URL lintas giliran Unggah sekali ke Files API dan kirim file_id

Datang dari Opus 5: empat item lagi

1. Pemikiran tidak dapat dinonaktifkan pada upaya apa pun. Opus 5 menerima thinking: {"type": "disabled"} pada `high` atau lebih rendah. Fable 5.1 mengembalikan 400 pada upaya apa pun. Hapus bidang tersebut, kontrol pengeluaran dengan upaya yang lebih rendah, dan tinjau kembali max_tokens untuk rute yang berjalan tanpa pemikiran.

2. Narasi antar-alat berpindah ke blok pemikiran. Pada Opus 5, teks di antara panggilan alat kembali sebagai blok teks. Pada Fable 5.1, teks kembali sebagai blok pemikiran pembaruan-kemajuan yang kosong di bawah `display: "omitted"` default. Jika UI Anda merender narasi tersebut, atur thinking: {"type": "adaptive", "display": "updates"} dengan header thinking-display-updates-2026-08-18.

3. Set klasifikasi lebih luas. Opus 5 menjalankan klasifikasi khusus siber. Fable 5.1 mencakup `cyber`, `bio`, `frontier_llm`, `reasoning_extraction`, dan `general_harms`. Tangani stop_reason: "refusal" sebelum membaca konten, dan pilih fallbacks: "default" dengan header server-side-fallback-2026-07-01. Target yang diizinkan adalah Opus 4.8 dan Opus 5, sehingga permintaan yang ditolak dapat kembali ke model yang Anda migrasikan.

4. Harga dan retensi. $10 dan $50, bukan $5 dan $25, dengan pembacaan cache seharga $0.25, bukan $0.50. ZDR hilang. Rincian harga memiliki perhitungannya.

Datang dari Opus 4.8 atau sebelumnya, terapkan dulu migrasi Opus 4.8 ke Opus 5, lalu panduan ini. Integrasi yang ditulis untuk Opus 4.8 sering kali memotong giliran lama atau membangun kembali prompt sistem setiap permintaan, dan Opus 4.8 tidak pernah keberatan.

Perubahan perilaku yang perlu diuji

Tidak ada yang mengembalikan kesalahan, dan masing-masing memiliki perbaikan satu baris di panduan prompting. Dalam loop panjang, Fable 5.1 mungkin mengeluarkan satu panggilan alat per giliran di mana Fable 5 melakukan beberapa panggilan sekaligus; ukur bagian giliran multi-panggilan dan tambahkan pendorong batching jika itu berkurang. Ini menulis lebih sedikit pesan kemajuan, jadi atur `display: "updates"` dan hapus baris prompt yang memberitahunya untuk menahan temuan. Pada upaya `low`, ia memanggil alat pencarian lebih jarang, jadi tingkatkan upaya untuk giliran yang membutuhkan data baru.

Perubahan yang direkomendasikan

Daftar periksa migrasi

Menjalankan daftar periksa di Apidog

Bangun koleksi dengan satu permintaan per perubahan yang merusak: panggilan tool_choice paksa (harapkan 400 di atas), panggilan thinking: disabled (harapkan 400), dan urutan dua permintaan yang mengedit prompt sistem di antara giliran dengan header `thinking-binding` diatur (harapkan entri `prefix_binding_mismatch`). Tambahkan versi yang lolos di sebelahnya dengan pernyataan pada `stop_reason` dan array `input_transformations` yang kosong, dan jalankan di CI melalui Apidog CLI pada setiap perubahan harness. Unduh Apidog untuk membangunnya; panduan API memiliki badan permintaan.

FAQ

Apakah migrasi dari Fable 5 ke Fable 5.1 merupakan perubahan yang langsung bisa diterapkan? Sebagian besar. `tool_choice` paksa mengembalikan 400, model lama tidak dapat membaca blok pemikiran Fable 5.1, dan pengeditan giliran sebelumnya membatalkan blok pemikiran selanjutnya pada akun yang diberlakukan. Semua hal lainnya diteruskan.

Apa arti “terikat pada percakapan yang berbeda”? Kode Anda mengubah sesuatu sebelum blok pemikiran Fable 5.1 dan kemudian memutar ulang blok tersebut. Berhentilah mengedit riwayat, atau kirim header `thinking-binding-controls-2026-08-01` dengan prefix_mismatch_behavior: "drop_block".

Apakah akun saya memberlakukan pemeriksaan pengeditan riwayat? Jika dibuat pada atau setelah 31 Agustus 2026, ya. Akun lama hanya memberlakukannya ketika Anda mengatur `prefix_mismatch_behavior`.

Bisakah saya mempertahankan prompt Fable 5 saya? Ya. Anthropic mengatakan mereka seharusnya berfungsi dengan baik tanpa perubahan. Jalankan ulang penyapuan upaya dan harapkan lebih sedikit panggilan alat paralel dalam loop panjang.

Apa yang rusak ketika saya bermigrasi dari Opus 5? Semua yang ada dalam daftar Fable 5, ditambah thinking: disabled mengembalikan 400 pada upaya apa pun, narasi antar-alat berpindah ke blok pemikiran, set klasifikasi lebih luas, harga berlipat ganda, dan ZDR hilang.

Apakah Bedrock dan Google Cloud memiliki perubahan besar yang sama? Perubahan model, ya. Kontrol pengikatan pemikiran ada di Claude API dan Claude Platform di AWS saat peluncuran dan akan tiba per model di Bedrock dan Google Cloud. Tanpa kontrol, pemulihannya adalah dengan menghapus blok pemikiran dan mencoba lagi sekali.

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.