Aprenent IA
Estalviar tokens: la memòria cau sí, la drecera no
TokenEconomizer abaixa entre un 18,4 % i un 30,9 % el cost d'agents de programació com Claude Code en tasques de SWE-Bench, segons els seus autors, investigadors de Microsoft i de la Universitat de Califòrnia a Berkeley, en un article d'arXiv sense revisió per parells. En deu tasques reals amb Claude Code sobre el repositori d'aquesta web, twinforce.es, fetes dues vegades, el cost es va moure entre un 1,9 % menys i un 2,0 % més: del mateix ordre que el soroll, i amb una sola repetició de la referència no se'n pot separar.
En resum
- Segons els seus autors, en un article d'arXiv sense revisió per parells, TokenEconomizer redueix entre un 18,4 % i un 30,9 % el cost mitjà en 277 tasques de SWE-Bench.
- En una prova del 31 d'octubre amb Claude Code i Sonnet 5.5 sobre una còpia del repositori de twinforce.es, dues rondes de deu tasques, 20 sessions per configuració, van costar amb TokenEconomizer entre un 1,9 % menys i un 2,0 % més.
- Repetir les sessions sense TokenEconomizer ja canvia el total un 1,3 %, i cada tasca, un 4 % de mitjana: les diferències són del mateix ordre que el soroll, i amb una sola repetició de la referència no se'n poden separar.
- Amb els valors de fàbrica, la poda d'eines no va actuar en 30 sessions seguides: espera una hora sense activitat al repositori.
- El que més va moure la factura va ser la memòria cau: repetir les tasques pocs minuts després va abaratir les quatre configuracions entre un 23 % i un 43 %.
TokenEconomizer aprèn de les sessions que ja has fet
Un agent de programació no cobra per encàrrec, sinó per cada pas: llegir un fitxer, llançar els tests o corregir un error és una altra petició al model. I qui treballa cada dia al mateix repositori paga una vegada i una altra pel mateix, segons els autors de TokenEconomizer: les mateixes dades redescobertes, les mateixes eines que no es fan servir enviades a cada petició i els mateixos bucles d'errors.
TokenEconomizer vol retallar aquesta despesa «sense canviar l'agent mateix»: aprèn de les sessions ja fetes en un repositori i elimina malbaratament en les següents. El signen onze investigadors de Microsoft Research, la divisió de recerca de Microsoft; de Microsoft Security, la seva àrea de seguretat, i de la Universitat de Califòrnia a Berkeley, la universitat pública californiana.
Van publicar l'article el 15 d'octubre i la versió 0.1.0 del codi el 26, amb llicència Apache 2.0. Funciona amb Claude Code, Codex, GitHub Copilot CLI i Pi, i de manera experimental amb opencode.
S'instal·la com a complement i no demana clau pròpia
No demana clau d'API pròpia ni gestiona credencials: les seves crides a un model passen pel teu propi agent, i el que aprèn es queda a la teva màquina, a `~/.tokeneconomizer`. Si alguna cosa falla, la sessió continua com si no hi fos, segons la seva documentació. Requereix Python 3.10 o posterior i declara compatibilitat amb Claude Code de la 2.1.300 a la 2.1.310; amb la 2.1.316 d'aquesta prova va funcionar a la primera.
Cada torn torna a pagar tot l'anterior
La documentació de TokenEconomizer ho resumeix així: «cada torn torna a pagar les instruccions de l'agent, cada eina carregada i la conversa fins a aquell moment».
A la prova, la primera petició de cada sessió ja portava uns 20.900 tokens abans que l'agent fes res: les instruccions de Claude Code, les del repositori i la descripció de 24 eines. Cada pas posterior reenvia tot això, més el que s'ha llegit i escrit fins llavors. Gairebé tot és relectura, i la relectura té la seva pròpia tarifa.
La memòria cau cobra al 5 % el que es repeteix
| Tipus de token | Tokens | Part dels tokens | Part de la factura |
|---|---|---|---|
| Llegits de la memòria cau | 696.838 | 84,6 % | 14,5 % |
| Escrits a la memòria cau | 114.749 | 13,9 % | 59,9 % |
| Sortida (el que escriu el model) | 12.240 | 1,5 % | 25,5 % |
| Entrada sense memòria cau | 72 | 0,0 % | 0,0 % |
| Total | 823.899 | 100 % | 100 % (0,4791 USD) |
A la prova, llegir de la memòria cau costava 0,10 dòlars per milió de tokens, el 5 % dels 2 dòlars de l'entrada normal; escriure-hi, 2,50 dòlars, 1,25 vegades l'entrada, i la sortida, 10 dòlars.
La taula ho mostra amb les deu tasques de la ronda 1 sense TokenEconomizer: gairebé 85 de cada 100 tokens es van llegir de la memòria cau, però aquesta relectura només va ser el 14,5 % de la factura. El que més va pesar en dòlars va ser escriure a la memòria cau, seguit de la sortida.
Això canvia on és l'estalvi: treure text del començament del prompt abaixa tokens que es cobren a una vintena part del preu, i qualsevol canvi en aquesta part obliga a tornar a escriure la memòria cau, que és el més car.
Tres retallades: fets, eines i bucles
La primera, micro-skills, recorda com funciona el repositori: que allà els tests es llancen amb `python -m pytest`, per exemple. Aprèn aquests fets d'errors repetits i d'un model que repassa les sessions recents cada tres, i només els injecta quan tres sessions els han confirmat. Ve desactivada de fàbrica perquè afegeix crides a un model.
La segona, la poda d'eines (tool pruning), deixa fora de les sessions següents l'eina que passa 10 peticions (prompts) sense fer-se servir, repartides en almenys 2 sessions, o 5 sessions senceres. A Claude Code ho escriu a `.claude/settings.local.json`, i `toolprune restore` ho desfà. Només aplica la llista després de 60 minuts sense activitat al repositori, o un dia després com a màxim, per no obligar a reescriure la memòria cau d'una conversa que es reprèn.
La tercera, el vigilant de bucles (loop guard), actua si es repeteixen els mateixos errors: un segon model fa de jutge i, amb una confiança d'almenys 0,7, afegeix una nota perquè l'agent canviï d'enfocament. Mai no atura un torn pel seu compte.
El que mesuren els autors: entre un 18,4 % i un 30,9 % menys
| Prova | Agent i model | Cost mitjà | Pass@1 |
|---|---|---|---|
| SWE-Bench | Claude Code + Sonnet 5 | −23,6 % | +1,3 punts |
| SWE-Bench | Claude Code + Opus 4.8 | −30,9 % | −1,0 punts |
| SWE-Bench | Codex + GPT-5.6 Terra | −24,7 % | +0,9 punts |
| SWE-Bench | Codex + GPT-5.6 Sol | −26,1 % | +1,6 punts |
| SWE-Bench | Copilot CLI + Sonnet 5 | −18,4 % | +2,6 punts |
| Web-Bench | — | entre −16 % i −21 % | — |
| Auditoria de seguretat (dues proves, un repositori nou a cada tasca) | — | entre −6 % i −20 % | — |
Els autors van provar cinc combinacions d'agent i model en 277 tasques de SWE-Bench de sis repositoris, començant sense res après. Segons les seves dades, el cost mitjà va baixar entre un 18,4 % i un 30,9 %, va ser més baix a les 30 cel·les de repositori i combinació, i l'encert a la primera va pujar en quatre de les cinc combinacions. Els seus costos inclouen les crides del mateix TokenEconomizer.
Són les seves pròpies xifres, en un article d'arXiv sense revisió per parells, amb el codi per repetir-les, i mesurades en tasques més llargues que les de la prova que ve a continuació.
La prova: deu tasques reals amb Claude Code
Es van donar deu encàrrecs petits a Claude Code 2.1.316 amb Sonnet 5.5 sobre una còpia del repositori de twinforce.es, una web en Astro i TypeScript que es prova amb vitest: comptar articles, validar dates amb els seus tests, arreglar un error sembrat, un botó per compartir a Telegram o una clau de traducció en sis idiomes. Cada tasca va arrencar en una sessió nova des de la còpia neta, i el resultat es va comprovar després, sense que el model ho veiés, amb tests ocults, mutacions i un càlcul independent.
Quatre configuracions van treballar en paral·lel, tasca a tasca: Claude Code sense complement, com a referència; TokenEconomizer acabat d'instal·lar, amb la poda i el vigilant activats i micro-skills desactivat; la poda immediata, sense l'espera d'una hora (`toolprune_quiet_minutes=0`), i aquesta mateixa amb micro-skills. Les crides pròpies del complement van anar, amb el valor per defecte, a Haiku 5.5.
Cada configuració va fer les deu tasques tres vegades: la ronda 1 és la pràctica, la 2 mesura quant varia el resultat per si sol i la 3 queda fora per un efecte de la memòria cau. En total, 120 sessions i uns 5,09 dòlars a preu de llista.
El resultat: l'estalvi es confon amb el soroll
| Configuració | Ronda 1 | Ronda 1, tasques 1-5 | Ronda 1, tasques 6-10 | Ronda 2 | Rondes 1 i 2 (20 sessions) | Tasques resoltes |
|---|---|---|---|---|---|---|
| Sense complement (USD) | 0,4791 | 0,2361 | 0,2430 | 0,4731 | 0,9522 | 20/20 |
| Valors per defecte | +2,5 % | +2,3 % | +2,8 % | +1,4 % | +2,0 % | 20/20 |
| Poda immediata | −0,4 % | −0,9 % | 0,0 % | −3,4 % | −1,9 % | 20/20 |
| Poda + micro-skills | −1,8 % | −2,7 % | −1,0 % | −1,9 % | −1,9 % | 20/20 |
Les quatre configuracions van resoldre bé totes les tasques i van costar gairebé el mateix: amb els valors per defecte, una mica més; amb poda, una mica menys. La ronda 2, amb deu sessions d'experiència, dibuixa el mateix panorama.
El problema és la mida. Repetir la sessió sense complement ja mou el total un 1,3 %, i cada tasca, un 4 % de mitjana i fins a un 9,6 %. Les diferències del complement queden una mica per sobre del soroll del total i dins del de cada tasca: són del mateix ordre, i amb una sola repetició de la referència no se'n poden separar. El 18,4-30,9 % que declaren els autors a SWE-Bench no es reprodueix aquí, cosa esperable amb tasques curtes i ben especificades, pels motius que s'expliquen a continuació.
La poda retalla el prompt un 23 % i la factura un 2 %
| Mesura | Sense complement | Poda immediata | Diferència |
|---|---|---|---|
| Tokens de la primera petició de cada sessió | ≈ 20.900 | ≈ 16.100 | −23 % |
| Cost de les 15 sessions de la poda immediata amb la llista ja aplicada (USD) | 0,7160 | 0,7000 | −2,2 % |
| Tasca 6 de la ronda 1, la primera després de podar (USD) | 0,0613 | 0,0742 | +21 % |
Amb els valors per defecte, la poda no va treure res en 30 sessions. Després de la ronda 1 ja tenia una llista de 12 eines, però va quedar pendent: espera 60 minuts sense activitat, i entre sessió i sessió no va passar mai una hora. És el disseny, però qui la provi durant una tarda seguida no veurà la poda.
La poda immediata va treure 12 eines a partir de la sisena sessió, i a partir de la setena amb micro-skills, més una a la ronda 2: les de programar tasques, parlar amb altres agents, enviar avisos o obrir còpies de treball a part. La primera petició es va aprimar un 23 %, però el cost a penes es va moure.
Les definicions d'eines van a la part del prompt que es llegeix de la memòria cau al 5 % de la tarifa normal: retallar-les abaixa tokens que ja són barats. A més, la primera sessió després de la poda reescriu la memòria cau, i TokenEconomizer afegeix uns 320 tokens fixos per petició amb la descripció de les seves ordres.
Ni bucles per tallar ni fets per estalviar
El vigilant de bucles no es va arribar a provar: en les 90 sessions amb TokenEconomizer, zero crides al jutge i zero redireccions. Cap tasca no es va encallar; totes es van resoldre en entre 2 i 7 torns.
Micro-skills va aprendre sis fets certs, com on són els tests i com s'executen, i els va injectar a cada sessió. No va estalviar més que la poda sola: els encàrrecs ja deien què calia fer i on.
Amb els valors per defecte i amb la poda immediata, el complement no va fer crides pròpies a les sessions; a banda queda `refresh-catalog`, que es llança un cop en instal·lar-lo i va costar entre 0,01 i 0,02 dòlars per configuració. Amb micro-skills va gastar uns 0,025 dòlars, prop de l'1,9 % del cost, segons una estimació amb el preu de Haiku 5.5. El seu informe, `te status`, dona un 25,3 % perquè suma tokens de Haiku i de Sonnet com si costessin el mateix.
Mesura la despesa abans de retallar
| Mesura | Ronda 2 | Ronda 3, començada just després |
|---|---|---|
| Cost de les 10 tasques sense complement (USD) | 0,4731 | 0,2685 |
| Tokens escrits a la memòria cau, sense complement | 113.491 | 34.454 |
| Tokens escrits a la memòria cau, amb complement | entre 115.967 i 117.434 | entre 36.359 i 72.189 |
| Rebaixa de cost en les quatre configuracions | — | entre un 23 % i un 43 % |
La lliçó pràctica no és el complement, sinó la mesura. Claude Code dona el cost de cada sessió en mode no interactiu amb `claude -p "el teu encàrrec" --output-format json`: la resposta porta `total_cost_usd`, els torns a `num_turns` i els tokens a `usage`. Amb `jq '{cost: .total_cost_usd, torns: .num_turns, usage: .usage}'` es veu d'un cop d'ull. És el preu de llista, no una factura, però serveix per comparar.
El que més va moure aquest cost va ser la memòria cau. La ronda 3 va començar just en acabar la 2, i cada tasca va repetir uns 2,5 minuts després un prompt idèntic: la memòria cau de cinc minuts el va servir com a relectura i les quatre configuracions van costar entre un 23 % i un 43 % menys.
D'aquí surten tres regles: totes les configuracions a la mateixa hora; més de cinc minuts entre dues repeticions del mateix encàrrec, i la referència repetida almenys dues vegades. Si la diferència que busques és més petita que aquest soroll, no l'has mesurada.
Prova-ho al teu repositori sense tocar la teva configuració
Treballa sobre una còpia del repositori i amb una carpeta de configuració a part: Claude Code la pren de `CLAUDE_CONFIG_DIR`, i TokenEconomizer guarda el que aprèn a `TOKENECONOMIZER_HOME`.
Pas 1: amb les dues variables apuntant a carpetes noves, `git clone https://github.com/microsoft/TokenEconomizer.git`, `claude plugin marketplace add "$PWD/TokenEconomizer"` i `claude plugin install tokeneconomizer@tokeneconomizer`. Si no hi ha cap sessió iniciada en aquesta configuració, Claude Code demanarà `/login` o farà servir la teva `ANTHROPIC_API_KEY`.
Pas 2: a la còpia, executa `/tokeneconomizer:toolprune refresh-catalog` un cop, i un altre després de cada actualització de Claude Code. Per a proves seguides, `"$TOKENECONOMIZER_HOME/bin/te" --host claude config set toolprune_quiet_minutes=0` treu l'espera d'una hora.
Pas 3: cada encàrrec, en una sessió nova després de `git reset --hard` i `git clean`, amb `claude -p "el teu encàrrec" --model sonnet --output-format json > tasca-01.json`. Decideix abans què compta com a ben resolt; donar permisos totals a l'agent només és raonable en una còpia d'un sol ús.
Pas 4: repeteix amb una altra configuració sense el complement, almenys dues vegades, per conèixer el teu soroll. `TE_DISABLE=1` no serveix de referència: deixa al prompt els aproximadament 320 tokens del complement.
Pas 5: compara `total_cost_usd` tasca a tasca i mira què ha fet el complement, sense gastar cap torn, amb `"$TOKENECONOMIZER_HOME/bin/te" --host claude status`. `toolprune restore` torna el que s'ha podat, i com desinstal·lar-lo s'explica a `plugin/README.md` del seu repositori.
El que aquesta prova no diu
Deu tasques no són SWE-Bench. A les rondes 1 i 2, cada encàrrec va costar uns 5 cèntims de dòlar i va durar entre 3 i 7 torns, amb prompts que ja deien què calia fer i on. Hi va haver una sola repetició per tasca i ronda, i les configuracions van córrer en paral·lel contra la mateixa organització de l'API, de manera que les seves memòries cau es podien haver creuat.
Tampoc no diu que TokenEconomizer no serveixi en sessions llargues o en repositoris on l'agent es perd i s'encalla, on els seus mecanismes tenen alguna cosa per tallar: això no s'ha mesurat. Diu que en encàrrecs curts i precisos no hi va haver cap estalvi mesurable, i que la manera de saber quin és el teu cas és mesurar el teu.
L'altra palanca per abaixar la factura, triar el model pel seu cost per tasca, és a «El mateix preu per token, gairebé vuit vegades més car» (28-10-2026).
Conclusió
Un agent de programació torna a pagar a cada torn pel mateix, i TokenEconomizer apunta a aquest problema real. En deu encàrrecs curts amb Claude Code, el seu efecte va quedar en l'ordre del soroll, i el que més va moure la factura va ser la memòria cau. Abans d'instal·lar res per estalviar, mesura cada sessió amb `--output-format json`, repeteix la referència i compara en les mateixes condicions. Si la teva feina s'assembla a SWE-Bench, amb sessions llargues i encallades, és aquí on val la pena provar-lo.
Fonts primàries
La continuació natural
Aprèn IA al teu ritme amb els nostres cursos gratuïts.
A la nostra plataforma d'aprenentatge TAKU podràs accedir a aquest i a molts altres cursos de manera totalment gratuïta.
APRENDRE AMB TAKU
Comentaris