Tokens et fenêtre de contexte
Comprendre les limites physiques d'un agent : comment les tokens impactent le coût, la mémoire et la qualité des sessions longues.
Qu’est-ce qu’un token ?
Un token est l’unité de base que le modèle traite. Ce n’est pas un mot : c’est un fragment de texte issu de la tokenisation. En anglais, un token fait environ 0,75 mot. En français, environ 0,5 mot (les accents et caractères spéciaux consomment plus).
Tout est tokenisé : le prompt, le code source, les résultats d’outils, les messages d’erreur, l’historique de conversation.
Point clé : Le code est généralement plus dense en tokens que la prose : les noms de variables, la ponctuation, les accolades — tout compte. Un fichier C# de 200 lignes peut facilement représenter 2000+ tokens.
La fenêtre de contexte
La fenêtre de contexte est la quantité maximale de tokens que le modèle peut “voir” en une fois. C’est une limite dure : au-delà, les informations anciennes sont tronquées.
| Modèle (exemple) | Fenêtre de contexte |
|---|---|
| Claude Sonnet/Opus | ~200k tokens |
| GPT-4o | ~128k tokens |
200k tokens, ça semble énorme. Mais dans une session agentique, le contexte grossit à chaque tour : le prompt initial + chaque appel d’outil + chaque résultat + chaque correction. Après 30-40 tours, on peut facilement atteindre 50-100k tokens.
Context rot : quand l’agent oublie
Le context rot (dégradation du contexte) survient quand la session devient trop longue. Les messages anciens sont soit tronqués, soit relégués en fond de fenêtre où le modèle leur accorde moins d’attention.
Piège : Symptôme typique : l’agent commence à contredire ses propres décisions du début de session, ou refait un travail déjà fait. Ce n’est pas un bug du modèle — c’est la fenêtre de contexte qui déborde.
Remèdes
- Sessions courtes et focalisées : une tâche = une session.
- Sous-tâches indépendantes : chaque sous-tâche repart avec un contexte frais (sub-agents).
- Instructions persistantes : dans un fichier de config (CLAUDE.md) plutôt que répétées dans le chat.
- Budget de tours : limiter le nombre de tours par session pour éviter l’accumulation.
Impact sur les coûts
Chaque tour de boucle agentique renvoie l’historique complet au modèle. Le coût d’un tour est proportionnel au nombre total de tokens dans le contexte à ce moment-là.
Point clé : Le coût d’une session est quadratique par rapport au nombre de tours, pas linéaire. Le tour 1 envoie N tokens. Le tour 10 envoie N + tous les résultats des 9 tours précédents. Le tour 30 peut coûter 10x le tour 1.
C’est pour cette raison que le découpage en sous-tâches est aussi une stratégie d’optimisation des coûts, pas seulement de qualité.