大家好,我是苍一,一个干了13年的后端开发,正在探索AI编程,从产品到开发的全生命周期最佳实践,如果您感兴趣,欢迎关注👇,看我如何自我革命。
AI编程工具越来越强,但账单也越来越吓人。以Claude Code为例,真正拿来干活,20美元的基础套餐根本扛不住,多数人得上100美元的Max 5x,甚至200美元的Max 20x。
Token消耗的大头其实不在对话本身,而在命令输出。AI编程助手每次执行shell命令,完整的输出内容会被原封不动塞进上下文窗口。一条git status可能返回几千token,一个npm test能吞掉几万。
rtk做的就是在这个环节插一刀。
它怎么工作的
rtk是一个用Rust编写的命令行代理,单一二进制文件,没有外部依赖。它拦截AI编程工具发出的shell命令,在输出送进模型上下文之前进行过滤和压缩。
通过注册Bash钩子实现透明拦截,整个过程对上层透明,AI工具感知不到中间发生了什么。
四种压缩策略
1️⃣ 智能过滤
去掉注释、空行、样板代码。读取源文件时只保留函数签名和关键逻辑。
2️⃣ 分组聚合
将相似条目归类。目录列表按层级折叠,错误信息按类型合并。
3️⃣ 截断处理
保留相关上下文,砍掉冗余部分。长日志只保留头尾和关键信息。
4️⃣ 去重合并
重复的日志行合并为一行加计数。
实际节省效果
30分钟基准测试数据:目录列表节省80%,文件读取节省70%,代码搜索节省80%,git status节省80%,测试运行节省90%。整体从约118000 token降到23900,降幅80%左右。
安装和配置
Mac和Linux一条命令搞定:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh然后根据AI编程工具执行初始化:
rtk init -g # Claude Code
rtk init -g --copilot # GitHub Copilot
rtk init -g --agent cursor # Cursor
rtk init -g --codex # Codex目前支持12种AI编码工具。
支持的命令类型
文件操作:rtk ls输出精简目录树,rtk read智能读取文件内容,rtk find和rtk grep处理文件查找和内容搜索。
Git相关:status、diff、log等命令的输出都会被压缩。
测试运行:cargo test、npm test、pytest、go test等,这是token消耗的重灾区,也是rtk效果最明显的地方。
每种命令都可以叠加不同的压缩级别。
查看节省统计
运行rtk gain可以看具体数据。统计会列出每条命令的原始token数、实际消耗token数和节省比例。实测中单条命令最高节省99.8%。
局限性
rtk只能优化经过Bash通道的命令输出,对AI工具内置的原生工具无效。另外压缩是有损的,在复杂调试场景下可能需要临时调低压缩级别。
项目地址:https://github.com/rtk-ai/rtk
如果嫌文章太长、怕后面走丢,可以关注下面的ima知识号,让这篇文章成为你的知识顾问,随时随地等候你的提问。
知识号中内容会以笔记形式分享,可以根据大家反馈和实测情况,实时更新,保证最新方案的稳定、可用。
【ima知识库】苍一AI编程

夜雨聆风