Token
Définition
Unité de découpage du texte pour un LLM (≈ 3/4 de mot en français). Les tarifs API sont facturés au nombre de tokens en entrée et en sortie.
Ce qu'est un token
Le LLM ne lit pas du texte mais des tokens, des fragments de mots produits par un algorithme appelé tokenizer. Bonjour peut être un seul token, anticonstitutionnellement en compte plusieurs. Les mots fréquents (le, la, et, dans) sont des tokens uniques ; les mots rares ou les noms propres sont découpés en sous-unités. En français, on compte environ 4 caractères ou 0,75 mot par token. En anglais, c'est plutôt 1 mot par token. Les chiffres, la ponctuation, les espaces et les sauts de ligne comptent aussi. Le tokenizer le plus répandu est BPE (Byte-Pair Encoding) et ses variantes (tiktoken chez OpenAI).
Pourquoi ça compte pour vous
Tous les coûts API sont facturés au token : en entrée (votre prompt, l'historique, les documents fournis, la system instruction) et en sortie (la réponse générée). Sur un produit qui scale, optimiser un prompt de 2000 à 1200 tokens divise par presque deux le coût de chaque appel. Les tokens en entrée et en sortie ont des prix différents : la sortie coûte généralement 3 à 5 fois plus cher que l'entrée. Donc une réponse longue pèse beaucoup plus qu'on ne le pense. Limiter explicitement la longueur de réponse (max_tokens) protège des dérapages et des appels qui prennent 30 secondes pour produire des paragraphes inutiles.
Les tokenizers diffèrent
Chaque famille de modèles utilise son propre tokenizer, et le même texte ne compte pas le même nombre de tokens. Un texte français de 1000 caractères fait environ 280 tokens chez OpenAI (cl100k_base), 250 chez Anthropic, parfois plus chez Mistral selon le modèle. Quand on compare les prix entre fournisseurs, on compare donc à coût total par tâche, pas au tarif au million de tokens affiché. La librairie tiktoken d'OpenAI permet de compter précisément côté code, Anthropic expose l'API count_tokens. Sans cette mesure, les estimations restent grossières et les comparaisons biaisées.
Compter les tokens en pratique
Sur Next.js, on utilise tiktoken pour OpenAI, @anthropic-ai/tokenizer pour Anthropic. Pour estimer en gros sans installer de librairie : caractères / 4 en français, mots * 1.3 en anglais. On instrumente chaque appel API pour logger le nombre de tokens consommés en entrée et en sortie : c'est la base du monitoring de coût. Les dashboards des fournisseurs (OpenAI Usage, Anthropic Console) donnent une vue agrégée, mais pour piloter finement par fonctionnalité, on stocke les tokens dans sa propre base. Un produit IA mature a un coût par requête mesuré, un coût par utilisateur calculé, et des alertes sur dépassement.
Les limites de tokens
Chaque modèle a une limite de tokens par appel : la context window. GPT-5 et Claude 4.5 acceptent 200 000 tokens en entrée, parfois plus en mode étendu. Les modèles plus petits ou plus anciens sont limités à 32 000 ou 64 000. La sortie a aussi sa propre limite : généralement 4096 à 16384 tokens maximum, configurable via max_tokens. Si on demande au modèle de générer un livre, il s'arrêtera au plafond. Pour des sorties longues, on découpe en plusieurs appels enchaînés, chacun produisant une section.
Optimiser sa consommation
Trois leviers pour réduire la consommation de tokens. Compresser les instructions système : on évite les longs préambules pédagogiques, on va à l'essentiel. Filtrer le contexte injecté : pour un RAG, on ne charge que les 5 passages les plus pertinents, pas les 20 premiers. Limiter la sortie avec max_tokens et des instructions explicites (réponds en une phrase, en moins de 100 mots). Combinées au prompt caching et à un choix judicieux de modèle, ces optimisations peuvent diviser le coût d'un produit IA par 3 à 5, sans perte de qualité perceptible.