Claude Platform Docs
Modelli e prezziClaude Fable 5.1

Migrazione a Claude Fable 5.1 e Claude Mythos 5.1

Migra a Claude Fable 5.1 e Claude Mythos 5.1 da Claude Fable 5, Claude Mythos 5, Claude Opus 5 o Claude Opus 4.8: ID dei modelli, modifiche incompatibili e checklist di migrazione.

Claude Fable 5.1 succede a Claude Fable 5 agli stessi prezzi di input e output, con letture dalla cache a un quarto del costo. È disponibile sulla Claude API, su Amazon Bedrock, Claude Platform on AWS, Google Cloud e Microsoft Foundry. Claude Mythos 5.1 condivide le stesse capacità ed è offerto solo ai clienti approvati in Project Glasswing. Per le differenze comportamentali e i pattern di prompting, consulta Prompting di Claude Fable 5.1.

Le impostazioni di base condivise da claude-fable-5-1 e claude-mythos-5-1:

  • Thinking: L'adaptive thinking (pensiero adattivo) è sempre attivo, invariato rispetto a Claude Fable 5. Il modello decide quando e quanto pensare. Non è richiesta alcuna configurazione thinking. Sia thinking: {type: "disabled"} sia l'"extended thinking" (pensiero esteso) manuale (thinking: {type: "enabled", budget_tokens: N}) restituiscono un errore 400.
  • Prefill: Il prefill del messaggio dell'assistente restituisce un errore 400, invariato rispetto a Claude Fable 5. Usa invece istruzioni nel "system prompt" (prompt di sistema).
  • Tool choice: {type: "auto"} (il valore predefinito) e {type: "none"} sono supportati. Forzare una chiamata a uno strumento con {type: "any"} o {type: "tool", name: "..."} restituisce un errore 400. Consulta Modifiche incompatibili.
  • Thinking preservato tra modelli: Claude Fable 5.1 legge i blocchi di thinking di Claude Opus 5, Claude Fable 5, Claude Mythos 5 e dei modelli Claude precedenti. Nessuno di questi modelli può leggere i blocchi di Claude Fable 5.1. Consulta Modifiche incompatibili.
  • Finestra di contesto e output: Una "context window" (finestra di contesto) da 1M di token per impostazione predefinita, e fino a 128k token di output per richiesta.
  • Prezzi: $10 USD per milione di token di input e $50 USD per milione di token di output, come Claude Fable 5. Le letture dalla cache dei prompt costano $0,25 USD per milione di token, un quarto della tariffa di Claude Fable 5. Consulta Prezzi di Claude.
  • Conservazione dei dati: Entrambi i modelli richiedono una conservazione dei dati di 30 giorni, non sono disponibili con accordi di zero data retention (ZDR) salvo espressa autorizzazione di Anthropic, e sono designati come Covered Models, come Claude Fable 5 e Claude Mythos 5. Sulla Claude API, una richiesta proveniente da un'organizzazione o un workspace senza conservazione di 30 giorni restituisce un errore 400 invalid_request_error. Le organizzazioni con un accordo ZDR devono contattare il proprio team account Anthropic, oppure configurare la conservazione per singolo workspace. Consulta Requisiti di conservazione dei dati specifici per modello per i dettagli per piattaforma.

Dove i due modelli divergono:

  • Disponibilità: Claude Fable 5.1 non richiede approvazione per l'accesso. Claude Mythos 5.1 è disponibile solo per i clienti approvati in Project Glasswing. Contatta il tuo team account Anthropic per l'accesso.
  • Classificatori di sicurezza: Claude Fable 5.1 esegue classificatori di sicurezza che coprono le stesse categorie stop_details di Claude Fable 5. Una richiesta rifiutata restituisce stop_reason: "refusal" con una stop_details.category, e può ripiegare su un altro modello con il parametro fallbacks o con un nuovo tentativo lato client. Consulta Rifiuti e fallback.
  • Priority Tier: Nessuno dei due modelli è supportato su Priority Tier. Claude Fable 5 lo è.

Migrazione a Claude Fable 5.1 da Claude Fable 5

La migrazione è per lo più drop-in. La superficie dell'API, i limiti, i prezzi per token, il tokenizer, l'adaptive thinking sempre attivo, la gestione dei rifiuti e le categorie stop_details corrispondono tutti a Claude Fable 5. Cosa cambia: il tool choice forzato restituisce un errore 400, i blocchi di thinking sono preservati solo per il modello che li ha prodotti o uno più recente e solo nella conversazione che li ha prodotti, le letture dalla cache costano meno, e il comportamento nei loop agentici differisce in tre modi. Le stesse modifiche si applicano a Claude Mythos 5.1, tranne il controllo della conversazione sui blocchi di thinking, che Claude Mythos 5.1 non esegue.

Aggiorna il nome del modello

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

# Oppure, per il modello Project Glasswing con le stesse capacità:
model = "claude-mythos-5-1"  # After

Modifiche incompatibili

  1. Il tool choice forzato non è supportato: Claude Fable 5 accetta tool_choice auto, none, any e tool. Su claude-fable-5-1, {type: "any"} e {type: "tool", name: "..."} restituiscono un errore 400 invalid_request_error:

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

    Il controllo si applica alla Messages API, alla Message Batches API e all'endpoint di conteggio dei token.

    Prima (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)

    Dopo (Claude Fable 5.1): lascia tool_choice su auto, nomina lo strumento nell'istruzione e imposta strict: true in modo che la chiamata corrisponda al tuo schema. (In un'organizzazione CMEK, dove gli output strutturati, incluso strict: true, non sono disponibili sui modelli Claude Fable, affidati alla sola istruzione.) Per esempio:

    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)

    Consulta Uso rigoroso degli strumenti e Forzare l'uso degli strumenti. Se forzavi uno strumento solo per ottenere JSON conforme allo schema, usa invece gli output JSON (output_config.format).

    Se la tua applicazione, anziché l'utente, richiede una chiamata a uno strumento specifico nel turno corrente di una conversazione multi-turno, aggiungi un messaggio di sistema a metà conversazione dopo l'ultimo turno user. Nomina lo strumento, indica che la chiamata è obbligatoria per questo turno e di' a Claude di aprire la sua risposta con essa. Poiché il messaggio viene aggiunto in coda anziché scritto nel prompt system di primo livello, i turni precedenti restano identici byte per byte e mantengono i loro hit nella "prompt cache" (cache dei prompt):

    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?"},
            # L'applicazione richiede una ricerca nel centro assistenza prima di qualsiasi
            # risposta sulle policy. Aggiungere il requisito come messaggio di sistema lascia
            # invariati i turni precedenti.
            {
                "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)

    Mantieni il messaggio role: "system" nella cronologia nelle richieste successive, come per qualsiasi altro turno. I messaggi di sistema a metà conversazione non richiedono alcun header beta. tool_choice: {"type": "none"} funziona ancora per un turno che non deve chiamare strumenti.

  2. I blocchi di thinking sono preservati solo per il modello che li ha prodotti, o uno più recente: Ogni blocco thinking registra quale modello lo ha prodotto. Claude Fable 5.1 legge i propri blocchi e quelli di Claude Mythos 5.1, Claude Opus 5, Claude Fable 5, Claude Mythos 5 e dei modelli Claude precedenti. Una conversazione che passa a claude-fable-5-1 da uno qualsiasi di questi mantiene il suo ragionamento precedente. La condizione è unidirezionale: a parte Claude Mythos 5.1, nessuno di questi modelli può leggere i blocchi di Claude Fable 5.1.

    Una conversazione eseguita su Claude Fable 5.1 può finire su un modello più vecchio tramite un cambio del router, un nuovo tentativo lato client o un fallback dopo un rifiuto del classificatore, incluso un fallback lato server. L'API rimuove i blocchi che quel modello non può leggere prima che li veda, la richiesta va a buon fine e non ti vengono addebitati i token di input scartati. Il modello di destinazione ripianifica senza quel ragionamento, il che può aumentare il costo e la "latency" (latenza) nel primo turno dopo il cambio. Per vedere cosa è stato scartato, invia l'header beta thinking-binding-controls-2026-08-01: le risposte conterranno quindi un array input_transformations che indica ogni blocco scartato con reason: "model_binding_mismatch". Consulta Cambiare modello a metà conversazione.

  3. Modificare i turni precedenti invalida i blocchi di thinking: Ogni blocco thinking di Claude Fable 5.1 è valido solo rispetto al prompt system, ai tools e alla cronologia della conversazione che lo hanno preceduto. Se Claude Code, claude.ai, Claude Managed Agents o il Claude Agent SDK gestiscono la cronologia della tua conversazione, mantengono già intatto quel prefisso. Se il tuo codice costruisce da sé l'array messages, questo punto ti riguarda, e Thinking preservato è la guida di integrazione completa. Dove il controllo è applicato, una richiesta che rimanda indietro il blocco dopo che uno qualsiasi di questi è cambiato viene rifiutata con un errore 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.

    L'API applica il controllo per i nuovi account creati a partire dal 31 agosto 2026. Per gli account creati prima, l'API registra la discrepanza ma non interviene a meno che la richiesta non imposti thinking.block_binding.prefix_mismatch_behavior, che attiva l'applicazione del controllo. Anthropic prevede di applicare il controllo a ogni account sui modelli futuri, quindi rendi la tua applicazione compatibile ora: gli stessi pattern mantengono calda la cache dei prompt, e puoi testare il controllo da qualsiasi account inviando prefix_mismatch_behavior. Se distribuisci uno strumento o un framework che le persone eseguono con la propria "API key" (chiave API), testa in questo modo prima del lancio: la tua chiave è probabilmente su un account più vecchio, e i tuoi utenti su account nuovi incontrano il controllo prima di te. Per vedere se il tuo account è soggetto al controllo per impostazione predefinita, invia una richiesta che modifica la cronologia senza l'header beta: un 400 che nomina l'header significa che lo è.

    L'errore è permanente per quel corpo di richiesta: un loop di tentativi automatici non lo risolverà. Per continuare senza il ragionamento invalidato invece di fallire, rimuovi i blocchi thinking dalla cronologia e riprova una volta, oppure invia l'header beta thinking-binding-controls-2026-08-01 e imposta prefix_mismatch_behavior su "drop_block" (il valore predefinito è "error"). Con "drop_block", l'API scarta il blocco non corrispondente e ogni blocco di thinking successivo nella conversazione, e riporta ciascuno con reason: "prefix_binding_mismatch" nell'array input_transformations della risposta:

    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 [])}")

    L'endpoint di conteggio dei token esegue lo stesso controllo. Consulta Controlli per i blocchi non preservati (beta) per la forma della risposta e il posizionamento nello streaming.

    Pattern che invalidano i blocchi di thinking successivi, e cosa fare invece:

    • Modificare, riordinare o rimuovere turni precedenti. Ciò include l'eliminazione di vecchi risultati degli strumenti, il taglio di turni dal centro della trascrizione e la compattazione lato client che mantiene alla lettera i turni recenti e i loro blocchi di pensiero dietro un riepilogo (inclusa la compattazione in background che inserisce il suo riepilogo qualche turno dopo). Usa invece la "compaction" (compattazione) lato server o il "context editing" (modifica del contesto) (cancellazione dei risultati degli strumenti per i vecchi risultati degli strumenti), oppure una delle forme di compattazione lato client descritte in Riduci il contesto sul server.
    • Inserire contenuti che non persisti, ad esempio un promemoria per turno aggiunto dopo i blocchi tool_result e rimosso alla richiesta successiva. Invia invece il promemoria come "turn-scoped system message" (messaggio di sistema limitato al turno) e lascialo nella cronologia.
    • Ricostruire il prompt system di primo livello o l'array tools tra richieste della stessa conversazione, ad esempio per aggiornare la data corrente o per aggiungere o rimuovere uno strumento. Aggiungi invece un messaggio di sistema a metà conversazione che contenga la nuova istruzione ("La data corrente è 2026-09-14.") o blocchi tool_addition e tool_removal.
    • Un URL di immagine o documento che restituisce byte diversi in una richiesta successiva. Il controllo riguarda i byte, non la stringa dell'URL, quindi un URL firmato a rotazione per lo stesso file va bene. Per i contenuti a cui fai riferimento in più turni, caricali una volta con la Files API e invia il file_id, oppure inviali in base64.

    Ogni sostituzione mantiene inoltre i turni precedenti identici byte per byte e preserva gli hit nella cache dei prompt che la modifica della cronologia, del prompt system o dell'array tools farebbe perdere.

    Pattern che continuano a funzionare:

    • Cronologie append-only: aggiungere turni e rimandare i turni precedenti esattamente come inviati e ricevuti, inclusi i messaggi role: "system" aggiunti.
    • Rimuovere i blocchi di thinking dai turni precedenti dell'assistente, a partire dai più vecchi.
    • Cambiare effort, max_tokens o qualsiasi altro parametro della richiesta al di fuori di system, tools e messages, e aggiungere o spostare marcatori cache_control.
    • Compattazione lato server e context editing, inclusa la cancellazione dei blocchi di thinking. Non contano come modifiche, perché il controllo confronta la conversazione così come l'hai inviata.

    Per verificare un'integrazione esistente:

    1. Acquisisci i corpi esatti delle richieste che invia nel corso di alcuni turni normali, inclusa una compattazione o una modifica degli strumenti se il tuo prodotto le prevede. Per ogni coppia di richieste consecutive, confronta il prompt system, l'array tools e il prefisso condiviso di messages. Devono essere identici byte per byte fino ai turni appena aggiunti. Un'eccezione prevista è una richiesta che inserisce un blocco compaction firmato proveniente dalla compattazione su richiesta: il blocco sostituisce i messaggi che riassume all'inizio di messages, e tutto ciò che segue deve comunque corrispondere.
    2. Esegui una normale sessione a più turni su claude-fable-5-1 con l'header beta thinking-binding-controls-2026-08-01 e prefix_mismatch_behavior: "drop_block", e registra input_transformations in ogni risposta. Un array vuoto in ogni turno significa che la cronologia è intatta. Una voce con reason: "prefix_binding_mismatch" significa che qualcosa prima del blocco in path è cambiato rispetto alla richiesta precedente. Una voce con reason: "model_binding_mismatch" significa che la conversazione ha cambiato modello, il che non è un bug nel tuo codice. Questo funziona da qualsiasi account, perché impostare il campo attiva l'applicazione del controllo per la richiesta. In CI, imposta invece "error" in modo che una modifica faccia fallire l'esecuzione.
    3. Scegli un'impostazione per la produzione. Lascia il valore predefinito "error" se una mancata corrispondenza del prefisso può significare solo un bug nel tuo codice, oppure imposta "drop_block" per scartare i blocchi interessati anziché fallire, e in entrambi i casi monitora gli errori 400 o le voci input_transformations.

    Scartare i blocchi di thinking una volta, per esempio a un confine di compattazione, ha poco effetto. Un'integrazione che invalida il thinking precedente a ogni richiesta riavvia la cache dei prompt ogni volta, il che può aumentare il costo per attività (consulta Mantieni la cronologia della conversazione append-only).

Cambiamenti di comportamento

  1. Meno chiamate parallele a strumenti nei loop agentici lunghi: Nei loop di lunga durata in cui le successive letture indipendenti sono solo implicite nell'attività (agenti di coding personalizzati, harness bash-and-editor, computer use), Claude Fable 5.1 può emettere una sola chiamata a strumento per turno. Ogni turno in più costa token, un round trip e tempo reale. Aggiungi un'istruzione di batching di una frase dopo ogni messaggio utente come messaggio di sistema limitato al turno (clear_at: "next_user_message", beta), oppure, senza la beta, in un blocco di testo dopo i blocchi tool_result, e lascia le copie precedenti nella cronologia nelle richieste successive. Consulta Raggruppa le chiamate a strumenti indipendenti nei loop agentici.

  2. Meno messaggi di avanzamento tra le chiamate agli strumenti: Claude Fable 5.1 scrive meno aggiornamenti di stato durante lunghe sequenze di strumenti rispetto a Claude Fable 5, e i suoi riepiloghi di coding agentico sono più brevi. Se la tua interfaccia mostra questi aggiornamenti, imposta thinking.display su "updates" (beta) o "summarized" e richiedili esplicitamente nel prompt. Consulta Aggiornamenti di avanzamento tra le chiamate agli strumenti e Richiedi aggiornamenti di avanzamento rivolti all'utente.

  3. Meno chiamate di ricerca e recupero con effort basso: Con un "effort" (livello di impegno) low, Claude Fable 5.1 risponde a memoria più spesso di Claude Fable 5 invece di chiamare uno strumento di ricerca o recupero. Se il tuo prodotto si basa sul recupero con effort basso, aumenta l'effort per quelle richieste o indica al modello quando cercare. Consulta Attivazione della ricerca con effort basso.

Per le differenze nella densità della prosa, nella formattazione della chat, nelle citazioni nei riassunti e nelle modifiche ai file, che non influiscono sull'integrazione API, consulta Cambiato rispetto a Claude Fable 5.

Queste modifiche non sono obbligatorie, ma ciascuna riduce costo o latenza o elimina una modalità di errore:

  1. Cambia l'effort a metà conversazione (beta): Su Claude Fable 5, output_config.effort è a livello di richiesta, e cambiarlo tra richieste fa perdere i prefissi in cache dei turni precedenti. Su claude-fable-5-1, un messaggio role: "system" che contiene solo output_config aumenta l'effort per un passaggio difficile o lo riduce per quelli di routine senza invalidare la cache dei 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.",
            },
            # Messaggio di sistema solo per l'effort: il nuovo livello si applica dal prossimo turno utente.
            {"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)

    Il valore si applica al turno utente seguente e a ogni turno successivo finché un altro messaggio role: "system" non lo cambia. Sono accettati solo i livelli nominati (low, medium, high, xhigh, max), ed è richiesto l'header beta mid-conversation-output-config-2026-07-01. Consulta Effort per messaggio.

  2. Modifica istruzioni e strumenti con i messaggi di sistema a metà conversazione: Per modificare istruzioni o strumenti a metà sessione, aggiungi un messaggio role: "system", con blocchi tool_addition e tool_removal per le modifiche agli strumenti (header beta mid-conversation-tool-changes-2026-07-01, con l'intero set di strumenti dichiarato in tools all'inizio della sessione). Questo preserva gli hit della cache dei prompt sui turni precedenti e mantiene la cronologia della conversazione di sola aggiunta. Lo stesso messaggio sostituisce il tool_choice forzato quando uno strumento specifico deve essere eseguito nel turno corrente (consulta Modifiche incompatibili). Per un promemoria che si applica a un solo turno, invialo come messaggio role: "system" separato di solo testo con clear_at: "next_user_message" (messaggi di sistema limitati al turno, header beta mid-conversation-system-clear-at-2026-08-21) e lascialo nella cronologia: smette di essere renderizzato dopo il messaggio utente successivo e non costa token una volta cancellato. Un messaggio che contiene blocchi tool_addition o tool_removal non può essere limitato al turno.

  3. Usa fallbacks: "default" per i rifiuti: Continua a gestire stop_reason: "refusal" e a leggere stop_details.category prima del contenuto della risposta. Per rieseguire automaticamente le richieste rifiutate su un altro modello, imposta fallbacks: "default" (beta, header server-side-fallback-2026-07-01). "default" ritenta una richiesta rifiutata sul modello che Anthropic consiglia per quella categoria. I target di fallback consentiti per Claude Fable 5.1 sono Claude Opus 4.8 (claude-opus-4-8) e Claude Opus 5 (claude-opus-5). Una lista fallbacks esplicita può nominare l'uno o l'altro. Il modello di fallback non riceve i blocchi di thinking di Claude Fable 5.1. Se costruisci tu stesso il nuovo tentativo, il credito di fallback si applica alle stesse condizioni di Claude Fable 5. Consulta Rifiuti e fallback.

  4. Inizia a effort high ed esegui uno sweep: Il valore predefinito del parametro effort è high, e tutti e cinque i livelli sono supportati. Mantieni le indicazioni di Claude Fable 5: high per la maggior parte del lavoro, e medium come controllo dei costi che vale la pena testare. I miglioramenti di Claude Fable 5.1 rispetto a Claude Fable 5 sono maggiori a xhigh e max, ma questi livelli aggiungono anche tempo di thinking e tempo alla prima risposta, quindi passa a essi per le attività più sensibili alle capacità e dove le tue valutazioni mostrano il miglioramento. Esegui un nuovo sweep sulle tue valutazioni invece di riportare un'impostazione calibrata per Claude Fable 5. Consulta Livelli di effort consigliati per Claude Fable 5.1.

  5. Riduci il contesto sul server, o compatta in una forma che non trasporti pensiero obsoleto: Se il tuo codice tronca o riassume i turni più vecchi sul client, la soluzione più semplice è spostare questo lavoro sulla compattazione o sulla modifica del contesto lato server. Nessuna delle due conta come modifica, perché il controllo della cronologia confronta la conversazione così come l'hai inviata, quindi nulla di ciò che rimuovono invalida i blocchi di pensiero successivi, e il parametro instructions della compattazione accetta il tuo prompt di riepilogo. Se mantieni alla lettera i turni recenti dietro il riepilogo, o riassumi in background mentre la conversazione continua, usa la compattazione su richiesta (header beta compact-2026-09-04, sulla Claude API) anziché un riepilogo scritto dal client. L'API scrive un blocco di riepilogo firmato che inserisci al posto dei messaggi che riassume. I blocchi di pensiero nei turni che mantieni possono restare validi, alle condizioni elencate in quella sezione. Se mantieni la compattazione sul client, scegli una di tre forme:

    • Compattazione semplice (consigliata): sostituisci l'intera cronologia con un unico messaggio di riassunto più il nuovo turno utente e non riprodurre nient'altro. Nessun blocco di thinking viene riportato, quindi nulla fallisce. I modelli Claude sono addestrati su attività a lungo orizzonte con questo schema, che ha prestazioni paragonabili a schemi più elaborati per la maggior parte dei carichi di lavoro.
    • Compattazione keep-tail: se mantieni i turni più recenti alla lettera dietro un riassunto, rimuovi i blocchi thinking e redacted_thinking da quei turni (testo e chiamate a strumenti possono restare), oppure imposta prefix_mismatch_behavior: "drop_block". Il loro thinking è stato prodotto rispetto alla cronologia completa e altrimenti fallisce dietro il riassunto.
    • Compattazione in background: se costruisci il riassunto fuori dal percorso critico e lo inserisci più tardi, ogni turno prodotto nel frattempo porta thinking che precede la sostituzione. Invia "drop_block" su ogni richiesta che porta ancora blocchi di thinking prodotti prima della sostituzione (oppure rimuovi tu stesso quei blocchi; input_transformations sulla prima risposta dopo la sostituzione elenca esattamente quali), oppure compatta in modo sincrono.

    Non tagliare singoli turni dal mezzo della trascrizione: questo invalida ogni blocco di thinking successivo e nessuna forma lato client lo evita. Usa un messaggio di sistema a metà conversazione per il cambio di istruzione che stavi facendo, oppure il context editing lato server per la rimozione selettiva. Consulta Rimandare indietro i blocchi di compattazione.

Checklist di migrazione

  • Aggiorna il nome del modello da claude-fable-5 a claude-fable-5-1 (o da claude-mythos-5 a claude-mythos-5-1).
  • Sostituisci il tool_choice forzato ({type: "any"} o {type: "tool", ...}). Restituisce un errore 400. Usa {type: "auto"} più un'istruzione esplicita e strumenti con strict: true, oppure gli output JSON. Inserisci l'istruzione nel turno user, oppure in un messaggio role: "system" a metà conversazione quando è la tua applicazione a richiedere la chiamata.
  • Continua a ripassare i blocchi thinking invariati in ogni turno, inclusi quelli vuoti. Claude Fable 5.1 legge i blocchi di Claude Opus 5, Claude Fable 5, Claude Mythos 5 e dei modelli precedenti. Spostare una conversazione da Claude Fable 5.1 a un modello precedente ne scarta i blocchi (Claude Mythos 5.1 li legge).
  • Se il tuo codice costruisce autonomamente l'array messages, verifica se modifica i turni precedenti: esegui una sessione con l'header beta thinking-binding-controls-2026-08-01 e prefix_mismatch_behavior: "drop_block", registra input_transformations e correggi ogni prefix_binding_mismatch. Le voci model_binding_mismatch dopo un cambio di modello sono previste.
  • Mantieni la cronologia della conversazione di sola aggiunta: congela system e tools all'inizio della sessione e sposta le modifiche a metà sessione in messaggi role: "system" e blocchi tool_addition / tool_removal, invia i promemoria per turno come messaggi di sistema limitati al turno che non rimuovi mai, riduci il contesto lato server o rimuovi i blocchi di pensiero da tutti i turni che trasferisci oltre un riepilogo lato client, e fai riferimento ai file usati in più turni tramite file_id.
  • Scegli un prefix_mismatch_behavior per la produzione ("error" per impostazione predefinita, oppure "drop_block") e monitoralo. Se gestisci uno strumento che altri eseguono con la propria chiave API, testa con il campo impostato: ai nuovi account il controllo viene applicato per impostazione predefinita anche se al tuo no.
  • Esamina i cicli dell'agente per individuare il comportamento di una sola chiamata a uno strumento per turno e aggiungi l'istruzione di raggruppamento.
  • Se la tua interfaccia mostra testo di avanzamento tra le chiamate agli strumenti, imposta thinking.display su "updates" (beta) o "summarized" e richiedi gli aggiornamenti nel prompt.
  • Se modifichi l'effort tra le richieste, sposta la modifica in un messaggio role: "system" di effort per messaggio (beta) per mantenere gli hit della cache.
  • Gestisci stop_reason: "refusal" e leggi stop_details.category. Valuta fallbacks: "default" (beta).
  • Rivaluta effort con un nuovo sweep, partendo da high, e ristabilisci la baseline di costo e latenza sui tuoi carichi di lavoro. Il tokenizer è invariato. Le letture dalla cache dei prompt costano un quarto della tariffa di Claude Fable 5.

Migrazione a Claude Fable 5.1 da Claude Opus 5

Claude Fable 5.1 usa gli stessi pattern della Messages API e di uso degli strumenti di Claude Opus 5. Mantiene per impostazione predefinita la finestra di contesto da 1M di token, i 128k token massimi di output, il minimo di 512 token per la cache dei prompt e il supporto ai messaggi di sistema a metà conversazione. Anche la restrizione sul prefill, la restrizione sui parametri di campionamento e il valore predefinito "omitted" per thinking.display vengono mantenuti. Applica tutto quanto indicato in Migrazione a Claude Fable 5.1 da Claude Fable 5, più quanto segue.

Aggiorna il nome del modello

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

# Oppure, per il modello Project Glasswing con le stesse capacità:
model = "claude-mythos-5-1"  # After

Cosa è cambiato

  1. Il pensiero non può più essere disabilitato: Claude Opus 5 accetta thinking: {type: "disabled"} a un livello di effort pari a high o inferiore. Su claude-fable-5-1 e claude-mythos-5-1, il pensiero adattivo è sempre attivo e thinking: {type: "disabled"} restituisce un errore 400 a qualsiasi livello di effort. Rimuovi il campo, controlla la spesa di token con livelli di effort inferiori e rivedi max_tokens per i carichi di lavoro che venivano eseguiti con il pensiero disabilitato.

  2. La scelta forzata dello strumento non è supportata: Claude Opus 5 accetta tool_choice any e tool. claude-fable-5-1 restituisce un errore 400. Consulta Modifiche di rilievo.

  3. Pensiero preservato tra modelli: Claude Fable 5.1 legge i blocchi di pensiero di Claude Opus 5: le conversazioni che passano da claude-opus-5 a claude-fable-5-1 mantengono il loro ragionamento. Claude Opus 5 non può leggere i blocchi di Claude Fable 5.1. I blocchi di Claude Fable 5.1 inoltre cessano di essere validi quando i turni precedenti cambiano: se il tuo codice modifica i messaggi precedenti, ricostruisce system o tools, oppure compatta sul client tra le richieste, Claude Opus 5 non obiettava, ma claude-fable-5-1 rifiuta o scarta ogni blocco di pensiero successivo. Esegui la verifica in tre passaggi di quella sezione prima di spostare il traffico. Consulta Modifiche di rilievo.

  4. Il testo tra le chiamate agli strumenti viene restituito nei blocchi di pensiero: Su Claude Opus 5, il testo che il modello scrive tra le chiamate agli strumenti viene restituito come blocchi text. Su claude-fable-5-1, come su Claude Fable 5, quella narrazione viene restituita come blocchi thinking di aggiornamento sull'avanzamento, uno prima di ogni chiamata a uno strumento. Con il valore predefinito "omitted" di thinking.display, questi blocchi non contengono testo leggibile. Se la tua interfaccia mostra quella narrazione, imposta display: "updates" (beta) per ricevere gli aggiornamenti di avanzamento come testo mentre il ragionamento resta nascosto, oppure "summarized" per ricevere entrambi. Quindi mostra i blocchi thinking non vuoti tra i blocchi tool_use. Consulta Aggiornamenti di avanzamento tra le chiamate agli strumenti.

  5. Classificatori di sicurezza e instradamento di fallback: Claude Fable 5.1 esegue classificatori di sicurezza che coprono le stesse categorie stop_details di Claude Fable 5, un insieme più ampio rispetto ai classificatori di Claude Opus 5 limitati alla sola cybersicurezza. Aspettati valori di stop_details.category oltre a "cyber", come "bio" e "reasoning_extraction"; consulta la tabella delle categorie di rifiuto per l'insieme completo. Per la configurazione di fallbacks e le destinazioni consentite, consulta Usa fallbacks: "default" per i rifiuti.

  6. Prezzi: $10 USD per milione di token di input e $50 USD per milione di token di output, rispetto a $5 USD e $25 USD per Claude Opus 5. Le letture dalla cache dei prompt costano $0,25 USD per milione di token, la metà della tariffa di Claude Opus 5. Consulta Prezzi di Claude.

  7. Conservazione dei dati: Claude Fable 5.1 e Claude Mythos 5.1 richiedono una conservazione dei dati di 30 giorni, non sono disponibili con accordi di zero data retention (ZDR) salvo espressa autorizzazione di Anthropic, e sono designati come Covered Models. Claude Opus 5 è disponibile con ZDR. Consulta Requisiti di conservazione dei dati specifici per modello.

Checklist di migrazione

  • Se la tua organizzazione ha un accordo di "zero data retention" (conservazione zero dei dati), o ZDR, verifica prima l'idoneità: questi modelli non sono disponibili in regime ZDR salvo espressa autorizzazione di Anthropic. Consulta Requisiti di conservazione dei dati specifici per modello.
  • Aggiorna il nome del modello da claude-opus-5 a claude-fable-5-1 (o claude-mythos-5-1).
  • Rimuovi qualsiasi configurazione thinking: {type: "disabled"}: su claude-fable-5-1 restituisce un errore 400. Controlla la spesa di token con livelli di effort più bassi e rivedi max_tokens.
  • Sostituisci il tool_choice forzato (any o tool) con auto più un'istruzione esplicita (turno user o messaggio di sistema a metà conversazione) e strumenti con strict: true, oppure con gli output JSON.
  • Se la tua interfaccia mostra il testo tra le chiamate agli strumenti, imposta display: "updates" (beta) o "summarized" e mostra i blocchi thinking non vuoti.
  • Applica le voci relative a pensiero preservato, modifica della cronologia, comportamento, effort e fallback della checklist di Claude Fable 5.
  • Ricalcola la baseline dei costi sui tuoi carichi di lavoro. Il tokenizer è invariato. Il prezzo per token è diverso.

Migrazione a Claude Fable 5.1 da Claude Opus 4.8 o precedenti

Applica prima Migrazione a Claude Mythos 5 e Claude Fable 5 da Claude Opus 4.8 per le modifiche a livello di API rispetto a Claude Opus 4.8. Copre il pensiero adattivo, l'output del pensiero, i rifiuti, l'effort, il minimo per la cache, i prezzi e la conservazione dei dati. Quindi applica il delta rimanente in Migrazione a Claude Fable 5.1 da Claude Fable 5. Su Claude Opus 4.7 o precedenti, inizia dalla sezione corrispondente di Migrazione a Claude Opus 5.

Aggiorna il nome del modello

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

# Oppure, per il modello Project Glasswing con le stesse capacità:
model = "claude-mythos-5-1"  # After

Checklist di migrazione

  • Se la tua organizzazione ha un accordo di zero data retention (ZDR), verifica prima l'idoneità: questi modelli non sono disponibili con ZDR salvo espressa autorizzazione di Anthropic. Claude Opus 4.8 è disponibile con ZDR.
  • Aggiorna il nome del modello da claude-opus-4-8 a claude-fable-5-1 (o claude-mythos-5-1).
  • Rimuovi qualsiasi configurazione thinking: {type: "disabled"} e rivedi max_tokens. Le richieste senza un campo thinking vengono eseguite con il pensiero adattivo.
  • Sostituisci il tool_choice forzato (any o tool) con auto più un'istruzione esplicita (turno user o messaggio di sistema a metà conversazione) e strumenti con strict: true, oppure con output JSON.
  • Restituisci i blocchi thinking invariati e tratta il loro testo come destinato alla sola visualizzazione. Claude Fable 5.1 legge i blocchi di pensiero di Claude Opus 4.8: una conversazione che passa a claude-fable-5-1 mantiene il suo ragionamento precedente. Claude Opus 4.8 non può leggere i blocchi di Claude Fable 5.1.
  • Se il tuo codice costruisce da sé l'array messages, verifica se modifica i turni precedenti. Le integrazioni scritte per Claude Opus 4.8 e precedenti spesso troncano i turni vecchi, rimuovono o ricostruiscono i messaggi precedenti, oppure aggiornano il prompt system a ogni richiesta, e Claude Opus 4.8 non ha mai obiettato. Su claude-fable-5-1 ciascuna di queste operazioni invalida i blocchi di pensiero successivi.
  • Gestisci stop_reason: "refusal", leggi stop_details.category e valuta fallbacks: "default" (beta).
  • Applica le voci relative a pensiero preservato, modifica della cronologia, comportamento, effort per messaggio e aggiornamenti di avanzamento della checklist di Claude Fable 5.
  • Rivaluta effort (parti da high), rivedi i prompt vicini al minimo di 512 token per la cache e ricalcola la baseline di costo e latenza. Il prezzo per token è diverso.

Migrazione a Claude Mythos 5.1 da Claude Mythos 5

Claude Mythos 5.1 è la controparte ad accesso controllato di Claude Fable 5.1. Verifica l'accesso della tua organizzazione con il tuo team account Anthropic prima di cambiare gli ID dei modelli.

Il delta a livello di API corrisponde a Migrazione a Claude Fable 5.1 da Claude Fable 5: la scelta forzata dello strumento restituisce un errore 400 e i blocchi di pensiero vengono preservati solo per il modello che li ha prodotti o per uno più recente (Claude Mythos 5.1 legge i blocchi di Claude Mythos 5, non viceversa). A differenza di Claude Fable 5.1, Claude Mythos 5.1 non esegue la verifica della conversazione, quindi modificare i turni precedenti non invalida i blocchi di pensiero, anche se riavvia comunque la cache dei prompt.

Aggiorna il nome del modello

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

Checklist di migrazione

  • Aggiorna il nome del modello da claude-mythos-5 a claude-mythos-5-1.
  • Sostituisci il tool_choice forzato (any o tool) con auto più un'istruzione esplicita (turno user o messaggio di sistema a metà conversazione) e strumenti con strict: true, oppure con output JSON.
  • Gestisci stop_reason: "refusal" e leggi stop_details.category prima del contenuto della risposta. Consulta Rifiuti e fallback.
  • Continua a restituire i blocchi thinking invariati a ogni turno, inclusi quelli vuoti.
  • Se il tuo codice costruisce da sé l'array messages, mantieni la cronologia della conversazione in sola aggiunta per mantenere calda la cache dei prompt. Claude Mythos 5.1 non esegue la verifica della conversazione, quindi le modifiche non invalidano i suoi blocchi di pensiero.
  • Applica le modifiche di comportamento e quelle consigliate della sezione Claude Fable 5, eccetto le voci relative alla modifica della cronologia, che non si applicano a Claude Mythos 5.1.
  • Rivaluta effort con una nuova esplorazione e ricalcola la baseline di costo e latenza. Le letture dalla cache dei prompt costano un quarto della tariffa di Claude Mythos 5.

Was this page helpful?