Need help?
<- Back

Comments (57)

  • aeneas_ory
    All of these "hacks" are snakeoil and I think deep down we all know. Whether it's caveman, RTK, or whatever other vibe-coded productivity/token cost saving hacks/skills/claude.md.What I had success with (although benchmarks are older) is to index the codebase with a dedicated local code embedding model. It's a bit expensive on the CPU side but in my benchmarks it reduced token use and wall clock time significantly. Of course, it's always dependent on statistical noise + host system load, and running sufficiently large benchmarks is simply too expensive, so take em with a grain of salt.Why does it work you may ask? Well, LLMs basically brute force words/phrases and pipe that into find/grep/pgrep/whatever (or as recently discussed here write a python script for it - https://news.ycombinator.com/item?id=49654229). Semantic search looks for similarities so you have to do less brute forcing. Comes of course at the cost of indexing everything first.You can find the project here: https://github.com/ory/lumen
  • ProjectBarks
    It seems like most of these tools are mostly vaporware. Benchmarks done on Headroom and RTK show that neither result in real savings. If it were possible to have such a simple pre-process step why wouldn’t the AI Labs upstream the optimizations themselves? My guess is they mostly don’t work or make the behavior much more confusing for the model. I really think there needs to be some kind of independent benchmark.Here are other cases demonstrating the exact same issues with these kinds of tools:https://blog.jetbrains.com/ai/2026/07/rtk-claude-code-token-... https://brandonbarker.me/writing/headroom-fewer-tokens-bigge...
  • oefrha
    It's pretty damn obvious to anyone who ever bothered to look at rtk gain output, no benchmark needed at all. Agent runs rtk command-that-prints-100k-tokens | tail -5 costs 5 lines, maybe 100 tokens without rtk, but rtk will report 100k savings. Of course it doesn't know about that tail -5.Worse, since rtk defaults to persisting that savings stat, it breaks sandboxing. Prefixing with rtk leads to random auto-mode denials from time to time too (this is independent of disabling savings stat persistence).Honestly have no idea why anyone who knows the first thing about CLIs would take rtk gain seriously. I guess clueless vibe coders who has hardly ever worked in a terminal before will look at the stat and feel good about it?That said, rtk is still mildly useful for compressing repeated test run outputs and stuff, but you should only ever use it on whitelisted commands; wrapping everything like they suggest you to do is just stupid.
  • gillesjacobs
    Main takeaway: Average cost per attempt, without → with RTK: Claude/Fable: $1.72 → $1.64 (~5% cheaper) DeepSeek: $0.115 → $0.121 (~5% more expensive) Almost all Claude savings came from a single task. Excluding it, savings were under 1%. It took me a few rereads to parse out the top-line. This article really buries the lede.
  • fg137
    Glad to see that more and more people realize these are just snake oils. Without objective metrics like benchmarks, none of the claims mean anything.That's also how I feel about skills/plugins. While some provide important context for specific projects/environments, I am very skeptical about (over)generalized skills like "writing JS tests" or "creating a spec". There are dozens of these skills internally at my company, but I haven't seen a single benchmark that shows any of those are better than just plain, single sentence prompts in a meaningful way (aka statistically significant).
  • kgeist
    The technique looked dubious from the start, because LLMs were trained to expect certain outputs from common bash tools. If the output is not what it expects, an LLM may issue more tool calls than before, because it will assume the tool is broken, the arguments passed to it were wrong, or it's a newer/older version of the tool etc => more tokens. Sounds like just adding to the prompt to use `grep` and `tail` extensively will do the trick without any special tooling.
  • kriskrunch
    Open question, how does this instruction in agent-rules.md look?"Cap large/unknown command output: `COMMAND 2>&1 | head -c 4000`. Never stream full logs, tests, or large files."I use that instead of RTK. Empirically, I found RTK makes my agents run longer to complete similar tasks.Ponytail and Caveman seem to help somewhat.
  • stephantul
    I think anyone who is even a little bit realistic knows that most technologies overclaim, or evaluate under very favorable conditions.This is not a good thing of course, but I also feel that acting surprised that this is going on is a little unnecessary.Having said that: most tools are not helpful
  • lackoftactics
    I wrote article about it couple months ago that I didn't believe it works. Nice to see numbers nowhttps://mroczek.dev/articles/the-token-compression-illusion-...
  • fwlr
    This makes sense. “Don’t try to penny-pinch your employees” is a lesson most managers learn eventually, and I guess agent-orchestrators will have to learn it too.
  • cityofdelusion
    Any magic tool that declares a savings of over 10% can be immediately classified as snake oil. You can check yourself, load any of those projects up in GitHub and notice the math is always extremely misleading. It will be something like theoretical input bytes, or amount of command stripped off, or some other lie.If the tool won’t be upfront about those things, they are not worth looking into any further. It’s used car salesman strategy.
  • GodelNumbering
    Some months ago I was evaluating command output compressors to integrate into Dirac[1] as that seemed like an easy win that would compliment and compound with Dirac's other mechanisms.I tested rtk among these and it was actually a net negative in both CPU time and accuracy, the latter would throw LLMs way off and make it hard to recover. If you are building a coding agent, I'd hard pass on rtk. ~ $ time grep Return * 2> /dev/null | wc -l 966 grep Return * 2> /dev/null 0.36s user 0.02s system 98% cpu 0.382 total wc -l 0.00s user 0.00s system 1% cpu 0.380 total ~ $ time rtk grep Return * 2> /dev/null | wc -l 260 rtk grep Return * 2> /dev/null 4.10s user 17.10s system 92% cpu 23.008 total wc -l 0.00s user 0.00s system 0% cpu 23.007 total Much worse CPU consumption, and more importantly, plain wrong result. These kind of results compromise the entire agent performance because the model trusts wrong output. Without the correct results, any hypothetical savings are penny wise pound foolishSo yeah I am still on the lookout for a credible CLI wrapper, do let me know if you have any in mind.[1] https://dirac.run/
  • anon
    undefined
  • hokkos
    If you are using maven you should tell your agent to use its quiet mode or rtk, because mvn love to write a lot of useless output.
  • elij
    I just spawn a subagent in the cheapest range (for example flash-lite) to summarise a tool use. It's the only way that has worked based on my benchmarks and generalises well.
  • psadri
    We have been working in this space for the past year. Based on our experience, I no longer trust any claims unless they are backed by benchmark results (yes, benchmarks are painful to run reliably and expensive).It is possible to reduce token usage. It’s just much harder than the basic approach.
  • fleetfox
    I don't understand how this or all these magic skill bundles and methodologies get traction and why they are so popular. It's either plain worse or has serious trade offs.
  • sreekanth850
    i don't know if such hacks works, but in C# if you use roslyn mcp, you save a lot.
  • santiago-pl
    rtk gain mechanism is oversimplified. 1 token != 4 bytes for the standard prompt / context window at coding agent.
  • semiquaver
    Just another instance of the bitter lesson. The model itself knows how to be clever and conserve tokens in command output by using shell primitives and as the models get smarter they get better at anticipating large output and defensively adapting the input commands.
  • RIMR
    This is my first time hearing about RTK, and yikes! The benchmarks mean nothing; this thing is actively dangerous to use.If my agent runs a shell command, show my agent the output of that shell command. I don't have a problem with automatically pruning or paginating large outputs, as long as the agent still has some form of access to the original output (e.g., by searching).But removing verbosity from an 'ls' command? That's ridiculous! If my agent runs `ls -la`, do not drop the owner and date from the output, because THAT'S AN EXPECTED PART OF THE OUTPUT. Nothing should be trying to predict the agent's intent and interfering, unless you want your agent to get confused and fail.These LLMs were trained on predictable shell behavior, and RTK deliberately subverts the model's expectations. There's no way that isn't degrading the model's capability.
  • vrighter
    well yeah.... now you're giving it output it wasn't trained on.
  • liam_ilands
    [flagged]
  • elian_ilands
    [flagged]
  • saltypixel
    [flagged]
  • yuzushi-dev
    [dead]
  • lucaprata
    [flagged]