Claude Platform Docs
Model & hargaClaude Fable 5.1

Panduan migrasi Claude Fable 5.1 dan Claude Mythos 5.1

Beralih ke Claude Fable 5.1 dan Claude Mythos 5.1 dari Claude Fable 5, Claude Mythos 5, Claude Opus 5, atau Claude Opus 4.8 dengan panduan migrasi ini. Panduan untuk mengaktifkan Claude Fable 5.1 dan Claude Mythos 5.1 mencakup ID model, perubahan yang merusak kompatibilitas, dan daftar periksa migrasi.

Claude Fable 5.1 menggantikan Claude Fable 5 dengan harga input dan output yang sama, dengan pembacaan cache seperempat dari biayanya. Model ini tersedia di Claude API, Amazon Bedrock, Claude Platform on AWS, Google Cloud, dan Microsoft Foundry. Claude Mythos 5.1 memiliki kemampuan yang sama dan hanya tersedia bagi organisasi yang telah diverifikasi melalui program verifikasi Anthropic, seperti Cyber Verification Program. Untuk perbedaan perilaku dan pola prompting, lihat Prompting Claude Fable 5.1.

Pengaturan dasar yang dimiliki bersama oleh claude-fable-5-1 dan claude-mythos-5-1:

  • Thinking: Adaptive thinking (pemikiran adaptif) selalu aktif, tidak berubah dari Claude Fable 5. Model menentukan kapan dan seberapa banyak berpikir. Tidak diperlukan konfigurasi thinking. Baik thinking: {type: "disabled"} maupun "extended thinking" (pemikiran diperpanjang) manual (thinking: {type: "enabled", budget_tokens: N}) mengembalikan error 400.
  • Prefill: Melakukan prefill pada pesan asisten mengembalikan error 400, tidak berubah dari Claude Fable 5. Gunakan instruksi "system prompt" (prompt sistem) sebagai gantinya.
  • Tool choice: {type: "auto"} (default) dan {type: "none"} didukung. Memaksa pemanggilan alat dengan {type: "any"} atau {type: "tool", name: "..."} mengembalikan error 400. Lihat Perubahan yang merusak kompatibilitas.
  • Thinking yang dipertahankan lintas model: Claude Fable 5.1 membaca blok thinking dari Claude Opus 5, Claude Fable 5, Claude Mythos 5, dan model Claude sebelumnya. Tidak satu pun dari model tersebut dapat membaca blok milik Claude Fable 5.1. Lihat Perubahan yang merusak kompatibilitas.
  • Jendela konteks dan output: "Context window" (jendela konteks) 1M token secara default, dan hingga 128k token output per permintaan.
  • Harga: $10 USD per juta token input dan $50 USD per juta token output, sama dengan Claude Fable 5. Pembacaan cache prompt seharga $0,25 USD per juta token, seperempat dari tarif Claude Fable 5. Lihat Harga Claude.
  • Retensi data: Kedua model memerlukan retensi data 30 hari, tidak tersedia di bawah pengaturan "zero data retention" (retensi data nol), atau ZDR, kecuali diizinkan secara tegas oleh Anthropic, dan ditetapkan sebagai Covered Models, sama seperti Claude Fable 5 dan Claude Mythos 5. Di Claude API, permintaan dari organisasi atau workspace tanpa retensi 30 hari mengembalikan invalid_request_error 400. Organisasi dengan pengaturan ZDR harus menghubungi tim akun Anthropic mereka, atau mengonfigurasi retensi per workspace. Lihat Persyaratan retensi data khusus model untuk detail per platform.

Di mana kedua model berbeda:

  • Ketersediaan: Claude Fable 5.1 tidak memerlukan persetujuan akses. Claude Mythos 5.1 hanya tersedia bagi organisasi yang telah diverifikasi melalui program verifikasi Anthropic, seperti Cyber Verification Program. Untuk meminta akses, daftarlah ke program yang mencakup kasus penggunaan Anda, atau hubungi tim akun Anthropic Anda.
  • Priority Tier: Tidak satu pun dari kedua model didukung di Priority Tier. Claude Fable 5 didukung.

Migrasi ke Claude Fable 5.1 dari Claude Fable 5

Migrasi sebagian besar bersifat drop-in. Permukaan API, batas, harga per token, tokenizer, adaptive thinking yang selalu aktif, penanganan penolakan, dan kategori stop_details semuanya sama dengan Claude Fable 5. Yang berubah: tool choice paksa mengembalikan error 400; hanya Claude Fable 5.1 dan Claude Mythos 5.1 yang membaca blok thinking Claude Fable 5.1, dan hanya dalam percakapan yang menghasilkannya; pembacaan cache lebih murah; dan perilaku agent loop berbeda dalam tiga hal. Perubahan yang sama berlaku untuk Claude Mythos 5.1, kecuali pemeriksaan percakapan pada blok thinking, yang tidak dijalankan oleh Claude Mythos 5.1.

Perbarui nama model Anda

model = "claude-fable-5"  # Before
model = "claude-fable-5-1"  # After

# Atau, untuk Claude Mythos 5.1, yang menawarkan kemampuan yang sama bagi organisasi terverifikasi:
model = "claude-mythos-5-1"  # After

Perubahan yang merusak kompatibilitas

  1. Tool choice paksa tidak didukung: Claude Fable 5 menerima tool_choice auto, none, any, dan tool. Pada claude-fable-5-1, {type: "any"} dan {type: "tool", name: "..."} mengembalikan invalid_request_error 400:

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

    Pemeriksaan ini berlaku pada Messages API, Message Batches API, dan endpoint penghitungan token.

    Sebelum (Claude Fable 5):

    client = anthropic.Anthropic()
    
    record_summary_tool = {
        "name": "record_summary",
        "description": "Record the structured summary of the document.",
        "input_schema": {
            "type": "object",
            "properties": {"summary": {"type": "string"}},
            "required": ["summary"],
        },
    }
    
    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."}],
    )
    print(response.content)

    Sesudah (Claude Fable 5.1): biarkan tool_choice pada auto, sebutkan nama alat dalam instruksi, dan atur strict: true agar pemanggilan sesuai dengan skema Anda. (Dalam organisasi CMEK, di mana structured outputs (output terstruktur), termasuk strict: true, tidak tersedia pada model Claude Fable, andalkan instruksi saja.) Sebagai contoh:

    client = anthropic.Anthropic()
    
    record_summary_tool = {
        "name": "record_summary",
        "description": "Record the structured summary of the document.",
        "strict": True,
        "input_schema": {
            "type": "object",
            "properties": {"summary": {"type": "string"}},
            "required": ["summary"],
            "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.",
            }
        ],
    )
    print(response.content)

    Lihat Penggunaan alat strict dan Memaksa penggunaan alat. Jika Anda memaksa alat hanya untuk mendapatkan JSON yang sesuai skema, gunakan output JSON (output_config.format) sebagai gantinya.

    Jika aplikasi Anda, bukan pengguna, memerlukan pemanggilan alat tertentu pada giliran saat ini dalam percakapan multi-giliran, tambahkan pesan sistem di tengah percakapan setelah giliran user terakhir. Sebutkan nama alat, nyatakan bahwa pemanggilan tersebut wajib untuk giliran ini, dan minta Claude untuk membuka responsnya dengan pemanggilan itu. Karena pesan ditambahkan di akhir alih-alih ditulis ke dalam prompt system tingkat atas, giliran sebelumnya tetap identik byte demi byte dan mempertahankan hit cache prompt mereka:

    client = anthropic.Anthropic()
    
    search_help_center_tool = {
        "name": "search_help_center",
        "description": "Search the help center for policy and troubleshooting articles.",
        "strict": True,
        "input_schema": {
            "type": "object",
            "properties": {"query": {"type": "string"}},
            "required": ["query"],
            "additionalProperties": False,
        },
    }
    
    response = client.messages.create(
        model="claude-fable-5-1",
        max_tokens=16000,
        system="You are a customer support assistant for an online electronics store.",
        tools=[search_help_center_tool],
        messages=[
            {
                "role": "user",
                "content": "My headphones from order A1234 arrived yesterday.",
            },
            {
                "role": "assistant",
                "content": "Thanks for confirming. How can I help with order A1234?",
            },
            {"role": "user", "content": "I opened the box. Can I still return them?"},
            # Aplikasi mewajibkan pencarian di pusat bantuan sebelum memberikan
            # jawaban kebijakan apa pun. Menambahkan persyaratan ini sebagai pesan sistem membuat
            # giliran-giliran sebelumnya tetap tidak berubah.
            {
                "role": "system",
                "content": "Tool-use requirement for the current turn: the application requires a call to the search_help_center tool in your response to the user's latest message. Begin your response with the search_help_center tool call. Do not reply with text only.",
            },
        ],
    )
    print(response.content)

    Pertahankan pesan role: "system" dalam riwayat pada permintaan berikutnya, seperti giliran lainnya. Pesan sistem di tengah percakapan tidak memerlukan header beta. tool_choice: {"type": "none"} tetap berfungsi untuk giliran yang tidak boleh memanggil alat.

  2. Hanya Claude Fable 5.1 dan Claude Mythos 5.1 yang membaca blok thinking Claude Fable 5.1: Setiap blok thinking mencatat model mana yang menghasilkannya. Claude Fable 5.1 membaca bloknya sendiri serta blok dari Claude Mythos 5.1, Claude Opus 5, Claude Fable 5, Claude Mythos 5, dan model Claude sebelumnya. Percakapan yang berpindah ke claude-fable-5-1 dari salah satu model tersebut mempertahankan penalaran sebelumnya. Kondisi ini bersifat satu arah: selain Claude Mythos 5.1, tidak satu pun dari model tersebut yang dapat membaca blok Claude Fable 5.1.

    Percakapan yang berjalan di Claude Fable 5.1 dapat berpindah ke model lain, lebih lama atau lebih baru, melalui peralihan router, percobaan ulang di sisi klien, atau fallback penolakan pengklasifikasi, termasuk fallback sisi server. API menghapus blok yang tidak dapat dibaca model tersebut sebelum model melihatnya, permintaan berhasil, dan Anda tidak ditagih untuk token input yang dibuang. Model target merencanakan ulang tanpa penalaran tersebut, yang dapat meningkatkan biaya dan latensi pada giliran pertama setelah peralihan. Untuk melihat apa yang dibuang, kirim beta header thinking-binding-controls-2026-08-01: respons kemudian membawa array input_transformations yang menyebutkan setiap blok yang dibuang dengan reason: "model_binding_mismatch". Lihat Beralih model di tengah percakapan.

  3. Mengedit giliran sebelumnya membatalkan blok thinking: Setiap blok thinking dari Claude Fable 5.1 hanya valid terhadap prompt system, tools, dan riwayat percakapan yang mendahuluinya. Jika Claude Code, claude.ai, Claude Managed Agents, atau Claude Agent SDK mengelola riwayat percakapan Anda, prefiks tersebut sudah dijaga tetap utuh. Jika kode Anda membangun array messages sendiri, butir ini berlaku untuk Anda, dan Thinking yang dipertahankan adalah panduan integrasi lengkapnya. Di mana pemeriksaan ini diberlakukan, permintaan yang mengirim kembali blok tersebut setelah salah satu dari hal-hal itu berubah akan ditolak dengan error 400:

    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.

    API memberlakukan pemeriksaan ini untuk akun baru yang dibuat pada atau setelah 31 Agustus 2026. Untuk akun yang dibuat sebelumnya, API mencatat ketidakcocokan tetapi tidak menindaklanjutinya, kecuali jika permintaan mengatur thinking.block_binding.prefix_mismatch_behavior, yang berarti memilih untuk mengaktifkan pemberlakuan. Pada akun tersebut, jika Anda mengirim beta header thinking-binding-controls-2026-08-01 tanpa mengatur field tersebut, respons akan mencantumkan setiap blok yang gagal dalam pemeriksaan di input_transformations sebagai entri thinking_mismatch_allowed. Buat aplikasi Anda kompatibel dengan pemeriksaan ini, berapa pun usia akun Anda: pola yang sama juga menjaga cache prompt tetap hangat, dan Anda dapat menguji pemeriksaan ini dari akun mana pun dengan mengirim prefix_mismatch_behavior. Jika Anda merilis alat atau framework yang dijalankan orang lain dengan "API key" (kunci API) mereka sendiri, lakukan pengujian dengan cara tersebut sebelum peluncuran: kunci Anda kemungkinan berasal dari akun yang lebih lama, sehingga pengguna Anda dengan akun baru akan terkena pemeriksaan ini lebih dulu daripada Anda. Untuk mengetahui apakah pemeriksaan diberlakukan secara default pada akun Anda, kirim permintaan yang mengedit riwayat tanpa beta header: jika Anda menerima error 400 yang menyebutkan header tersebut, berarti pemeriksaan diberlakukan.

    Error ini bersifat permanen untuk body permintaan tersebut: loop percobaan ulang otomatis tidak akan menghilangkannya. Untuk melanjutkan tanpa penalaran yang dibatalkan alih-alih gagal, hapus blok thinking dari riwayat dan coba ulang sekali, atau kirim header beta thinking-binding-controls-2026-08-01 dan atur prefix_mismatch_behavior ke "drop_block" (default-nya adalah "error"). Dengan "drop_block", API membuang blok yang tidak cocok dan setiap blok thinking setelahnya dalam percakapan, dan melaporkan masing-masing dengan reason: "prefix_binding_mismatch" dalam array input_transformations pada respons:

    client = anthropic.Anthropic()
    
    response = client.beta.messages.create(
        model="claude-fable-5-1",
        max_tokens=16000,
        thinking={
            "type": "adaptive",
            "block_binding": {"prefix_mismatch_behavior": "drop_block"},
        },
        messages=[
            {
                "role": "user",
                "content": "What is the greatest common divisor of 1071 and 462?",
            }
        ],
        betas=["thinking-binding-controls-2026-08-01"],
    )
    
    for block in response.content:
        if block.type == "text":
            print(block.text)
    
    print(f"Input transformations: {len(response.input_transformations or [])}")

    Endpoint penghitungan token menjalankan pemeriksaan yang sama. Lihat Kontrol untuk blok yang tidak dipertahankan (beta) untuk bentuk respons dan penempatan streaming.

    Pola yang membatalkan blok thinking berikutnya, dan apa yang harus dilakukan sebagai gantinya:

    • Mengedit, mengurutkan ulang, atau menghapus giliran sebelumnya. Ini termasuk menghapus hasil alat lama, memotong giliran dari tengah transkrip, dan compaction sisi klien yang mempertahankan giliran terbaru beserta blok thinking-nya secara verbatim di belakang ringkasan (termasuk compaction latar belakang yang menukar ringkasannya beberapa giliran kemudian). Sebagai gantinya, gunakan compaction sisi server atau context editing (pembersihan hasil alat untuk hasil alat lama), atau salah satu bentuk compaction sisi klien di Pangkas konteks di server.
    • Menyisipkan konten yang tidak Anda simpan, misalnya pengingat per giliran yang ditambahkan setelah blok tool_result dan dihapus pada permintaan berikutnya. Sebagai gantinya, kirim pengingat tersebut sebagai pesan sistem berlingkup giliran dan biarkan tetap ada dalam riwayat.
    • Membangun ulang prompt system tingkat atas atau array tools di antara permintaan dalam percakapan yang sama, misalnya untuk memperbarui tanggal saat ini atau untuk menambah atau menghapus alat. Sebagai gantinya, tambahkan pesan sistem di tengah percakapan yang membawa instruksi baru ("Tanggal saat ini adalah 2026-09-14.") atau blok tool_addition dan tool_removal. Alat yang tidak dideklarasikan dalam tools di awal dapat didefinisikan di dalam blok tool_addition (beta header inline-tools-2026-09-15).
    • URL gambar atau dokumen yang menyajikan byte berbeda pada permintaan berikutnya. Pemeriksaan mencakup byte, bukan string URL, sehingga signed URL yang berotasi untuk file yang sama tidak menjadi masalah. Untuk konten yang Anda referensikan lintas giliran, unggah sekali dengan Files API dan kirim file_id, atau kirim base64.

    Setiap pengganti juga menjaga giliran sebelumnya identik byte demi byte dan mempertahankan hit cache prompt yang akan hilang jika riwayat, prompt system, atau array tools diedit.

    Pola yang tetap berfungsi:

    • Riwayat append-only: menambahkan giliran dan mengirim kembali giliran sebelumnya persis seperti yang dikirim dan diterima, termasuk pesan role: "system" yang ditambahkan.
    • Menghapus blok thinking dari giliran asisten sebelumnya, dimulai dari yang terlama.
    • Mengubah effort, max_tokens, atau parameter permintaan lain di luar system, tools, dan messages, serta menambah atau memindahkan penanda cache_control.
    • Compaction sisi server dan context editing, termasuk pembersihan blok thinking. Keduanya tidak dihitung sebagai pengeditan, karena pemeriksaan membandingkan percakapan sebagaimana Anda mengirimnya.

    Untuk memeriksa integrasi yang sudah ada:

    1. Rekam body permintaan persis yang dikirim integrasi Anda selama beberapa giliran normal, termasuk compaction atau perubahan alat jika produk Anda memilikinya. Untuk setiap pasangan permintaan yang berurutan, bandingkan prompt system, array tools, dan prefiks bersama dari messages. Semuanya harus identik byte demi byte hingga giliran yang baru ditambahkan. Satu pengecualian yang wajar adalah permintaan yang menyisipkan blok compaction bertanda tangan dari compaction sesuai permintaan: blok tersebut menggantikan pesan-pesan yang diringkasnya di bagian depan messages, dan semua yang ada setelahnya harus tetap cocok.
    2. Jalankan sesi multi-giliran normal terhadap claude-fable-5-1 dengan beta header thinking-binding-controls-2026-08-01 dan prefix_mismatch_behavior: "drop_block", lalu catat input_transformations pada setiap respons. Array kosong pada setiap giliran berarti riwayat masih utuh. Entri dengan reason: "prefix_binding_mismatch" berarti ada sesuatu sebelum blok di path yang berubah sejak permintaan sebelumnya. Entri dengan reason: "model_binding_mismatch" berarti percakapan beralih model, dan itu bukan bug dalam kode Anda. Cara ini berfungsi dari akun mana pun, karena mengatur field tersebut berarti permintaan memilih untuk mengaktifkan pemberlakuan. Di CI, atur "error" sebagai gantinya agar setiap edit membuat run gagal.
    3. Pilih pengaturan untuk produksi. Biarkan default "error" jika ketidakcocokan prefiks hanya mungkin terjadi karena bug dalam kode Anda, atau atur "drop_block" untuk membuang blok yang terdampak alih-alih gagal. Dalam kedua kasus, pantau error 400 atau entri input_transformations.

    Membuang blok thinking sekali, misalnya pada batas compaction, hanya berdampak kecil. Integrasi yang membatalkan thinking sebelumnya pada setiap permintaan memulai ulang cache prompt setiap kali, yang dapat meningkatkan biaya per tugas (lihat Jaga riwayat percakapan tetap append-only).

Perubahan perilaku

  1. Lebih sedikit pemanggilan alat paralel dalam agent loop panjang: Dalam loop yang berjalan lama di mana pembacaan independen berikutnya hanya tersirat dari tugas (agen coding kustom, harness bash-dan-editor, computer use), Claude Fable 5.1 mungkin mengeluarkan satu pemanggilan alat per giliran. Setiap giliran tambahan memakan token, satu round trip, dan waktu nyata. Tambahkan instruksi batching satu kalimat setelah setiap pesan pengguna sebagai pesan sistem berlingkup giliran (clear_at: "next_user_message", beta), atau, tanpa beta, dalam blok teks setelah blok tool_result, dan biarkan salinan sebelumnya dalam riwayat pada permintaan berikutnya. Lihat Batch pemanggilan alat independen dalam agent loop.

  2. Lebih sedikit pesan progres di antara pemanggilan alat: Claude Fable 5.1 menulis lebih sedikit pembaruan status selama urutan alat yang panjang dibandingkan Claude Fable 5, dan ringkasan agentic coding-nya lebih pendek. Jika antarmuka Anda merender pembaruan tersebut, atur thinking.display ke "updates" (beta) atau "summarized" dan minta secara eksplisit melalui prompt. Lihat Pembaruan progres di antara pemanggilan alat dan Minta pembaruan progres untuk pengguna.

  3. Lebih sedikit pemanggilan pencarian dan retrieval pada effort rendah: Pada effort low, Claude Fable 5.1 lebih sering menjawab dari memori dibandingkan Claude Fable 5 alih-alih memanggil alat pencarian atau retrieval. Jika produk Anda mengandalkan retrieval pada effort rendah, naikkan effort untuk permintaan tersebut atau beri tahu model kapan harus mencari. Lihat Pemicuan pencarian pada effort rendah.

Untuk perbedaan dalam kepadatan prosa, pemformatan chat, pengutipan dalam ringkasan, dan pengeditan file, yang tidak memengaruhi integrasi API, lihat Berubah dari Claude Fable 5.

Perubahan ini tidak wajib, tetapi masing-masing menurunkan biaya atau latensi atau menghilangkan mode kegagalan:

  1. Ubah effort di tengah percakapan (beta): Pada Claude Fable 5, output_config.effort berada di tingkat permintaan, dan mengubahnya di antara permintaan membuang prefiks yang di-cache dari giliran sebelumnya. Pada claude-fable-5-1, pesan role: "system" yang hanya membawa output_config menaikkan effort untuk langkah yang sulit atau menurunkannya untuk langkah rutin tanpa membatalkan cache prompt:

    client = anthropic.Anthropic()
    
    response = client.beta.messages.create(
        model="claude-fable-5-1",
        max_tokens=4096,
        output_config={"effort": "high"},
        messages=[
            {
                "role": "user",
                "content": "Plan a migration from SQLite to PostgreSQL in three short steps.",
            },
            {
                "role": "assistant",
                "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.",
            },
            # Pesan sistem khusus effort: level baru berlaku mulai giliran pengguna berikutnya.
            {"role": "system", "content": [], "output_config": {"effort": "low"}},
            {"role": "user", "content": "Summarize the plan in one sentence."},
        ],
        betas=["mid-conversation-output-config-2026-07-01"],
    )
    
    for block in response.content:
        if block.type == "text":
            print(block.text)

    Jika ditempatkan di antara giliran assistant dan giliran user berikutnya, seperti di sini, pesan tersebut berlaku mulai dari giliran user itu. Jika ditempatkan langsung setelah giliran user dengan input baru, pesan tersebut menetapkan level untuk balasan Claude pada giliran itu. Giliran user yang hanya berisi hasil alat tidak dihitung sebagai input baru: perubahan menunggu giliran user berikutnya dengan input baru. Level tersebut kemudian bertahan hingga pesan role: "system" lain mengubahnya. Hanya level bernama yang diterima (low, medium, high, xhigh, max), dan beta header mid-conversation-output-config-2026-07-01 diperlukan. Lihat Effort per pesan.

  2. Ubah instruksi dan alat dengan pesan sistem di tengah percakapan: Untuk mengubah instruksi atau alat di tengah sesi, tambahkan pesan role: "system", dengan blok tool_addition dan tool_removal untuk perubahan alat (beta header inline-tools-2026-09-15 di Claude API). Blok tool_addition dapat menyebutkan alat yang dideklarasikan di tools saat sesi dimulai atau membawa definisi lengkap alat tersebut, sehingga alat yang belum diketahui saat sesi dimulai tidak perlu ada di tools. Ini mempertahankan hit cache prompt pada giliran sebelumnya dan menjaga riwayat percakapan tetap append-only. Header lama mid-conversation-tool-changes-2026-07-01 masih berfungsi untuk perubahan yang menyebutkan alat berdasarkan referensi, di Claude API, Amazon Bedrock, dan Google Cloud. Pesan yang sama menggantikan tool_choice yang dipaksakan ketika alat tertentu harus dijalankan pada giliran saat ini (lihat Perubahan yang merusak kompatibilitas). Untuk pengingat yang hanya berlaku untuk satu giliran, kirim sebagai pesan role: "system" terpisah yang hanya berisi teks dengan clear_at: "next_user_message" (pesan sistem berlingkup giliran, beta header mid-conversation-system-clear-at-2026-08-21) dan biarkan tetap dalam riwayat: pesan tersebut berhenti dirender setelah pesan pengguna berikutnya dan tidak memakan token setelah dibersihkan. Pesan yang membawa blok tool_addition atau tool_removal tidak dapat dibuat berlingkup giliran.

  3. Gunakan fallbacks: "default" untuk penolakan: Tetap tangani stop_reason: "refusal" dan baca stop_details.category sebelum konten respons. Untuk menjalankan ulang permintaan yang ditolak pada model lain secara otomatis, atur fallbacks: "default" (beta, header server-side-fallback-2026-07-01). "default" mencoba ulang permintaan yang ditolak pada model yang direkomendasikan Anthropic untuk kategori tersebut. Target fallback yang diizinkan untuk Claude Fable 5.1 adalah Claude Opus 4.8 (claude-opus-4-8) dan Claude Opus 5 (claude-opus-5). Daftar fallbacks eksplisit dapat menyebutkan salah satunya. Model fallback tidak menerima blok thinking Claude Fable 5.1. Parameter fallbacks tidak tersedia di Amazon Bedrock, Google Cloud, atau Microsoft Foundry. Di platform tersebut, gunakan fallback sisi klien sebagai gantinya. Jika Anda membangun percobaan ulang sendiri, kredit fallback berlaku dengan ketentuan yang sama seperti Claude Fable 5. Lihat Penolakan dan fallback.

  4. Mulai dari effort high dan lakukan sweep: Default parameter effort adalah high, dan kelima level didukung. Pertahankan panduan Claude Fable 5: high untuk sebagian besar pekerjaan, dan medium sebagai kontrol biaya yang layak diuji. Peningkatan Claude Fable 5.1 dibandingkan Claude Fable 5 paling besar pada xhigh dan max, tetapi level tersebut juga menambah waktu berpikir dan waktu hingga respons pertama, jadi naikkan ke level tersebut untuk tugas yang paling sensitif terhadap kemampuan dan di mana eval Anda menunjukkan peningkatan. Jalankan sweep baru pada eval Anda sendiri alih-alih membawa pengaturan yang disetel untuk Claude Fable 5. Lihat Level effort yang direkomendasikan untuk Claude Fable 5.1.

  5. Pangkas konteks di server, atau lakukan compaction dalam bentuk yang tidak membawa thinking usang: Jika kode Anda memotong atau meringkas giliran lama di sisi klien, solusi paling sederhana adalah memindahkan pekerjaan tersebut ke compaction sisi server atau pengeditan konteks. Keduanya tidak dihitung sebagai edit, karena pemeriksaan riwayat membandingkan percakapan sebagaimana yang Anda kirim. Dengan demikian, apa pun yang dihapus oleh keduanya tidak membuat blok thinking berikutnya tidak valid, dan parameter instructions pada compaction menerima prompt peringkasan Anda sendiri. Jika Anda mempertahankan giliran terbaru secara verbatim di belakang ringkasan, atau meringkas di latar belakang sementara percakapan berlanjut, gunakan compaction sesuai permintaan (beta header compact-2026-09-04) alih-alih ringkasan yang ditulis oleh klien. API akan menulis blok ringkasan bertanda tangan yang Anda tempatkan sebagai pengganti pesan-pesan yang diringkasnya. Blok thinking dalam giliran yang Anda pertahankan dapat tetap valid, dengan syarat yang dijelaskan di Pemadatan dan pemikiran yang dipertahankan. Jika Anda tetap melakukan compaction di sisi klien, pilih salah satu dari tiga bentuk berikut:

    • Compaction sederhana (direkomendasikan): ganti seluruh riwayat dengan satu pesan ringkasan ditambah giliran pengguna baru dan jangan putar ulang apa pun lainnya. Tidak ada blok thinking yang dibawa, sehingga tidak ada yang gagal. Model Claude dilatih pada tugas jangka panjang dengan skema ini, dan kinerjanya sebanding dengan skema yang lebih rumit untuk sebagian besar beban kerja.
    • Compaction keep-tail: jika Anda mempertahankan giliran terbaru secara verbatim di belakang ringkasan, hapus blok thinking dan redacted_thinking dari giliran tersebut (teks dan pemanggilan alat boleh tetap ada), atau atur prefix_mismatch_behavior: "drop_block". Thinking-nya dihasilkan terhadap riwayat lengkap dan akan gagal di belakang ringkasan jika tidak.
    • Compaction latar belakang: jika Anda membangun ringkasan di luar jalur kritis dan menukarnya kemudian, setiap giliran yang dihasilkan sementara itu membawa thinking yang mendahului penukaran. Kirim "drop_block" pada setiap permintaan yang masih membawa blok thinking yang dihasilkan sebelum penukaran (atau hapus blok tersebut sendiri; input_transformations pada respons pertama setelah penukaran mencantumkan persis blok mana saja), atau lakukan compaction secara sinkron.

    Jangan memotong giliran tertentu dari tengah transkrip: hal itu membuat setiap blok thinking berikutnya tidak valid, dan tidak ada bentuk compaction sisi klien yang dapat menghindarinya. Gunakan pesan sistem di tengah percakapan untuk perubahan instruksi yang ingin Anda lakukan, atau pengeditan konteks sisi server untuk penghapusan selektif. Lihat Mengirimkan kembali blok compaction.

Daftar periksa migrasi

  • Perbarui nama model dari claude-fable-5 ke claude-fable-5-1 (atau claude-mythos-5 ke claude-mythos-5-1).
  • Ganti tool_choice paksa ({type: "any"} atau {type: "tool", ...}). Ini mengembalikan error 400. Gunakan {type: "auto"} ditambah instruksi eksplisit dan alat strict: true, atau output JSON. Letakkan instruksi di giliran user, atau dalam pesan role: "system" di tengah percakapan ketika aplikasi Anda memerlukan panggilan tersebut.
  • Tetap kirim kembali blok thinking tanpa perubahan pada setiap giliran, termasuk yang kosong. Claude Fable 5.1 membaca blok dari Claude Opus 5, Claude Fable 5, Claude Mythos 5, dan model sebelumnya. Memindahkan percakapan dari Claude Fable 5.1 ke model apa pun selain Claude Mythos 5.1 akan membuang bloknya.
  • Jika kode Anda membangun array messages sendiri, periksa apakah kode tersebut mengedit giliran sebelumnya: jalankan sesi dengan beta header thinking-binding-controls-2026-08-01 dan prefix_mismatch_behavior: "drop_block", catat input_transformations, dan perbaiki setiap prefix_binding_mismatch. Entri model_binding_mismatch setelah peralihan model memang wajar.
  • Jaga riwayat percakapan tetap append-only: bekukan system dan tools saat sesi dimulai dan pindahkan perubahan di tengah sesi ke pesan role: "system" serta blok tool_addition / tool_removal, kirim pengingat per giliran sebagai pesan sistem berlingkup giliran yang tidak pernah Anda hapus, pangkas konteks di sisi server atau hapus blok thinking dari giliran mana pun yang Anda bawa melewati ringkasan sisi klien, dan referensikan file lintas giliran dengan file_id.
  • Pilih prefix_mismatch_behavior untuk produksi ("error" secara default, atau "drop_block") dan pantau. Jika Anda memelihara alat yang dijalankan orang lain dengan kunci API mereka sendiri, uji dengan field tersebut diatur: akun baru diberlakukan secara default meskipun akun Anda tidak.
  • Tinjau agent loop untuk perilaku satu-panggilan-alat-per-giliran dan tambahkan instruksi batching.
  • Jika antarmuka Anda menampilkan teks progres di antara panggilan alat, atur thinking.display ke "updates" (beta) atau "summarized" dan minta pembaruan dalam prompt.
  • Jika Anda mengubah effort di antara permintaan, pindahkan perubahan tersebut ke pesan role: "system" effort per pesan (beta) untuk mempertahankan hit cache.
  • Tangani stop_reason: "refusal" dan baca stop_details.category. Pertimbangkan fallbacks: "default" (beta).
  • Evaluasi ulang effort dengan sweep baru, dimulai dari high, dan tetapkan ulang baseline biaya dan latensi pada beban kerja Anda sendiri. Tokenizer tidak berubah. Pembacaan cache prompt seharga seperempat dari tarif Claude Fable 5.

Migrasi ke Claude Fable 5.1 dari Claude Opus 5

Claude Fable 5.1 menggunakan pola Messages API dan penggunaan alat yang sama dengan Claude Opus 5. Model ini mempertahankan jendela konteks 1M token secara default, 128k token output maksimum, minimum caching prompt 512 token, dan dukungan pesan sistem di tengah percakapan. Pembatasan prefill, pembatasan parameter sampling, dan default "omitted" untuk thinking.display juga tetap berlaku. Terapkan semua yang ada di Migrasi ke Claude Fable 5.1 dari Claude Fable 5, ditambah hal-hal berikut.

Perbarui nama model Anda

model = "claude-opus-5"  # Before
model = "claude-fable-5-1"  # After

# Atau, untuk Claude Mythos 5.1, yang menawarkan kemampuan yang sama bagi organisasi terverifikasi:
model = "claude-mythos-5-1"  # After

Apa yang berubah

  1. Thinking tidak dapat lagi dinonaktifkan: Claude Opus 5 menerima thinking: {type: "disabled"} pada level effort high atau lebih rendah. Pada claude-fable-5-1 dan claude-mythos-5-1, adaptive thinking (pemikiran adaptif) selalu aktif, dan thinking: {type: "disabled"} mengembalikan error 400 pada level effort apa pun. Hapus field tersebut, kendalikan pengeluaran token dengan level effort yang lebih rendah, dan tinjau kembali max_tokens untuk beban kerja yang berjalan dengan thinking dinonaktifkan.

  2. Pilihan alat paksa tidak didukung: Claude Opus 5 menerima tool_choice any dan tool. claude-fable-5-1 mengembalikan error 400. Lihat Perubahan yang merusak.

  3. Thinking yang dipertahankan lintas model: Claude Fable 5.1 membaca blok thinking Claude Opus 5: percakapan yang berpindah dari claude-opus-5 ke claude-fable-5-1 mempertahankan penalarannya. Claude Opus 5 tidak dapat membaca blok Claude Fable 5.1. Blok Claude Fable 5.1 juga berhenti valid ketika giliran sebelumnya berubah: jika kode Anda mengedit pesan sebelumnya, membangun ulang system atau tools, atau melakukan kompaksi di klien di antara permintaan, Claude Opus 5 tidak keberatan, tetapi claude-fable-5-1 menolak atau membuang setiap blok thinking berikutnya. Jalankan pemeriksaan tiga langkah di bagian tersebut sebelum mengalihkan lalu lintas. Lihat Perubahan yang merusak.

  4. Teks di antara pemanggilan alat dikembalikan dalam blok thinking: Pada Claude Opus 5, teks yang ditulis model di antara pemanggilan alat dikembalikan sebagai blok text. Pada claude-fable-5-1, seperti pada Claude Fable 5, narasi tersebut dikembalikan sebagai blok thinking pembaruan progres, satu sebelum setiap pemanggilan alat. Di bawah thinking.display default "omitted", blok tersebut tidak membawa teks yang dapat dibaca. Jika antarmuka Anda merender narasi tersebut, setel display: "updates" (beta) untuk menerima pembaruan progres sebagai teks sementara penalaran tetap tersembunyi, atau "summarized" untuk menerima keduanya. Kemudian render blok thinking yang tidak kosong di antara blok tool_use. Lihat Pembaruan progres di antara pemanggilan alat.

  5. Pengklasifikasi keamanan dan perutean fallback: Claude Fable 5.1 menjalankan pengklasifikasi keamanan yang mencakup kategori stop_details yang sama dengan Claude Fable 5, kumpulan yang lebih luas daripada pengklasifikasi Claude Opus 5. Harapkan nilai stop_details.category tambahan, seperti "bio"; lihat tabel kategori penolakan untuk kumpulan lengkapnya. Untuk konfigurasi fallbacks dan target yang diizinkan, lihat Gunakan fallbacks: "default" untuk penolakan.

  6. Harga: $10 USD per juta token input dan $50 USD per juta token output, dibandingkan dengan $5 USD dan $25 USD untuk Claude Opus 5. Pembacaan cache prompt adalah $0,25 USD per juta token, setengah dari tarif Claude Opus 5. Lihat Harga Claude.

  7. Retensi data: Claude Fable 5.1 dan Claude Mythos 5.1 memerlukan retensi data 30 hari, tidak tersedia di bawah pengaturan zero data retention (ZDR) kecuali diizinkan secara tegas oleh Anthropic, dan ditetapkan sebagai Covered Models. Claude Opus 5 tersedia di bawah ZDR. Lihat Persyaratan retensi data khusus model.

Daftar periksa migrasi

  • Jika organisasi Anda memiliki pengaturan "zero data retention" (retensi data nol), atau ZDR, pastikan kelayakan terlebih dahulu: model-model ini tidak tersedia di bawah ZDR kecuali diizinkan secara tegas oleh Anthropic. Lihat Persyaratan retensi data khusus model.
  • Perbarui nama model dari claude-opus-5 menjadi claude-fable-5-1 (atau claude-mythos-5-1).
  • Hapus konfigurasi thinking: {type: "disabled"} apa pun karena konfigurasi tersebut mengembalikan error 400 pada claude-fable-5-1. Kendalikan penggunaan token dengan level effort yang lebih rendah, dan tinjau kembali max_tokens.
  • Ganti tool_choice yang dipaksakan (any atau tool) dengan auto ditambah instruksi eksplisit (giliran user atau pesan sistem di tengah percakapan) dan alat dengan strict: true, atau dengan output JSON.
  • Jika antarmuka Anda menampilkan teks di antara pemanggilan alat, atur display: "updates" (beta) atau "summarized" dan tampilkan blok thinking yang tidak kosong.
  • Terapkan item preserved-thinking, pengeditan riwayat, perilaku, effort, dan fallback dari daftar periksa Claude Fable 5.
  • Tetapkan ulang baseline biaya pada beban kerja Anda sendiri. Tokenizer tidak berubah. Harga per token berbeda.

Migrasi ke Claude Fable 5.1 dari Claude Opus 4.8 atau sebelumnya

Ikuti daftar periksa di bawah ini. Jika Anda menggunakan Claude Opus 4.7 atau versi sebelumnya, mulailah dengan bagian yang sesuai di panduan migrasi Claude Opus 5.5.

Perbarui nama model Anda

model = "claude-opus-4-8"  # Before
model = "claude-fable-5-1"  # After

# Atau, untuk Claude Mythos 5.1, yang menawarkan kemampuan yang sama bagi organisasi terverifikasi:
model = "claude-mythos-5-1"  # After

Daftar periksa migrasi

  • Jika organisasi Anda memiliki pengaturan zero data retention (ZDR), konfirmasikan kelayakan terlebih dahulu: model-model ini tidak tersedia di bawah ZDR kecuali diizinkan secara tegas oleh Anthropic. Claude Opus 4.8 tersedia di bawah ZDR.
  • Perbarui nama model dari claude-opus-4-8 menjadi claude-fable-5-1 (atau claude-mythos-5-1).
  • Hapus konfigurasi thinking: {type: "disabled"} apa pun dan tinjau kembali max_tokens. Permintaan tanpa field thinking berjalan dengan adaptive thinking.
  • Perbarui penguraian respons yang membaca konten berdasarkan posisi, seperti content[0].text: respons sekarang dapat dimulai dengan blok thinking, jadi pilih blok konten berdasarkan type.
  • Ganti tool_choice paksa (any atau tool) dengan auto ditambah instruksi eksplisit (giliran user atau pesan sistem di tengah percakapan) dan alat strict: true, atau dengan output JSON.
  • Kirimkan kembali blok thinking tanpa perubahan dan perlakukan teksnya sebagai hanya-untuk-tampilan. Claude Fable 5.1 membaca blok thinking Claude Opus 4.8: percakapan yang berpindah ke claude-fable-5-1 mempertahankan penalaran sebelumnya. Claude Opus 4.8 tidak dapat membaca blok Claude Fable 5.1.
  • Jika kode Anda membangun array messages sendiri, periksa apakah kode tersebut mengedit giliran sebelumnya. Integrasi yang ditulis untuk Claude Opus 4.8 dan sebelumnya sering memotong giliran lama, menghapus atau membangun ulang pesan sebelumnya, atau menyegarkan prompt system setiap permintaan, dan Claude Opus 4.8 tidak pernah keberatan. Pada claude-fable-5-1 masing-masing hal tersebut membuat blok thinking berikutnya tidak valid.
  • Tangani stop_reason: "refusal", baca stop_details.category, dan pertimbangkan fallbacks: "default" (beta).
  • Terapkan item thinking yang dipertahankan, pengeditan riwayat, perilaku, effort per pesan, dan pembaruan progres dari daftar periksa Claude Fable 5.
  • Evaluasi ulang effort (mulai dari high), tinjau prompt yang mendekati batas minimum caching 512 token (1.024 token pada Claude Opus 4.8), dan tetapkan ulang baseline biaya dan latensi. Harga per token berbeda, dan token thinking ditagih sebagai token output, sehingga beban kerja yang berjalan tanpa thinking pada Claude Opus 4.8 dapat menghasilkan lebih banyak token output per permintaan.

Migrasi ke Claude Mythos 5.1 dari Claude Mythos 5

Claude Mythos 5.1 adalah padanan Claude Fable 5.1 untuk organisasi yang telah diverifikasi melalui program verifikasi Anthropic, seperti Cyber Verification Program. Konfirmasikan bahwa organisasi Anda memiliki akses ke Claude Mythos 5.1 sebelum Anda mengganti ID model.

Perbedaan tingkat API sama dengan Migrasi ke Claude Fable 5.1 dari Claude Fable 5: pilihan alat yang dipaksakan mengembalikan error 400, dan hanya Claude Mythos 5.1 dan Claude Fable 5.1 yang membaca blok thinking Claude Mythos 5.1 (Claude Mythos 5.1 membaca blok Claude Mythos 5, bukan sebaliknya). Tidak seperti Claude Fable 5.1, Claude Mythos 5.1 tidak menjalankan pemeriksaan percakapan, sehingga mengedit giliran sebelumnya tidak membatalkan blok thinking, meskipun tetap memulai ulang cache prompt.

Perbarui nama model Anda

model = "claude-mythos-5"  # Before
model = "claude-mythos-5-1"  # After

Daftar periksa migrasi

  • Perbarui nama model dari claude-mythos-5 menjadi claude-mythos-5-1.
  • Ganti tool_choice paksa (any atau tool) dengan auto ditambah instruksi eksplisit (giliran user atau pesan sistem di tengah percakapan) dan alat strict: true, atau dengan output JSON.
  • Tangani stop_reason: "refusal" dan baca stop_details.category sebelum konten respons. Lihat Penolakan dan fallback.
  • Terus kirimkan kembali blok thinking tanpa perubahan pada setiap giliran, termasuk yang kosong.
  • Jika kode Anda membangun array messages sendiri, jaga riwayat percakapan agar hanya-tambah untuk menjaga cache prompt tetap hangat. Claude Mythos 5.1 tidak menjalankan pemeriksaan percakapan, sehingga pengeditan tidak membuat blok thinking-nya tidak valid.
  • Terapkan perubahan perilaku dan perubahan yang direkomendasikan dari bagian Claude Fable 5, kecuali item pengeditan riwayat, yang tidak berlaku untuk Claude Mythos 5.1.
  • Evaluasi ulang effort dengan sapuan baru dan tetapkan ulang baseline biaya dan latensi. Pembacaan cache prompt berbiaya seperempat dari tarif Claude Mythos 5.

Was this page helpful?