La façon dont Claude « réfléchit » a profondément changé de forme en l'espace d'un an. L'ancienne réflexion étendue (extended thinking) reposait sur un humain qui précisait combien de tokens le modèle pouvait consacrer à son raisonnement. La génération actuelle la remplace par la réflexion adaptative (adaptive thinking) — c'est le modèle lui-même qui décide s'il doit réfléchir, et à quelle profondeur. Et avec Claude Opus 5, la réflexion est désormais activée par défaut : même la vieille certitude « pas de configuration, pas de réflexion » appartient au passé. Et depuis, sur Claude Opus 5.5 et les modèles Fable, la réflexion ne peut même plus être désactivée.

Cet article passe en revue ce qui sépare réellement la réflexion étendue de la réflexion adaptative, la façon dont le comportement varie d'un modèle à l'autre, et les pièges qui guettent lors de la migration du code — erreurs 400, sorties tronquées et factures qui grimpent en silence. Tout s'appuie sur la documentation officielle d'Anthropic.

RÉFLEXION : ÉTENDUE → ADAPTATIVE

De « l'humain fixe la profondeur » à « le modèle décide »

Le changement de génération en trois étapes

RÉFLEXION ÉTENDUE (ANCIENNE)
budget_tokens: 10000
Un humain fixe le budget de réflexion
RÉFLEXION ADAPTATIVE (ACTUELLE)
type: "adaptive"
Réfléchir ou non, et combien : c'est le modèle qui tranche
OPUS 5 ET SUIVANTS
Réflexion activée par défaut
La profondeur se règle désormais via effort
Source : documentation Anthropic, « Thinking » et « Extended thinking » (état : 25 septembre 2026)

1. Ce qu'est la réflexion

La réflexion (thinking) est l'étape où Claude décortique le problème avec ses propres mots avant de commencer à rédiger la réponse finale. Il reformule la question, essaie plusieurs approches, vérifie les résultats intermédiaires et abandonne les pistes qui ne tiennent pas — et ce processus est généré sous forme de blocs de contenu thinking en amont de la réponse. Le gain est maximal sur les tâches où la qualité du travail intermédiaire détermine la qualité de la réponse : mathématiques, code, analyse et travail agentique de longue haleine.

Rien de tout cela n'est gratuit, cependant. Comme l'énonce sans détour la documentation « Thinking » d'Anthropic, les tokens que Claude consacre au raisonnement sont facturés comme des tokens de sortie et comptent dans max_tokens — et la facturation reste identique même dans les configurations où le texte de la réflexion ne vous est jamais renvoyé (voir la section 6). Concevoir sa configuration de réflexion est donc autant une question de coût et de latence qu'une question de qualité.

2. L'ère de la réflexion étendue — vous fixiez budget_tokens

La première incarnation fut la réflexion étendue. On attache thinking: {"type": "enabled", "budget_tokens": N} à la requête, et Claude raisonne dans les limites de ce budget avant de répondre. Un humain précise combien réfléchir, à chaque requête. D'après la documentation officielle, les règles sont les suivantes :

  • Minimum 1 024 tokens. L'API rejette toute valeur inférieure
  • Doit rester inférieur à max_tokens — la réflexion y est comptée, il faut donc laisser de la place pour la réponse
  • Le budget est une cible, pas un plafond strict. La consommation réelle varie selon la tâche, et Claude termine souvent de réfléchir bien avant d'épuiser le budget
  • Au-delà de 32 000 tokens de budget de réflexion, Anthropic recommande le traitement par lots pour éviter les timeouts

Le problème de cette conception est simple : le bon budget diffère selon la tâche, et un humain ne peut pas le deviner à l'avance. Les questions simples peuvent gaspiller le budget alloué ; les problèmes difficiles peuvent en manquer. Et changer la valeur du budget invalide votre cache de prompt — la documentation le démontre avec un exemple chiffré.

3. Le passage à la réflexion adaptative — le modèle décide

C'est précisément ce que remplace la réflexion adaptative, introduite en 2026. La configuration tient en une ligne : thinking: {"type": "adaptive"}. Réfléchir ou non, et à quelle profondeur : c'est la décision de Claude lui-même, selon la difficulté apparente de la requête. Les entrées faciles reçoivent une réponse immédiate sans réflexion ; les problèmes difficiles ont droit à un raisonnement approfondi.

La migration a suivi le calendrier décrit dans la documentation « Extended thinking » d'Anthropic : budget_tokens a été déprécié sur Claude Opus 4.6 / Sonnet 4.6 (il y fonctionne encore), et les modèles à partir de Claude Opus 4.7 le rejettent avec une erreur 400. Pointez un ancien code vers un nouveau modèle, et il s'arrête là-dessus :

# Ancien : réflexion étendue (erreur 400 sur Opus 4.7 et suivants)
"thinking": {"type": "enabled", "budget_tokens": 10000}
→ 400: "thinking.type.enabled" is not supported ...

# Nouveau : réflexion adaptative (la profondeur se règle via effort)
"thinking": {"type": "adaptive"},
"output_config": {"effort": "high"}

La réécriture en elle-même est minime — supprimer budget_tokens, passer à adaptive et confier le contrôle de la profondeur à effort. Mais comme la documentation le signale, il s'agit d'un changement de comportement, pas seulement de syntaxe. Avec un budget fixe, Claude réfléchissait à chaque requête ; avec la réflexion adaptative, aux niveaux d'effort les plus bas, il peut sauter entièrement la réflexion sur les entrées faciles.

4. Comment chaque modèle gère la réflexion, en un coup d'œil

Le point délicat, c'est que « activée par défaut ? » et « désactivable ? » varient d'un modèle à l'autre. Voici la documentation officielle condensée en un seul tableau. Au 29 septembre 2026, la liste officielle d'Anthropic s'ouvre sur quatre modèles : Fable 5.1, Opus 5.5, Sonnet 5.5 et Haiku 4.5 ; Opus 5 et Sonnet 5 restent disponibles en tant que Legacy. À la sortie d'un nouveau modèle, vérifiez ces trois mêmes points dans le tableau par modèle de la page officielle « Troubleshooting thinking ».

Modèle Sans configuration Désactiver la réflexion budget_tokens
Claude Fable 5.1 / Fable 5 / Mythos 5.1 / Mythos 5 Réflexion activée (toujours) Impossible (400) Impossible (400)
Claude Opus 5.5 Réflexion activée (toujours) Impossible (400) Impossible (400)
Claude Sonnet 5.5 Réflexion activée (adaptative) Impossible (400)
À la place, between_tools coupe seulement la réflexion initiale (effort high ou moins)
Impossible (400)
Claude Opus 5 (Legacy) Réflexion activée (adaptative) Seulement à effort high ou moins
Combiné à xhigh / max : 400
Impossible (400)
Claude Sonnet 5 (Legacy) Réflexion activée (adaptative) Possible Impossible (400)
Claude Opus 4.8 / 4.7 Pas de réflexion (à activer explicitement via adaptive) Possible Impossible (400)
Claude Opus 4.6 / Sonnet 4.6 Pas de réflexion (à activer explicitement via adaptive) Possible Déprécié (fonctionne encore)
Haiku 4.5 / Sonnet 4.5 / Opus 4.5 Pas de réflexion — (désactivée par défaut de toute façon) Requis (seul mode de réflexion ; adaptive renvoie 400)

Source : Anthropic, « Thinking » et « Extended thinking » et « Troubleshooting thinking » (état : 29 septembre 2026)

Deux points comptent en pratique. D'abord, le défaut a basculé vers « réflexion activée » avec la génération Opus 5, et sur Opus 5.5 elle ne peut même plus être coupée — si vous exécutiez un traitement à moindre coût sur Opus 4.8 avec la réflexion désactivée et que vous ne changez que l'identifiant du modèle, les tokens de sortie gonflent de la part consacrée à la réflexion, et les réponses se font couper à max_tokens ou la facture augmente (le sujet est détaillé dans notre guide des changements incompatibles d'Opus 5). Sur Opus 5.5, l'effort est le seul moyen de limiter la quantité de réflexion. Ensuite, les modèles qui ne prennent en charge que la réflexion étendue continuent d'utiliser budget_tokens — c'est le cas de Haiku 4.5, de Sonnet 4.5 et d'Opus 4.5. Tant que vous restez sur ces modèles, rien n'est à réécrire, mais Sonnet 4.5 ne sera plus proposé sur la Claude API à partir du 30 novembre 2026 (annonce du 30 septembre ; le successeur est Sonnet 5.5 — voir la liste officielle des dépréciations de modèles). Basculez vers Sonnet 5.5 ce qui tourne sur Sonnet 4.5 avant cette date, et passez à la réflexion adaptative dans la foulée.

5. La profondeur se règle désormais avec effort

Le « budget » disparu, la profondeur de réflexion s'ajuste via output_config: {"effort": ...} — cinq niveaux, low / medium / high / xhigh / max, avec high comme valeur par défaut de l'API sur la plupart des modèles, et medium sur Opus 5.5 (sans effort, Opus 5.5 tourne un niveau plus bas qu'Opus 5). L'effort façonne plus que la profondeur de réflexion : il joue aussi sur le degré de regroupement des appels d'outils et la quantité de préambule, autrement dit sur la dépense totale de tokens.

low / medium

Tâches routinières, classification, sous-agents. Peut sauter la réflexion sur les entrées faciles = rapide et économique

high à xhigh

Raisonnement difficile, code et agents. Le point de départ varie selon le modèle ; Anthropic conseille de ne pas reprendre les réglages en changeant de modèle et de tester les niveaux sur vos propres évaluations

max

Pour les problèmes où avoir juste prime sur le coût. Pas toujours le meilleur résultat : ne le figez pas

La signification des cinq niveaux, le curseur de Claude Code et la persistance des réglages sont détaillés dans notre guide du réglage effort. Une remarque de la documentation côté cache : en mode adaptatif, la valeur d'effort est rendue dans le prompt, donc la changer invalide le cache de prompt — le même schéma que « changer le budget casse le cache » à l'ère de la réflexion étendue. Évitez de la basculer sans cesse en cours de conversation. Exception : sur Fable 5.1, Opus 5.5, Opus 5 et quelques autres, changer l'effort par un message en cours de conversation (bêta) conserve le cache de tout ce qui précède.

6. La réflexion se paie même quand elle est invisible

L'apparence extérieure de la réflexion est contrôlée par le champ display, qui prend deux valeurs :

  • "summarized" — le bloc thinking contient un résumé lisible du raisonnement. Défaut sur Claude Opus 4.6 / Sonnet 4.6 et antérieurs
  • "omitted" — le bloc thinking revient avec une chaîne vide à l'intérieur. Défaut sur Fable 5.1 / Fable 5 / Mythos 5.1 / Mythos 5 / Opus 5.5 / Opus 5 / Sonnet 5.5 / Sonnet 5 / Opus 4.8 / 4.7

Deux pièges se logent ici. D'abord, plus le modèle est récent, plus le défaut penche vers « ne rien montrer » — déplacez sur un nouveau modèle une application qui diffusait le raisonnement aux utilisateurs, et l'expérience devient un long silence suivi d'une réponse soudaine. Pour la rendre visible, dites-le explicitement : thinking: {"type": "adaptive", "display": "summarized"}. Ensuite, display ne change que la visibilité — la facturation est identique. La documentation est explicite : avec omitted, vous payez malgré tout l'intégralité des tokens de réflexion ; ce que vous gagnez, c'est de la latence, pas du coût. Et aucune configuration ne renvoie la chaîne de pensée brute — ce que montre summarized est un résumé.

Mesurer ce que la réflexion vous coûte : le champ de réponse usage.output_tokens_details.thinking_tokens indique combien de tokens de sortie facturés relèvent du raisonnement interne. En streaming, il n'apparaît que sur l'événement message_delta final. « Je ne vois pas la réflexion » ne signifie jamais « elle n'a pas lieu » — vérifiez ce champ après migration.

Un dernier point qui compte en pratique : la manipulation des blocs de réflexion. Dans les conversations multi-tours et l'usage d'outils, renvoyez les blocs de réflexion de la réponse précédente strictement inchangés. Les modifier déclenche un 400 — l'erreur « invalid signature in thinking block » que rencontrent les utilisateurs de Claude Code vient exactement de ce mécanisme.

7. Les pièges de la désactivation de la réflexion

« La vitesse nous importe, coupons la réflexion » est un choix légitime — mais Opus 5.5 et les modèles Fable ne permettent pas du tout de la couper (disabled renvoie une erreur 400). On peut la couper notamment sur Sonnet 5 et sur Opus 4.8 et antérieurs, et sur Opus 5, cela vient avec des conditions. D'après la documentation officielle, sur Opus 5 :

✅ Autorisé

Réflexion désactivée + effort low / medium / high

❌ Erreur 400

Réflexion désactivée + effort xhigh / max (vérifié à chaque requête)

🔧 Recommandé

Ne la désactivez pas — abaissez plutôt l'effort à low / medium

Même quand la requête passe, il reste des effets secondaires. Anthropic documente qu'avec la réflexion désactivée, Opus 5 peut écrire les appels d'outils dans le corps du texte (l'outil ne s'exécute jamais alors que le tour semble réussi) et peut laisser fuiter des balises XML internes dans la sortie. Si vous construisez des agents, garder la réflexion activée et abaisser l'effort est la voie sûre — et cela réduit le coût à peu près dans la même direction, de toute façon.

Sonnet 5.5 n'accepte pas disabled (erreur 400). Son réglage le plus bas est thinking: {"type": "between_tools"}, qui coupe seulement la réflexion initiale, celle qui précède la réponse. Les courtes notes d'avancement qu'il écrit entre les appels d'outils reviennent toujours sous forme de blocs de réflexion, et une requête sans outils ne renvoie que du texte, comme disabled sur Sonnet 5. Cela ne fonctionne qu'à effort high ou moins ; combiné à xhigh / max, il renvoie une erreur 400 (Anthropic, « What's new in Claude Sonnet 5.5 »).

8. Réfléchir entre les appels d'outils — la réflexion entrelacée

La réflexion ne se limite pas à « une fois, avant la réponse ». Avec la réflexion entrelacée (interleaved thinking), Claude raisonne aussi entre les appels d'outils, pesant chaque résultat d'outil avant de décider du coup suivant — réviser le plan après avoir lu des résultats de recherche, choisir la commande suivante après avoir lu la sortie de la précédente. C'est la mécanique qui sous-tend un bon comportement agentique.

Là aussi, il existe une différence générationnelle. Dans l'ancien monde de la réflexion étendue, cela exigeait l'en-tête bêta interleaved-thinking-2025-05-14 ; avec la réflexion adaptative, c'est automatique et l'en-tête devient superflu (la documentation précise que « la réflexion adaptative s'entrelace automatiquement » et indique que l'on peut retirer l'en-tête après la migration). Passer à la réflexion adaptative simplifie votre code d'un réglage de plus.

9. Quand la vitesse prime : le mode rapide

Si vous voulez la qualité de la réflexion avec moins d'attente, l'option s'appelle le mode rapide (fast mode). D'après la documentation Claude Code sur le fast mode, il ne s'agit pas d'un déclassement vers un autre modèle : c'est le même Claude Opus, exécuté dans une configuration qui privilégie la vitesse. La sortie est jusqu'à environ 2,5x plus rapide et le prix double (au 25 septembre 2026 : 8 $ en entrée / 40 $ en sortie par million de tokens sur Opus 5.5, et 10 $ / 50 $ sur Opus 5 et Opus 4.8). Il n'est disponible que sur Opus 5.5, Opus 5 et Opus 4.8 ; le fast mode d'Opus 4.7 a été retiré le 24 juillet 2026.

Dans Claude Code : /fast

Tapez /fast dans le CLI pour l'activer ou le couper (dans l'extension VS Code, la commande « Toggle fast mode » apparaît quand le modèle choisi le prend en charge). La consigne officielle : activé pour l'itération rapide en interactif, coupé quand le coût compte plus que la latence.

Sur l'API : research preview

API Claude uniquement — indisponible sur Amazon Bedrock, Google Cloud et Microsoft Foundry. Notez aussi que changer de vitesse invalide le cache de prompt.

Réflexion, effort et mode rapide jouent des rôles distincts : la réflexion = le mécanisme qui décide de raisonner ou non, l'effort = la profondeur du raisonnement, le mode rapide = la vitesse à laquelle le même raisonnement est livré. Avant de dégainer « c'est lent, coupons la réflexion », rappelez-vous que vous tenez deux autres cartes : abaisser l'effort, ou activer le mode rapide.

Récapitulatif

  • La réflexion étendue (budget_tokens) est l'ancienne méthode. Dépréciée sur Opus 4.6 / Sonnet 4.6, erreur 400 à partir d'Opus 4.7 — et toujours le seul mode de réflexion des modèles qui ne prennent en charge que la réflexion étendue (Haiku 4.5 / Sonnet 4.5 / Opus 4.5)
  • La réflexion adaptative est la méthode actuelle. Le modèle décide s'il réfléchit et combien ; la profondeur se règle avec effort (cinq niveaux ; défaut high sur la plupart des modèles, medium sur Opus 5.5)
  • Opus 5 et suivants, Sonnet 5 et suivants, et les modèles Fable ont la réflexion activée par défaut. Opus 5.5 et Fable ne peuvent pas la désactiver ; Opus 5 seulement à effort high ou moins ; Sonnet 5 le peut ; Sonnet 5.5 prend between_tools au lieu de disabled (seule la réflexion initiale est coupée, à effort high ou moins)
  • Vous payez la réflexion même quand elle est invisible. Le défaut de la nouvelle génération est display: "omitted" (blocs de réflexion vides). Mesurez avec usage.output_tokens_details.thinking_tokens
  • Désactiver la réflexion a des effets secondaires (appels d'outils en texte, fuite de balises). Abaisser l'effort est plus sûr que désactiver
  • La réflexion entrelacée est automatique en adaptatif — l'en-tête bêta n'est plus nécessaire
  • Besoin de vitesse ? Le mode rapide (environ 2,5x, prix doublé, Opus 5.5/5/4.8 ; bascule avec /fast dans Claude Code)

FAQ

Q. J'ai défini budget_tokens et j'ai reçu une erreur 400.

A. Les modèles à partir d'Opus 4.7 (y compris Opus 5.5 / Opus 5 / Sonnet 5.5 / Sonnet 5 / Fable) n'acceptent pas thinking: {"type": "enabled", "budget_tokens": N}. Réécrivez-le en thinking: {"type": "adaptive"} et contrôlez la profondeur avec output_config: {"effort": ...}. Sur les modèles qui ne prennent en charge que la réflexion étendue, comme Haiku 4.5 et Sonnet 4.5, c'est au contraire adaptive qui renvoie une erreur 400 : n'y réécrivez rien.

Q. Depuis le passage à la réflexion adaptative, les réponses sont coupées en pleine phrase.

A. Les tokens de réflexion comptent dans max_tokens. Opus 5 et suivants en particulier ont la réflexion activée par défaut : un code qui calibrait max_tokens au plus juste pour un ancien modèle cède désormais du budget à la réflexion et tronque la réponse. Donnez plus de marge à max_tokens, ou abaissez l'effort.

Q. Les blocs de réflexion reviennent vides. Quelque chose est cassé ?

A. C'est la spécification. Sur Opus 5.5 / Opus 5 / Sonnet 5.5 / Sonnet 5 / Fable / Opus 4.8 / 4.7, le défaut de display est "omitted" (blocs de réflexion vides). Pour voir le résumé, définissez explicitement thinking: {"type": "adaptive", "display": "summarized"}. La facturation est identique dans les deux cas.

Q. Si je désactive la réflexion, est-ce que j'économise cet argent ?

A. Vous économisez les tokens de réflexion eux-mêmes. Mais Opus 5.5 et Fable ne permettent pas du tout de la désactiver (erreur 400), et sur Opus 5, la désactivation ne se combine pas avec effort xhigh/max (erreur 400), et même quand elle fonctionne, Anthropic documente des effets secondaires : appels d'outils écrits en texte brut et balises internes qui fuient dans la sortie. Pour les charges agentiques, garder la réflexion activée et descendre l'effort à low / medium réduit le coût plus sûrement.

Q. Faut-il configurer la réflexion dans Claude Code (ou les applis de chat) ?

A. Non — Claude Code et claude.ai gèrent la réflexion pour vous : il n'y a aucun paramètre d'API à définir. Ce que vous pouvez toucher, c'est le réglage effort et /fast (la bascule du mode rapide) ; la mécanique d'activation de la réflexion n'affleure jamais.

Note : les spécifications et les chiffres de cet article reposent sur la documentation Anthropic « Thinking », « Extended thinking » et la documentation Claude Code « Fast mode » (toutes en l'état d'août 2026). Les spécifications évoluent ; vérifiez la formulation en vigueur dans les documents officiels avant de bâtir dessus.