声称省 90% token 的 CLI,账单为什么没降

RTK(Rust Token Killer)最近在 GitHub 上了 7 万星。做了一件很简单的事:在终端输出进入 AI 编码 Agent 之前先压一道。git status、cargo test、pytest 这些命令动辄几百上千行,RTK 只留下有用的部分。`brew install rtk` 装完,`rtk init -g` 一条命令配好 hook,之后 Claude Code 跑的所有 bash 命令都会自动走 RTK 压缩,Agent 完全无感。

不只是 Claude Code,支持的 Agent 有 16 个:

  • Claude Code(PreToolUse hook 透明重写)
  • Cursor / Cline / Windsurf(项目级规则文件)
  • GitHub Copilot(VS Code + CLI)
  • Codex(AGENTS.md 指令)
  • Gemini CLI / Kimi / Antigravity / Hermes 等

覆盖的命令超过 100 个,从 git、cargo、npm 到 docker、kubectl、aws 都有。也支持用 TOML 写自定义过滤器,不用写 Rust。

压完之后效果确实夸张。git log 压缩 92%,vitest 压缩 99% 以上,cargo test 平均 89%。一个跑 262 个测试的 cargo test,原始输出 4823 token,压完剩 11 个。测试全过的时候只留一行计数,失败项才展开 traceback——跟人读输出的习惯一样。

但 90% 这个数字容易让人产生错觉。

有人分析了真实的 Claude Code 账单(926 美元那个),bash 输出只占总 token 的 12%,剩下 65% 是文件读取。在 bash 输出上省 90%,对总账单的影响大约是 6-10%。这个差距不小。

JetBrains 做了个 A/B 测试。他们在低推理模式下跑了一遍,用了 RTK 的会话反而贵了 7.6%,多了 13.8% 的轮次。高推理模式下基本没差别。原因不复杂:压缩后的输出有时信息不够,Agent 会多发一次工具调用或多绕一轮来补,反而烧更多 token。

RTK 自己的 README 倒是挺诚实的。把以前一些没来源的数字删了——99.5% 安装成功率、虚构的会话表格、”省 90% 账单”的表述。现在明确写了”省的是 bash 输出字节数,不是总账单的 90%”。还有个细节:RTK 不带 tokenizer,token 数靠 bytes 除以 4 估算,百分比可靠但绝对值是近似。

另外 hook 只作用于 Bash 工具调用。像 Claude Code 内置的 Read、Grep、Glob 这些不走 Bash,不会被自动重写。想压缩文件读取得显式用 `rtk read`。

我觉得这工具不是没用,定位要摆对。长输出场景(跑测试、看 diff、查日志)下省 token 是实实在在的;调试和排错时该绕过就绕过,`RTK_DISABLE=1` 一个环境变量临时关掉。要真想砍总账单,得配合文件读取压缩工具一起上,光压 bash 输出不够。

crates.io 上还有个同名的 rtk(Rust Type Kit),别装错了。`cargo install –git` 走官方仓库最稳。

工具本身没问题,问题是”省 90%”这个说法。压 90% 的 bash 输出和省 90% 的钱,差远了。

发表评论