大家好,我是何三,独立开发者
用 Claude Code 写了一天代码,回头一看 Token 消耗——11.8 万。其中 8 万多是 git status、cat、cargo test 这些基础命令的原始输出喂进去的。
说白了,AI 编程工具的 Token 开销大头,根本不在代码生成本身,而在那些反反复复执行的终端命令。每次 git diff、ls、grep 输出的完整内容,全都原封不动塞进上下文窗口,占着 Token 位。
最近 GitHub 上冒出来一个叫 RTK 的项目,23.4k Star,专门解决这个痛点——在命令输出到达 LLM 之前,先帮你「减肥」。

RTK 的全称没什么花哨的,就是一个 CLI 代理工具。用 Rust 写的,编译出来就一个二进制文件,零外部依赖。
它的思路非常简单粗暴:拦截命令输出 → 智能压缩 → 再喂给 LLM。

具体来说,RTK 对每条命令的输出做四件事:
- 智能过滤:把注释、空行、样板代码这些对 AI 理解毫无帮助的噪音全删掉
- 分组聚合:把类似的东西归类到一起,比如按目录结构折叠文件列表
- 智能截断:保留核心上下文,砍掉冗余部分
- 去重折叠:重复的日志行合并成一行,后面标个出现次数
说白了就是,以前 git status 输出 2000 个 Token,RTK 压缩后只剩 400 个,AI 照样能理解当前项目状态,但成本降了 80%。
最狠的是 git add/commit/push 这类操作——执行完了输出「ok main」就够了,RTK 直接砍掉 92% 的 Token。
安装就一行命令的事:
brew install rtk
没有 Homebrew 的话,curl 一行搞定:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
装完之后,运行初始化:
rtk init -g
这条命令会自动安装一个 Bash Hook——之后你在 Claude Code 里输入的命令,RTK 会在执行前透明地改写。比如你敲 git status,Claude Code 发出去的时候自动变成 rtk git status,输出被压缩后再返回给 Claude。
Claude 完全不知道这个 Hook 的存在,它只是收到了一个更精简的输出结果。
装完重启 Claude Code,直接正常用就行,感受大概是这样的:
# 以前 git push 输出 15 行,约 200 tokens Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 8 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 350 bytes | 350.00 KiB/s, done. ... # 现在只有 1 行,约 10 tokens ok main
想看省了多少 Token,可以随时运行:
rtk gain # 查看汇总统计 rtk gain --graph # 最近 30 天的 ASCII 图表
RTK 目前支持 10 款主流 AI 编程工具:
rtk init -g GitHub Copilot
rtk init -g --copilot Cursor
rtk init -g --agent cursor Gemini CLI
rtk init -g --gemini Codex (OpenAI)
rtk init -g --codex Windsurf
rtk init --agent windsurf Cline / Roo Code
rtk init --agent cline
覆盖了市面上主流的 AI 编程助手。不管你用哪个,装上 RTK 都能白嫖那一波 Token 节省。
支持的命令超过 100 种,涵盖 git、cargo/npm/pnpm、docker、kubectl、pytest、eslint、aws cli……基本日常开发会用到的终端命令,RTK 都做了压缩适配。
这是我觉得 RTK 设计得比较聪明的地方。
正常的命令输出被压缩了,但如果命令执行失败了呢?这时候 AI 需要看到完整的错误信息来排查问题。
RTK 内置了一个叫 Tee 的机制——命令失败时,自动把完整的原始输出保存到本地文件,然后在压缩输出里附上一行路径:
FAILED: 2/15 tests [full output: ~/.local/share/rtk/tee/_cargo_test.log]
AI 看到失败提示后,可以自己去读那个日志文件,拿到完整信息。既省了日常开销,又不影响错误排查。
这个设计说实话挺到位的。很多「优化」工具最大的问题就是压缩过度导致丢关键信息,RTK 用这种 fallback 机制解决了。
适合用的场景:
- 每天用 Claude Code / Cursor 写代码超过 2 小时,月 Token 开销过百刀
- 项目比较大,
git diff、cargo test这类命令输出动辄几百行 - 团队多人共用 AI 编程工具,想控制整体成本
可能不适合的场景:
- 偶尔用一下 AI 辅助,Token 消耗本来就不多,装了也省不了多少
- 对实时性极度敏感的场景(RTK 的压缩延迟在 10ms 以内,正常使用基本无感)
- Claude Code 内置的 Read、Grep、Glob 工具不经过 Bash Hook,RTK 拦截不到——需要手动用
rtk read、rtk grep替代
本文使用 MGO 编辑并发布
关注”何三笔记”,回复”mgo” 免费下载使用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/259726.html