Aller au contenu

Les journaux de jetons de Claude Code surcomptent l'usage de 2,5x. Voici comment les compter correctement

Mis à jour November 3, 2026 · première publication November 3, 2026

Claude Code écrit le même message de l'assistant plusieurs fois dans son journal pendant que la réponse est diffusée en flux. En additionnant chaque ligne d'usage d'octobre, nous avons obtenu 21,3 milliards de jetons et 12 438 $ de valeur au prix public. En comptant chaque message une seule fois, nous obtenons 8,4 milliards de jetons et 4 323 $. La somme brute surcompte d'environ 2,5x en jetons et 2,9x en dollars.

2,5x
de surcomptage des jetons si l'on additionne chaque ligne
175 884
lignes d'usage pour 70 592 messages uniques
60 %
des lignes répétaient un message antérieur
14 %
des jetons de sortie manqués en ne gardant que la première ligne

Publié le 3 novembre 2026 · transcriptions de Claude Code, du 1er octobre au 3 novembre 2026 (UTC ; 1er au 3 novembre partiels)

Pourquoi un même message apparaît-il plusieurs fois ?

Chaque entrée de l'assistant dans une transcription de Claude Code (~/.claude/projects/.../*.jsonl) porte un objet usage avec les nombres de jetons d'entrée, de sortie, d'écriture dans le cache et de lecture du cache. Dans nos journaux, la même paire message.id et requestId apparaît sur plusieurs lignes, et les lignes suivantes portent des compteurs de sortie plus élevés que les premières. Nous n'avons pas retracé toutes les causes ; le schéma est cohérent avec une réponse écrite au fur et à mesure de sa diffusion. Quelle qu'en soit la cause, additionner toutes les lignes compte plusieurs fois la même requête. Sur 175 884 lignes d'usage de la période, seules 70 592 étaient des messages distincts.

De combien la somme brute se trompe-t-elle ?

Trois façons de compter un mois d'usage de Claude CodeAdditionner chaque ligne du journal donne 21,3 milliards de jetons et 12 438 $ ; compter chaque message une fois donne 8,4 milliards et 4 323 $.Somme de toutes les lignes21,3 Md de jetonsPremière ligne par message8,4 MdUne par message (max)8,4 MdSomme de toutes les lignes12 438 $ au prix publicPremière ligne par message4 297 $Une par message (max)4 323 $JETONS (entrée, sortie, écriture cache, lecture cache)VALEUR AU PRIX PUBLIC
Les mêmes transcriptions d'octobre comptées de trois façons. Les valeurs sont les prix publics de l'API issus de la page tarifaire d'Anthropic, les écritures dans le cache étant valorisées selon la répartition 5 minutes / 1 heure enregistrée. C'est une valeur aux prix publics, pas une facture.

La somme brute est 2,5x trop élevée en jetons et 2,9x trop élevée en dollars. Les dollars gonflent plus que les jetons, ce qui signifie que les lignes répétées étaient pondérées vers les types de jetons les plus chers ; nous n'avons pas détaillé davantage.

Pourquoi garder la première ligne est aussi une erreur

La solution évidente consiste à conserver la première ligne de chaque message. Cela sous-compte la sortie, car la première ligne est un instantané partiel. Nous gardons la plus grande valeur de chaque champ parmi toutes les lignes qui partagent le même identifiant de message et le même identifiant de requête.

Jetons de sortie manqués en ne gardant que la première ligne du journal, par modèlePourcentage de jetons de sortie que la première ligne du journal manque par rapport à la plus grande valeur présente sur une ligne du même message.Claude Haiku 4.5 (167 msg)99,6 %Claude Haiku 5.5 (6 300 msg)88,2 %Claude Sonnet 5.5 (25 440 msg)15,7 %Claude Opus 5.5 (38 379 msg)0,5 %Claude Fable 5.1 (223 msg)0,0 %
Jetons de sortie manqués en ne gardant que la première ligne de chaque message, par modèle (modèles de plus de 100 messages). Au total, la méthode de la première ligne a manqué 14 % des jetons de sortie (33,1 millions contre 38,5 millions).

L'écart varie selon le modèle : Claude Haiku 4.5 a perdu 100 % de ses jetons de sortie, tandis que Claude Fable 5.1 en a perdu 0,0 %. En dollars, l'effet était ici faible (4 297 $ contre 4 323 $, soit environ 0,6 %) car la sortie représentait une petite part de notre volume de jetons. Une charge de travail qui écrit davantage et lit moins le ressentirait plus.

Trois autres façons dont les journaux d'agents induisent en erreur

Comment nous avons compté

  1. Lire les entrées de l'assistant qui ont un objet usage, entre le 1er octobre et le 3 novembre 2026 (UTC). Ignorer les messages de substitution synthétiques.
  2. Identifier chaque entrée par message.id plus requestId. Si aucun des deux n'existe, utiliser le fichier et l'identifiant de l'entrée.
  3. Pour chaque clé, garder le maximum de chaque champ d'usage parmi ses lignes. Inclure les messages des sous-agents (sidechain), qui sont journalisés dans les mêmes fichiers.
  4. Valoriser les jetons aux prix publics d'Anthropic (vérifiés le 3 novembre 2026) : par exemple Opus 5.5 à 4 $ en entrée, 0,20 $ en lecture du cache et 20 $ en sortie par million de jetons, et Sonnet 5.5 à 2 $, 0,10 $ et 10 $. Les écritures dans le cache utilisent la répartition 5 minutes / 1 heure enregistrée. Haiku 5.5 applique son tarif plus élevé pour les prompts de plus de 100 000 jetons, que nous estimons message par message à partir de ses jetons côté entrée.

Ce que cela ne dit pas

Que faire de tout cela

  1. Dédoublonnez avant d'additionner. Tout tableau de bord qui additionne des lignes de journal surcompte probablement. Demandez quelle est sa clé.
  2. Utilisez le maximum, pas la première ligne, par message.
  3. Rapprochez d'une facture du fournisseur ou de la passerelle une fois par mois. Voir le suivi des jetons LLM et l'observabilité de l'IA pour ce qu'un registre doit contenir.
  4. Ne vous fiez pas à un zéro. Suivez les jetons même là où le prix est gratuit.

Pour la vue d'usage que cela alimente, voir Claude Code en octobre : jetons, cache et valeur au prix public et comment vérifier et réduire la consommation de jetons de Claude Code.

Questions fréquentes

Comment compter correctement les jetons de Claude Code ?

Lisez les entrées de l'assistant dans les fichiers de transcription, identifiez chacune par son identifiant de message plus son identifiant de requête, et gardez le maximum de chaque champ d'usage parmi les lignes qui partagent la clé. Additionner chaque ligne a compté notre usage d'octobre 2,5 fois trop haut.

Pourquoi les journaux de Claude Code montrent-ils plusieurs fois le même message ?

Dans nos transcriptions, le même identifiant de message et le même identifiant de requête apparaissaient sur plusieurs lignes (175 884 lignes pour 70 592 messages uniques), les lignes suivantes portant des compteurs de sortie plus élevés. Ce schéma est cohérent avec une réponse journalisée pendant sa diffusion ; nous n'avons pas confirmé la cause auprès d'Anthropic.

Garder la première ligne de chaque message suffit-il ?

Cela sous-compte les jetons de sortie, car la première ligne est un instantané partiel. Nous avons manqué 14 % des jetons de sortie au total, et jusqu'à 100 % pour un modèle, bien que l'effet en dollars n'ait été que d'environ 0,6 % sur notre mix.

La valeur au prix public est-elle égale à ce que j'ai payé ?

Non. C'est le coût des mêmes jetons aux prix publics de l'API d'Anthropic. Un abonnement ou une remise de passerelle change ce que vous payez réellement, et les journaux ne contiennent aucun montant en dollars.

À lire aussi


Vous souhaitez appliquer cela à votre plateforme ? Transmettez vos factures fournisseurs, journaux de passerelle et principaux workflows ; nous cartographierons les coûts et les économies possibles. Demander un audit gratuit →

Retour à finopsllm.com