Comment réduire la consommation de tokens de Codex

Codex vous facture les lectures de fichiers trop zélées, la sortie brute des commandes, le manifeste MCP et un transcript qui ne cesse de grossir. Voici comment réduire chacun de ces postes sans perdre en qualité.

Profile photo of Paul Irolla

Par Paul Irolla

Founder · AI & developer tools · Tokenade

Ph.D. in AI · builds token-optimization tooling for AI coding agents

Voir la page de l'auteur
8 min de lecture
Résumer avec l'IA
Citer cette page

Comment réduire la consommation de tokens de Codex ?

Vous réduisez la consommation de tokens de Codex en attaquant les quatre choses qui dominent réellement sa facture : les lectures zélées de fichiers entiers, la sortie shell brute déversée dans le transcript, le manifeste d'outils renvoyé à chaque tour, et un historique de conversation qui refacture chaque lecture passée. Réduisez chacun de ces postes et le coût chute fortement — sans nuire à la qualité de la sortie, parce que vous coupez du bruit, pas du signal. C'est le pendant spécifique à Codex de Comment réduire la consommation de tokens d'un agent de codage IA. Si vous voulez d'abord la vision agnostique vis-à-vis de l'agent, commencez là. Ici, je projette ces mêmes leviers sur le Codex CLI d'OpenAI en particulier : comment il lit les fichiers, quelles commandes il exécute, et comment son transcript grossit sous la tarification de GPT-5.5 — qui, à 5 $ par million de tokens d'entrée et 30 $ par million de tokens de sortie, est le tarif de sortie le plus cher parmi les agents que j'utilise au quotidien, si bien que le calcul compte ici plus que presque partout ailleurs.

Pourquoi Codex consomme-t-il autant de tokens ?

Codex consomme des tokens principalement parce qu'il lit plus que nécessaire, puis relit cela à chaque tour suivant. Ce n'est pas un bug de Codex — c'est ainsi que fonctionne toute boucle agentique. À chaque étape, l'agent renvoie au modèle l'intégralité de l'historique de conversation plus tous les résultats d'outils. Donc toute lecture surdimensionnée que vous encourez tôt est repayée à chaque tour qui suit. Avec le tarif de sortie de 30 $/MTok de GPT-5.5 par-dessus, une session bâclée grimpe vite. Quatre schémas génèrent l'essentiel de la facture : Les lectures zélées de fichiers entiers. Quand on lui demande de « comprendre » un module, Codex lit par défaut le fichier complet. Un fichier TypeScript de 500 lignes représente environ 5 000–7 000 tokens, et Codex peut en charger une douzaine avant d'écrire la moindre ligne. Si le context window transporte ces lectures sur 20 tours, vous avez payé chacune 20 fois. La sortie shell non filtrée. Codex exécute des commandes — git status, npm test, tsc --noEmit, des scripts de build — et la sortie brute file droit dans le transcript. Un run de tests en échec peut émettre 15 000 tokens de stack traces, de coches vertes et de tableaux de temps. Codex en avait peut-être besoin de 50 : le nom du test en échec et l'assertion cassée. Le reste, c'est du lest, et vous le repayez à chaque tour où il reste en contexte. C'est le levier que je vois le plus souvent ignoré — voir output filtering pour le principe. Le manifeste d'outils. Chaque outil que Codex peut appeler — y compris chaque serveur MCP que vous avez connecté — annonce sa définition à chaque tour, qu'il soit utilisé ou non. Cinq serveurs avec dix outils chacun représentent une surcharge fixe qui s'accumule silencieusement au fil d'une longue session. Les meilleurs serveurs MCP pour Claude Code couvre ceux qui valent vraiment leur place ; la même discipline s'applique à Codex. Un transcript sans limite. Une session Codex qui s'étale sur plusieurs tâches, ou qui revisite sans cesse les mêmes fichiers, construit un transcript dont la relecture coûte plus cher que le travail d'origine. Chaque nouveau tour paie pour tous les tours précédents. Déterminer quel schéma domine vos sessions est l'étape une. Surveillez votre dashboard d'usage — la réponse pointe en général droit vers le bon levier.

Quels sont les plus gros leviers spécifiques à Codex ?

Les plus gros leviers sont la récupération de fichiers, l'output filtering et l'élagage des outils — à peu près dans cet ordre pour la plupart des sessions Codex.

Faites chercher Codex au lieu de lire

La récupération sémantique — trouver du code par le sens plutôt qu'en lisant des fichiers entiers — c'est là que les économies se concentrent. Au lieu de « lis auth.ts, lis session.ts, lis middleware.ts », vous voulez que Codex récupère les trois fonctions qui comptent réellement. C'est la différence entre 6 000 tokens et 600. La semantic code search et les embeddings qui la sous-tendent sont ce qui rend cela possible ; conceptuellement, c'est du RAG appliqué à votre dépôt. Une habitude moins coûteuse que vous pouvez adopter dès aujourd'hui : demandez à Codex de lire d'abord le skeleton — signatures, imports, définitions de types — et de ne charger un corps de fonction que lorsqu'il doit le modifier. La skeleton compression conserve chaque interface sur laquelle Codex raisonne tout en supprimant le volume ligne par ligne.

Filtrez la sortie des commandes avant qu'elle n'atteigne le contexte

Quand Codex exécute une commande bruyante, vous ne voulez que la partie qui change sa prochaine décision. Une suite de tests qui passe a besoin d'un « tout est vert » d'une ligne, pas de 300 lignes de coches. Une suite en échec a besoin de l'erreur et du fichier:ligne — pas de la traceback complète du framework. Faire passer les commandes verbeuses par un filtre, ou faire grep la sortie par Codex au lieu de la lire entièrement, retire couramment plus de 90 % des tokens d'une commande sans aucune perte d'information utile.

Élaguez le manifeste d'outils

Déconnectez les serveurs MCP que vous n'utilisez pas dans la tâche en cours. Si Codex débogue un bug CSS, il n'a pas besoin que votre MCP de base de données, votre MCP Stripe et votre MCP d'automatisation de navigateur s'annoncent tous à chaque tour. Le lazy loading — n'exposer le schéma complet d'un outil que lorsqu'il est sur le point d'être appelé — est le correctif structurel ; l'élagage manuel est la version que vous pouvez faire ce soir.

Comment le prompt caching change-t-il le calcul de Codex ?

Le prompt caching le change beaucoup, parce qu'un token mis en cache coûte environ 10 % d'un token frais. Sur GPT-5.5, cela transforme un tarif d'entrée de 5 $/MTok en un tarif effectif de ≈0,50 $/MTok pour le préfixe mis en cache. Le piège : le caching ne se déclenche que lorsque le préfixe est identique octet pour octet d'un tour à l'autre. Un system prompt ou un fichier de config de type AGENTS.md qui mute entre les runs — parce qu'il transporte des notes en cours — déjoue le cache et est refacturé au prix plein. Gardez ce préfixe stable et concis et vous obtenez un double gain : moins de tokens et un taux de cache-hit plus élevé. Prompt caching couvre la mécanique. Il vaut aussi la peine de connaître la tarification relative entre les agents que vous pourriez alterner, car le bon modèle peut être à lui seul un levier de coût en tokens. Claude Opus 4.8 tourne à 5 $/25 $ par MTok, Sonnet 4.6 est à 3 $/15 $, et Haiku 4.5 à 1 $/5 $ — donc pour le travail de manœuvre comme lire-et-résumer, un modèle plus petit sur la même tâche peut coûter une fraction des 30 $/MTok de sortie de GPT-5.5. Adaptez le modèle au travail. Le détail complet se trouve dans Tarification des tokens d'API LLM et Coûts en tokens des agents de codage IA.

Comment appliquer cela dès aujourd'hui

  1. Mesurez d'abord. Ouvrez votre dashboard d'usage et notez vos tokens-par-tâche de référence. Vous ne pouvez pas savoir quel levier compte sans cela. Le compteur de tokens et le calculateur de coût en tokens LLM vous aident à convertir les comptes de tokens en dollars.
  2. Plafonnez les lectures. Dites à Codex de récupérer des symboles, pas des fichiers — le skeleton d'abord, les corps à la demande. C'est en général le plus gros poste à lui seul.
  3. Filtrez le bruit. Faites passer la sortie de test/build/lint par un résumeur ou un grep avant qu'elle n'atteigne le transcript.
  4. Élaguez le manifeste. Déconnectez les serveurs MCP sans rapport avec la tâche en cours.
  5. Gardez le préfixe stable. Figez votre config/system prompt pour que le prompt caching se déclenche vraiment.
  6. Re-mesurez. Comparez à votre référence. Si un levier n'a pas bougé le chiffre, ce n'était pas votre goulot d'étranglement — passez à autre chose.
Si câbler tout cela à la main ressemble à un second métier, c'est exactement pour ça que j'ai construit Tokenade. Il applique automatiquement la récupération sémantique, la compression de sortie, les lectures en skeleton et le lazy loading des MCP — à l'intérieur de Codex, Claude Code, Cursor, Copilot, Windsurf et les autres — avec un dashboard d'économies pour que vous puissiez voir l'effet par session plutôt que de me croire sur parole. C'est gratuit jusqu'à environ 20M de tokens par mois ; Pro est à 9,90 €/mois (HT) avec trois sièges, et c'est source-available sous licence MIT, donc vous pouvez lire exactement ce qu'il envoie et ce qu'il retire avant de lui confier votre dépôt.

Ce qui tourne mal (anti-patterns)

Compresser jusqu'à supprimer le signal. Le mode de défaillance qui nuit réellement à la qualité, c'est de laisser tomber quelque chose de porteur — une signature de fonction dont Codex avait besoin, l'unique ligne d'erreur dans un mur de sortie. Le correctif est structurel : les lectures en skeleton conservent chaque interface, les filtres de sortie conservent l'erreur réelle. Coupez le bruit, jamais le signal. Optimiser le mauvais levier. Si vos sessions consistent surtout en Codex écrivant du nouveau code à partir d'une spec claire, vos tokens de sortie sont déjà la part incompressible et le réglage des lectures de fichiers n'aidera pas beaucoup. Mesurez avant d'optimiser, sinon vous dépenserez de l'effort là où il n'y a aucune marge. Un contexte gonflé dégrade le raisonnement, pas seulement le coût. Les modèles prêtent le moins d'attention à l'information enfouie au fond d'un long context window. Un transcript bourré de sortie de commande périmée ne coûte pas seulement plus cher — il rend Codex moins bon pour trouver le détail pertinent. La réduction de tokens et la qualité vont dans le même sens ici, et c'est la partie à laquelle les gens ne s'attendent pas. C'est la discipline que je regrouperais sous le context engineering : décider délibérément de ce que le modèle voit, plutôt que de laisser l'agent remplir la fenêtre avec ce qu'il a happé au passage. C'est la même compétence qui sépare l'agentic coding productif du vibe-coding qui vous mène à une session à 40 $.
Voir aussi :

Jusqu’à 88 % de tokens en moins. Sans configuration.

Tokenade est la façon la plus simple de réduire ce que votre agent de code envoie au modèle — installez-le une fois, économisez sur chaque prompt. Compatible avec Claude Code, Cursor, Codex, Copilot et plus.