navigation
TX 003

Ce que l'IA consomme à chaque session, et comment on a commencé à le réduire

REX sur 244 sessions : 8 % ont saturé le contexte. Trois outils (caveman, ponytail, headroom) ramènent la consommation d'environ un tiers. Mesures, limites, quand activer lequel.

6 min de lecture

Planche de l'Encyclopédie : la casse, casier à caractères d'imprimerie — chaque pièce de type est l'ancêtre du « token ».

Planche de l’Encyclopédie (Diderot & d’Alembert) — « Imprimerie, l’opération de la casse », ca 1770. Domaine public, Bibliothèque du Congrès.

−32 % de tokens consommés par session — c’est ce que trois petits outils (caveman, ponytail, headroom) ont retiré de la facture, en moyenne sur 244 sessions réelles. Jusqu’à −40 % sur les sessions à fort outillage : debug long, pipeline CI, Jira + GitLab en parallèle.

Le problème que ça corrige : sur ces mêmes 244 sessions, 19 ont saturé leur contexte. À chaque fois, l’agent a résumé l’historique à la volée - et amputé une partie du fil. Le pire cas : 4 200 tokens compressés avec perte en une fois, sur une session de 2 151 messages.

La mesure

Sur ≈ 3 mois d’usage de pi-agent :

IndicateurValeurLecture
Sessions enregistrées2441 à 3 opérateurs
Compactions (contexte saturé → résumé forcé)19≈ 8 % des sessions ont débordé
Messages cumulés33 503volume réel
Messages / session — médiane30session courte
Messages / session — max2 151session marathon (une seule)
Plus grosse compaction16 743 caractères (≈ 4 200 tok avec perte)le pire cas

Le reste de l’usage suit le même arbitrage coût/qualité : glm-5.x pour l’essentiel (210 sessions), un modèle local gemma4:12b pour les tâches courantes (28), et la réflexion calibrée — high (193), low (107), medium (87), off (84), minimal (73) — selon l’enjeu. On paie plus de réflexion là où elle compte.

Le mécanisme — où partent les tokens

Un token, c’est l’unité de facturation de l’IA : à peu près un mot court, une ponctuation, une syllabe complexe. Chaque session a un budget fixe — le context window — non reportable, non partageable. Plein, l’IA résume ou oublie.

Ce budget se remplit de cinq sources, dans la même jauge :


SourceCe que c’estExemple
Instructions permanentesRègles et conventions de l’agentAGENTS.md, SYSTEM.md
Skills chargésRéférences chargées à la demandebrainstorming.md, tdd.md
Outils externes (MCP)Réponses des outils connectéstickets Jira, diffs GitLab
HistoriqueTout l’échange de la sessionquestions + réponses accumulées
Code luFichiers inspectés par l’agentpom.xml, classes Java, configs

Les 3 leviers

Chaque outil attaque un flux différent. Caveman agit sur l’entrée, ponytail sur la sortie, headroom sur les résultats d’outils.


Caveman — l’entrée

Mesuré (rapport 11/06, 36 fichiers de référence, 52 163 tokens) :

ModeGain corpusGain / session typiqueRisque
Full−14 %−900 tokfaible — lisible, maintenable
Ultra−22 %−1 433 tokmoyen — voir limite

Mode de communication ultra-dense : il compacte les fichiers de référence chargés et les réponses, sans toucher au fond technique. Meilleur ROI sur la prose (guides de tests, debug, refactoring) : jusqu’à −36 %. Sur le code dense (OAuth, CVE, Gherkin) : seulement −8 %, peu rentable.

Ponytail — la sortie

RéponseContenuTokens
Sans ponytailcode + explications + boilerplate + “on pourrait aussi…”~800 tok
Avec ponytailcode seul + 2 lignes max~350 tok

~−55 % par réponse en mode full. Ponytail applique YAGNI à l’IA : pas de code non demandé, pas d’abstraction spéculative, pas de scaffold “pour plus tard”. L’effet se cumule — chaque réponse plus courte reste dans l’historique, la jauge monte moins vite, la session longue reste cohérente plus longtemps.

Headroom — les résultats d’outils

Là où caveman et ponytail ne vont pas : chaque commande bash, lecture de fichier, appel Jira ou GitLab renvoie un volume qui entre direct dans le budget. Un diff un peu long, une liste de tickets, une stacktrace : 2 000 à 10 000 tokens injectés d’un coup.

Headroom est un proxy local (Python, en arrière-plan). Avant chaque envoi au LLM, il intercepte les gros résultats d’outils (> 2 000 caractères) dans les sessions déjà chargées (> 20 000 tokens) et les compresse silencieusement. Prompts, réponses et métadonnées restent intacts ; des guards garantissent qu’aucun contenu n’est altéré ni perdu.

Gains (sessions à fort outillage — CI/CD, Jira, lectures de fichiers) :

  • −30 % à −42 % sur les résultats d’outils concernés
  • indicateur temps réel dans le footer : ✓ Headroom -42% (12 345 saved)
  • commandes : /headroom (statut), /headroom on|off, /headroom stats

L’effet combiné

Session de développement typique — 20 échanges, 4 fichiers de référence, bash + lectures + MCP actifs. Coût évité estimé à prix modèle-frontière (~3 $/M tok en entrée) ; le mix réel glm/local le ramène à une fraction.

PosteVolumeOutilÉconomieCoût évité *
Skills chargés~5 854 tokCaveman ultra−1 433 tok (−24 %)~$0,004
Historique~15 000 tokPonytail−4 500 tok (−30 %)~$0,014
Résultats d’outils~30 000 tokHeadroom−10 500 tok (−35 %)~$0,032
Total session~51 000 tok3 outils−16 400 tok (−32 %)~$0,05

* Part entrée/contexte uniquement.

−30 % sur une session standard, jusqu’à −40 % sur une session à fort outillage (debug long, pipeline CI, Jira + GitLab en parallèle). Les trois outils sont indépendants et cumulables.

Ce qu’on garde, ce qu’on surveille

OutilCe qu’on garde (mesuré)Ce qu’on surveille
Caveman−36 % sur la prose méthodo, 0 perte de sensultra floute “MUST”/“HARD-GATE” ; −8 % seulement sur le code dense
Ponytail~−55 % par réponse (~800→~350 tok), “code cadeau” éliminépeut sous-livrer sur une demande volontairement détaillée → “donne la version complète”
Headroom−30 à −42 % sur les résultats d’outils, 0 intervention après autoStartrecul limité : pas encore de mesures longue durée hors outil

TL;DR — lequel activer

Si tu…Active
charges beaucoup de skills / guidesCaveman
veux des réponses sans code parasitePonytail
travailles avec Jira / GitLab / diffs en masseHeadroom

Cumulables. Indépendants. Aucun n’exclut l’autre — l’usage combiné fait la majorité du −32 %.

Installation

Caveman — déjà dans les dotfiles pi : ~/.pi/agent/skills/caveman/SKILL.md · activer : caveman mode ou /caveman · intensité : /caveman lite /caveman ultra · stop : normal mode

Ponytail :

Terminal window
pi install git:github.com/DietrichGebert/ponytail

activer : ponytail ou /ponytail · intensité : /ponytail full /ponytail lite · stop : /ponytail stop

Headroom :

Terminal window
pip install "headroom-ai[proxy]"
pi install npm:@ryan_nookpi/pi-extension-headroom
{ "autoStart": true }

vérif : /headroom health · statut : /headroom


Fonctionne avec pi-agent, Copilot, OpenCode. Pour les autres harness : ça dépend du support des skills/extensions.

Table des matières

My avatar

Merci d’avoir lu cet article ! N’hésitez pas à consulter mes autres publications ou à me contacter via les liens sociaux en bas de page.

Commentaires