Principales nouveautés
Claude Fable 5.1 conserve les tarifs d’entrée et de sortie de Claude Fable 5, mais le prix des lectures du cache chute à un quart du coût initial. Cette réduction s’accompagne d’une amélioration du raisonnement agentique sur de longues séquences, d’une capacité de recherche multi‑étapes et d’une prise en charge native des documents, feuilles de calcul et présentations. Le modèle est recommandé pour les charges de travail où Claude Opus 5 ne satisfait pas les exigences de raisonnement ou d’autonomie.
Gestion du raisonnement et des blocs de pensée
Trois ruptures sont introduites : l’utilisation forcée d’outils renvoie une erreur 400, les modèles antérieurs ne peuvent plus lire les blocs de pensée générés par Fable 5.1, et toute modification d’un tour antérieur invalide les blocs subséquents. Les blocs de pensée enregistrent le modèle d’origine et ne sont lisibles que dans le sens ascendant : Fable 5.1 peut consommer les blocs des modèles précédents, mais aucun modèle antérieur ne peut lire ceux de Fable 5.1. Si un bloc non lisible est transmis, l’API le supprime avant le traitement, ne le compte pas dans input_tokens et ne le facture pas. Le contrôle thinking-binding-controls-2026-08-01 permet de signaler ces suppressions dans input_transformations.
Contrôle de l’effort et messages système à portée de tour
Le paramètre effort devient configurable par message grâce à l’en‑tête beta mid-conversation-output-config-2026-07-01. Les développeurs peuvent augmenter l’effort (« high ») pour les étapes critiques et le réduire (« low ») pour les tâches routinières, sans invalider le cache de prompt. De plus, les messages système peuvent être limités à un seul tour en définissant clear_at: "next_user_message". Cette portée temporelle évite toute modification du contexte historique, préserve les blocs de pensée et ne consomme aucun token d’entrée supplémentaire.
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."},
{"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)
Implications pour les intégrations existantes
Les applications qui injectaient des modifications dans le prompt (édition du système, ajout d’outils ou retrait de messages) doivent désormais adopter une approche append‑only. Toute altération entre deux tours entraîne l’invalidation de tous les blocs suivants, provoquant soit une erreur 400, soit la suppression silencieuse du bloc. Les SDK Claude Managed Agents et Claude Agent SDK préservent automatiquement le préfixe requis, mais les implémentations manuelles doivent vérifier la cohérence avant la migration. Les comptes créés après le 31 août 2026 appliquent strictement ces contrôles, tandis que les comptes antérieurs enregistrent le conflit sans le bloquer, à moins que le header thinking.block_binding.prefix_mismatch_behavior ne soit explicitement réglé sur drop_block. En adoptant les nouvelles pratiques – utilisation du paramètre effort, messages système à portée de tour et conservation du cache – les développeurs peuvent exploiter la réduction de coût du cache tout en maintenant la continuité du raisonnement sur de longues sessions.