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 una benzinera, un home amb gorra aboca amb orgull al dipòsit d'un cotxe petit, amb el destell de Claude pintat a la porta, un bidó d'additiu «Fuel Saver», mentre l'empleat de la benzinera, al costat del sortidor, obre les mans amb un somriure escèptic.
📷 Imatge generada amb IA

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

Un missatger amb casc i el destell de Claude carrega a l'esquena una motxilla enorme, plena de llibres, carpetes i caixes d'eines, per lliurar, somrient, una nota diminuta a una recepcionista que signa a la tauleta un altre albarà al costat d'una pila d'albarans idèntics.
📷 Imatge generada amb IA

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

Tokens i factura de les deu tasques sense TokenEconomizer (ronda 1)
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)
Dades pròpies (31-10-2026), Claude Code 2.1.316 amb Sonnet 5.5; suma de les deu sessions. Camps `cache_read_input_tokens`, `cache_creation_input_tokens`, `output_tokens` i `input_tokens` de cada resposta. La part de la factura surt de les tarifes que reprodueixen el `total_cost_usd` de les 120 sessions: 2 $ per milió l'entrada, 10 $ la sortida, 0,10 $ la memòria cau llegida i 2,50 $ l'escrita.

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

El que declaren els autors de TokenEconomizer
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 % —
Dades dels autors (documentació de TokenEconomizer, versió 0.1.0, i article d'arXiv del 15-10-2026, sense revisió per parells). SWE-Bench: 277 tasques de sis repositoris, comparades amb el mateix agent sense TokenEconomizer; el cost inclou les crides a model del mateix TokenEconomizer.

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

Cost comparat amb la configuració sense complement
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
Dades pròpies (31-10-2026), Claude Code 2.1.316 amb Sonnet 5.5. La fila de referència dona el cost en dòlars; les altres, la diferència respecte d'aquesta. Repetir la sessió sense complement ja mou el total un 1,3 % de la ronda 1 a la 2. Deu tasques no són SWE-Bench.
Una científica amb bata compara, pensativa, dues cistelles de fruita amb el destell de Claude en una balança de plats: una porta un gran llaç daurat i l'altra no, i l'agulla es queda al centre; darrere, el seu ajudant, sorprès, ha marcat les dues columnes de la llibreta.
📷 Imatge generada amb IA

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 %

Efecte de la poda d'eines
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 %
Dades pròpies (31-10-2026), Claude Code 2.1.316 amb Sonnet 5.5. La sessió de la tasca 6 és la primera amb la llista aplicada i ha de tornar a escriure la memòria cau.

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

L'efecte de la memòria cau: ronda 2 contra ronda 3
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 %
Dades pròpies (31-10-2026), Claude Code 2.1.316 amb Sonnet 5.5. Entre la ronda 1 i la 2 van passar més de cinc minuts i no hi va haver aquest efecte. Amb poda o amb fets injectats canvia el començament del prompt i s'aprofita pitjor la memòria cau heretada. La ronda 3 queda fora de les xifres principals.

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ó

En un taller, una dona concentrada encaixa una peça amb la forma del destell de Claude en una maqueta de ciutat, al costat d'un cronòmetre i una llibreta oberta, mentre la maqueta original continua intacta sota una campana de vidre a la taula del fons i un company la mira divertit des de la porta.
📷 Imatge generada amb IA

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

Comentaris

Sigues respectuós. Els comentaris es moderen.

    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

    ← Torna al blog