RTK rapporteert enorme tokenbesparingen, maar onze kostenbenchmarks zijn het daar niet mee eens
RTK (Rust Token Killer) filtert en comprimeert terminaloutput voordat een AI-agent deze leest. Met meer dan 79.000 GitHub-stars is RTK een van de populairste tools om AI-coderen goedkoper te maken. Een X-bericht waarin werd beweerd dat RTK het tokenverbruik van Claude Code met wel 60% zou kunnen verminderen, behaalde 313.000 weergaven.
Toch vond een run van JetBrains’s SkillsBench geen besparingen. De README van RTK bevat dan ook een disclaimer:
"RTK vermindert tot 90% van de bash-output die je agent leest. [...] dit is niet hetzelfde als het verlagen van je rekening met 90%."
Minder terminaloutput is dus niet noodzakelijkerwijs gelijk aan goedkoper AI-coderen. Het kan helpen, geen effect hebben, of zelfs averechts werken (door meer beurten of lagere kwaliteit). In dit artikel presenteren we onze bevindingen na enkele dagen testen en een uitgave van meer dan $1.500 aan tokens.
Hoe RTK werkt
RTK kan Git-, test-, pakket- en bestandscommando's herschrijven die de agent uitvoert via zijn shell-tool (Bash in Claude Code, bash in OpenCode). Elke herschrijving resulteert in een kortere versie van dezelfde output.
Bijvoorbeeld, RTK behoudt bestandsnamen, groottes en permissies (644 betekent rw-r--r--), maar verwijdert de eigenaar en de datum:
Zonder RTK:
$ ls -la /app/warriors
-rw-r--r-- 1 root root 824 Sep 13 2025 g2-clear.red
-rw-r--r-- 1 root root 487 Sep 13 2025 paper.red
Met RTK:
$ rtk ls -la warriors/
644 g2-clear.red 824B
644 paper.red 487B
Testing RTK on Terminal-Bench 2.1
Omdat RTK terminaloutput comprimeert, hebben we het getest op Terminal-Bench 2.1, een benchmark met intensieve terminalinteractie. We kozen voor versie 2.1 in plaats van de nieuwere 3.0 en 4.0, omdat agents de meeste 2.1-taken passeren, terwijl 3.0 en 4.0 nog steeds een uitdaging vormen. Kosten zijn immers alleen relevant voor taken die worden voltooid.
We gebruikten Claude Code met Fable 5.0, en OpenCode met DeepSeek V4 Pro 0813 via OpenRouter. Elke taak werd vijf keer uitgevoerd zonder RTK en vijf keer ermee, op dezelfde modelroute, hetzelfde platform en met dezelfde taakspecifieke timeout. Na het verwijderen van vier Fable-beveiligingstaken die tot weigeringen leidden, beslaat de uiteindelijke vergelijking 85 Fable-taken en 89 DeepSeek-taken, oftewel 1.740 pogingen.
De eerste resultaten
In eerste instantie leken de resultaten veelbelovend: de kosten daalden met 5% voor Fable en stegen met 5% voor DeepSeek.
Claude Code · Fable 5.0
- Baseline: $596 (geslaagd) / $731 (totaal) — 84% pass rate
- RTK: $546 (geslaagd) / $698 (totaal) — 83% pass rate
OpenCode · DeepSeek V4 Pro 0813
- Baseline: $26 (geslaagd) / $51 (totaal) — 71% pass rate
- RTK: $31 (geslaagd) / $54 (totaal) — 69% pass rate
De pass-rates waren lager met RTK: met 1% voor Fable en 2% voor DeepSeek. Beide verschillen zijn klein.
Wanneer we de totale uitgaven (inclusief mislukte pogingen) delen door het aantal geslaagde taken, was Fable 3% goedkoper met RTK, terwijl DeepSeek 7% duurder was.
Een andere methode is om elke taak gelijk te wegen, omdat één dure taak vele goedkope taken kan overschaduwen. We vergeleken het gemiddelde van de baseline-pogingen per taak met het gemiddelde van de RTK-pogingen. Op dit taakniveau was Fable 1% duurder (geen duidelijk verschil met nul) en steeg de kostprijs van DeepSeek-taken gemiddeld met 17%.
Ook wanneer we rekening houden met mislukkingen, blijft de trend hetzelfde. Voor de 36 DeepSeek-taken waarbij alle tien de pogingen slaagden, was de kostenstijging nog steeds 18%.
Eén taak maakte het verschil
Bijna alle besparingen van Fable met RTK kwamen voort uit één enkele taak: winning-avg-corewars. In beide scenario's slaagde elke poging, maar met RTK was de taak in ongeveer de helft van de beurten voltooid. Bij alle andere taken waren de besparingen minder dan 1%.
DeepSeek vertoonde precies het tegenovergestelde resultaat voor diezelfde taak. Beide setups slaagden, maar RTK vereiste meer beurten en kostte meer. Zelfs zonder deze specifieke taak bleven de kosten met RTK hoger.
'rtk gain' is een nutteloze kostenmetriek
RTK documenteert 'rtk gain' als de ruwe minus de gefilterde output in bytes, gedeeld door 4, en niet als een telling van gefactureerde tokens. Over 445 DeepSeek-pogingen rapporteerde RTK een besparing van 349,2 miljoen tokens, een reductie van 89%. Grote gerapporteerde tokenbesparingen betekenden echter niet dat de taken goedkoper werden.
In de taak train-fasttext vroeg het model twee keer om head -1 train.txt. RTK schreef hier telkens 120,5 miljoen bespaarde tokens bij door deze beperkte leesacties te vergelijken met het volledige bestand. Deze twee aanroepen waren verantwoordelijk voor 69% van de besparingen in de teller, hoewel de opgevraagde commando's nooit het hele bestand zouden hebben teruggegeven.
Het behandelen van 'rtk gain' als bespaard geld gaat ervan uit dat de rest van de poging ongewijzigd blijft. RTK kan echter de volgende beurten van de agent beïnvloeden, en 'rtk gain' houdt geen rekening met de kosten van die extra beurten. Dit is waar social media-berichten de fout in gaan: 'rtk gain' telt verwijderde output, niet bespaard geld, waardoor een duurdere poging er geoptimaliseerd uit kan zien.
RTK-bugs kunnen parten spelen
Eén DeepSeek-poging voor git-multibranch raakte in een loop. De agent voerde een find uit met een vlag die rtk find 0.45.0 niet ondersteunde. De plugin herschreef dit naar rtk find, wat faalde met de melding "Use find directly". Elke herpoging werd opnieuw herschreven. RTK heeft dit in versie 0.46.0 opgelost, na onze tests.
De agent verzamelde 339 opeenvolgende fouten voordat de timeout werd bereikt. De taak werd uiteindelijk wel voltooid, maar kostte ongeveer 9x zoveel als de bijbehorende baseline-poging. Hoewel dit een uitschieter was, blijft de algemene trend overeind zonder deze poging.
Terminaloutput is een klein deel van de rekening
Zonder RTK maakte de tool-output ongeveer 11% van de inputtokens van Fable uit en 40% van die van DeepSeek.
In de RTK-pogingen maakten 31% van de terminal-aanroepen van Claude Code en 51% van die van OpenCode gebruik van RTK. RTK herschrijft alleen shell-commando's: de Claude Code-hook matcht de Bash-tool en de OpenCode-plugin werkt op bash-aanroepen. Beide platforms bieden bestandslezen en zoeken aan als aparte Read, Grep en Glob tools, die RTK omzeilen. Ongeveer de helft van de Bash-aanroepen van Claude Code beperkte de output al via head, tail of wc.
Bij agentisch coderen wordt de context na elke beurt gecachet, waardoor latere leesacties van terminaloutput grotendeels als cache-reads verschijnen. Deze kosten 1/10 van de reguliere inputtokens voor Fable, en 1/30 voor DeepSeek.
Bij DeepSeek verminderde RTK het aantal tekens in de terminaloutput met 9%, maar steeg het aantal prompt-tokens met 9%. Niet-gecachete input daalde met 1% en gecachete input steeg met 9%. Modeloutput, inclusief redenering, was verantwoordelijk voor 56% van de kosten met RTK en 57% zonder.
Extra beurten wissen de besparingen uit
Wanneer de agent meer beurten nodig had, steeg de kostprijs van de taak meestal mee. DeepSeek's RTK-pogingen vereisten meer beurten in 58 taken, waarvan er 44 duurder waren. Ze vereisten minder beurten in 28 taken, waarvan er 23 goedkoper waren.
De gemiddelde DeepSeek-beurt had met RTK 7% minder input, maar er waren in totaal 18% meer beurten. Kleinere beurten vertaalden zich dus niet naar minder totale input. Eén extra beurt van de agent kan meer kosten dan de besparing door compressie. Dit is een andere vorm van het 'tokenflation'-probleem. JetBrains zag hetzelfde patroon bij SkillsBench: RTK voegde beurten toe bij lage inspanning en verlaagde de kosten niet bij hoge inspanning.
Conclusie: RTK maakt AI-coderen niet goedkoper
Op Terminal-Bench 2.1 hingen de besparingen van Fable af van één enkele taak en waren ze niet consistent over alle taken. We raden RTK daarom niet aan als een generiek instrument voor kostenbesparing.
Individuele transcripties laten zien dat huidige frontier-modellen de terminal al efficiënt gebruiken (slechts ~7% van de context van Fable was terminaloutput). Modellen gebruiken zelf technieken zoals head -n of tail -n. RTK hielp waarschijnlijk meer bij oudere modellen. Tegenwoordig is het een niche-optimalisatie, geen bron van algemene besparingen.
***
Technische details: Getest met RTK 0.45.0, Claude Code 2.1.220, OpenCode 1.18.25 en Harbor 0.20. Trajecten zijn op aanvraag beschikbaar voor vervolgonderzoek.
Groetjes,