RTK:让你的 AI 编程助手 Token 消耗暴降 80%
大家好,我是左手。大家在使用AI编程工具claude code/codex的时候或多或少都会关注token消耗,毕竟这个跟前有关,并且模型的单个会话的上下文长度是有限的。
有时候,你打开用量统计一看,70% 的 token 不是花在你的 prompt 上,而是花在了那些命令行输出里——git status 的一大堆文件列表、npm test 的几百行编译日志、grep 结果里重复出现的路径名。
这些输出对我们来说扫一眼就够了。但对 LLM 来说,每一个字符都是真金白银的 token。
这就是 RTK 要解决的问题。
RTK 是什么
RTK,全称 Rust Token Killer,是一个开源的 CLI 代理工具。它的作用非常简单:在你的命令输出进入 LLM 上下文之前,先把它们「瘦身」一遍。
代码仓库:https://github.com/rtk-ai/rtk
几个关键标签:
-
用 Rust 写的,单个二进制文件,零外部依赖 -
性能开销不到 10 毫秒,你感觉不到它的存在 -
支持 100+ 种常见开发命令 -
兼容 Claude Code、Copilot、Cursor、Gemini CLI 等 12 种 AI 编程工具 -
GitHub 已斩获 37k+ Star
一句话概括:不改你的使用习惯,让 AI 看到的命令输出大幅变短,token 消耗直接砍掉 60% 到 90%。
它是怎么做到的
RTK 站在 shell 和 LLM 之间,扮演一个透明的「输出过滤器」。你对 AI 说 git status,RTK 会自动把它改写成 rtk git status 再执行,然后把原始输出压缩后传给 LLM。
整个过程对你是完全透明的——你该敲什么命令还敲什么命令。
它有四种压缩策略,每种命令类型会组合使用:
智能过滤:去掉注释、空行、样板代码、不相关的警告信息。比如 npm test 输出中那些「花 0.1 秒」的无关日志,直接过滤掉。
分组聚合:把同类信息归到一起。比如 eslint 的 50 条报错按规则分组后,可能就剩 5 条了。
截断保留:保留关键上下文,裁剪冗余。git diff 的输出,大部分上下文行对 AI 决策没用,RTK 会精准裁剪。
去重压缩:把重复的日志行合并成一条带计数。「这行错误出现了 386 次」——一行就够,不需要 386 行。
四种策略组合起来,效果很可观。
它支持哪些场景
RTK 覆盖的开发场景非常广,我把主要的列一下:
Git 全家桶:git status、git diff、git log、git add/commit/push,全系列支持。git push 的输出从几十行精简成一个 ok main。
测试框架:Jest、Vitest、Playwright、pytest、go test、cargo test、RSpec。跑测试时几百行输出,压缩后往往只显示失败的,其余分组统计。
构建与检查:tsc、cargo build/clippy、ruff、golangci-lint、eslint。编译错误按文件分组,比原始输出清晰得多。
包管理器:pnpm list、pip list、bundle install。依赖树和安装日志都能大幅压缩。
容器与云:docker ps/images/logs、kubectl pods/logs/services、AWS CLI 多个子命令。
文件操作:ls、find、grep、diff 等日常命令也都有优化。
还有一个实用功能:Tee 模式。如果命令执行失败了,RTK 会自动保存完整的原始输出到文件。AI 可以在需要时读取完整日志,不会因为压缩丢失关键信息。
为什么选 RTK
对比一下市面上其他 token 优化方案,RTK 有几个很明确的优势:
首先是本地运行。所有压缩都在你的机器上完成,命令输出不会发送到任何云端服务。对注重隐私和安全的企业开发环境来说,这点很重要。
其次是零配置。装好之后 rtk init -g 一条命令就搞定了,不需要写压缩规则,不需要调参数。RTK 已经为 100+ 种命令预设了最优的压缩策略。
第三是透明代理。你不需要改任何使用习惯。不用记 rtk git status,直接敲 git status 就行。Hook 机制自动帮你把命令重写了。
第四是有数据可看。rtk gain 命令可以查看 token 节省摘要,rtk gain --graph 还能画出近 30 天的 ASCII 趋势图。省了多少,一目了然。
三分钟上手
安装非常简单,三种方式任选:
brew install rtkcurl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh|shcargo install --git https://github.com/rtk-ai/rtk
安装完先验证一下——因为 crates.io 上还有个同名但不同功能的项目,别装错了:
rtk gain
如果显示的是 token 节省统计,就对了。如果提示 command not found,说明装了个假的。
然后一行命令初始化,重启 AI 工具即可生效:
rtk init -grtk init -g --copilotrtk init -g --agent cursorrtk init -g --gemini
初始化后,重启一下你的 AI 编程工具,就一切就绪了。
想看看效果的话,正常写一会儿代码,然后跑一下 rtk gain --graph,看看节省了多少 token。
如果想卸载也很干净:
rtk init -g --uninstallbrew uninstall rtk
几个要注意的点
RTK 的 Hook 机制依赖 Bash。如果你用 Fish 或 Zsh,命令重写可能不生效,需要手动敲 rtk <命令>。或者你把 RTK 作为 Claude Code 的内置 alias 来用。
另外,Claude Code 内置的 Read、Grep、Glob 工具不会经过 shell hook,所以不会被 RTK 自动压缩。如果你在用 Claude Code,可以显式调用 rtk read、rtk grep 来获得压缩收益。
Windows 用户建议用 WSL。原生 Windows 下虽然也能跑,但自动重写功能会降级为 CLAUDE.md 注入模式,体验不如在 Linux/macOS 下。
总结
RTK 的价值很实在:不改习惯,不增加认知负担,默默帮你省 token。
如果你每天用 AI 编程工具超过 2 小时,RTK 一年能帮你省下的 token 成本不是小数目。就算你用的是按月的付费计划,压缩后的上下文也意味着更长的会话、更少的「上下文已满」中断。
说到底,这是一个「安装一次,持续受益」的工具。3 分钟投入,长期省钱省心。
GitHub 仓库:https://github.com/rtk-ai/rtk官方网站:https://www.rtk-ai.app
夜雨聆风