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é.

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 : août 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.

Modèle Sans configuration Désactiver la réflexion budget_tokens
Claude Fable 5 / Mythos 5 Réflexion activée (toujours) Impossible (400) Impossible (400)
Claude Opus 5 Réflexion activée (adaptative) Seulement à effort high ou moins
Combiné à xhigh / max : 400
Impossible (400)
Claude Sonnet 5 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)
Sonnet 4.5 / Haiku 4.5 et antérieurs 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 » (état : août 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 — 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). Ensuite, seuls les modèles hérités continuent d'utiliser budget_tokens — tant que vous restez sur Sonnet 4.5 ou antérieur, il n'y a rien à migrer ; réécrivez au moment de passer à un modèle plus récent.

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. 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 (défaut) à xhigh

high pour le travail courant ; xhigh est le point de départ recommandé par Anthropic pour le code et les agents

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.

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 / Mythos 5 / Opus 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 sur Opus 5, il vient avec des conditions. D'après la documentation officielle :

✅ 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.

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 (10 $ en entrée / 50 $ en sortie par million de tokens, sur Opus 5 comme sur Opus 4.8). Il n'est disponible que sur 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 (l'extension VS Code ne le prend pas 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 hérités (Sonnet 4.5 / Haiku 4.5, etc.)
  • 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)
  • Opus 5 / Sonnet 5 / Fable 5 ont la réflexion activée par défaut. Fable 5 ne peut pas la désactiver ; Opus 5 seulement à 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/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 / Sonnet 5 / Fable 5) 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": ...}. Si vous restez sur des modèles hérités comme Sonnet 4.5 / Haiku 4.5, aucune réécriture n'est nécessaire.

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 en particulier a 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 / Sonnet 5 / Fable 5 / 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 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.