大家用AI工具的时候,是不是现在也像我一样,大概估算着token用量,就在上个月账单出来那会儿,我确实愣了几秒。

就正常干活:写写代码、跑跑测试、构建一下项目,结果光AI调用的token就干掉好几百。我耐着性子翻了翻会话记录,想揪出到底是哪个环节在疯狂烧钱。

问题很快浮出水面。

每次让AI帮我执行个终端命令,它都会把整段输出原样吞进上下文。npm install那密密麻麻的依赖树、cargo test刷满屏的测试通过信息、git status里长得离谱的未追踪文件列表……这些内容对AI判断问题其实帮助有限,但它得一字不落地处理,token就这么悄无声息地蒸发了。

我粗略估了下,真正对解决问题有参考价值的,撑死占5%。剩下95%,全是干扰项。

后来圈里朋友安利了我一个小工具,叫RTK(Rust Token Killer)。名字听着有点中二,但用起来确实香。

这玩意儿到底干啥的?

简单说,它就是个终端命令的"中间人"。

你在AI工具里敲git status,正常情况下输出会直接传给大模型。装上RTK后,输出会先经过它这层"筛子",把冗余信息过滤掉,只留下核心内容,再递给AI。

官方给过一组对比数据:同样30分钟的Claude Code会话,token用量从11.8万降到2.4万,差不多省了八成。

这工具用Rust写的,启动不到10毫秒,内存常驻也就5MB出头。装好之后几乎无感,该咋用还咋用,唯一的变化是月底账单没那么刺眼了。

它是怎么"抠"出冗余的?

RTK的压缩逻辑分四档,针对不同场景做差异化处理。

① 清理视觉噪音

终端输出里那些对人类友好但对AI无用的内容,比如进度条动画、颜色控制码、空行、注释,统统剔除。

举个例子,git push原本可能输出十几行,包含远程地址、对象计数、压缩进度等细节。过滤后可能就留一句"push to main: OK",意思到位就行。

② 同类信息做聚合

当你ls一个包含上百文件的目录,它不会把文件名逐个塞给AI,而是按类型或路径归类。输出变成"src/下有45个Java源文件,test/下有20个测试文件"这样的摘要。

实测ls类命令能从2000 token压到400左右,效率提升明显。

③ 长日志只留关键帧

cargo test这种跑几百个用例的场景,如果只有两三个失败,它会把通过的用例汇总成"195 passed",然后重点保留失败用例的错误堆栈和上下文。

这类场景压缩比能到90%,25000 token变2500,效果肉眼可见。

④ 识别并合并重复模式

编译日志里反复出现的"Compiling xxx"、容器日志里每行都带的时间戳,这类重复结构会被识别出来,合并成一条示意,避免无意义堆砌。

日常用的命令它能兜住吗?

目前支持30+常用命令,覆盖大部分开发场景:

  • 文件浏览:ls、cat、find、grep、tree

  • Git操作:status、log、diff、push、pull

  • 测试框架:cargo test、npm test、pytest、go test

  • 构建工具:cargo build、tsc、eslint、ruff

  • 容器相关:docker ps、docker logs、kubectl pods

基本上你平时在AI辅助编程时高频敲的那些命令,它都能接得住。

上手门槛高不高?

真不高。

用Homebrew的话一行搞定:

brew install rtk

或者用curl脚本:

curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh

装完验证下:rtk --version

接着根据你用的AI工具初始化。比如我用Claude Code:

rtk init -g

-g表示全局生效,配一次到处能用。

其他工具也类似:

# Codex
rtk init -g --codex

# OpenCode  
rtk init -g --opencode

# Cursor / Windsurf 等IDE
rtk init -g --agent cursor
rtk init --agent windsurf

配完重启下AI工具就行。之后你正常敲命令,它在后台默默干活,你几乎察觉不到。

想卸载也简单:

rtk init -g --uninstall

到底能省多少?

它自带统计功能,随时能看节省效果:

rtk gain              # 查看总体节省
rtk gain --graph      # 30天趋势图
rtk gain --daily      # 按天/周/月细分

我自己用了几天,感知挺明显。社区里有用户反馈在Claude Code上累计省了上千万token,按当前定价算,确实不是小数目。

还有别的选择吗?

市面上类似思路的工具还有几个,侧重点略有不同:

  • tokf:功能接近RTK,也是做命令输出压缩,但支持的命令和策略稍少

  • .claudeignore:通过配置忽略特定文件/目录,减少无关内容进入上下文

  • Compact Mode:Claude Code内置的压缩模式,一般能省30-50%

  • PTC:私有工具调用方案,让中间结果不污染主上下文,适合复杂任务流

个人建议:如果主要痛点是终端命令输出太长,优先试RTK或tokf;如果是代码文件太多干扰上下文,.claudeignore就够了。这些方案不冲突,可以组合用。

使用前得知道的两点

没有银弹,RTK也有边界:

① 压缩可能误伤
本质是做信息取舍,某些调试场景你可能需要完整日志,而不是摘要。遇到偶发失败、边界case时,建议临时关闭压缩,保留原始输出。

② 自定义命令支持有限
它内置了常见命令的解析规则,但如果你用了很多自研脚本,或者输出格式比较非标,压缩效果可能打折扣,需要手动调优。

最后说句实在话

如果你跟我一样,重度依赖Claude Code、Cursor这类AI编程助手,日常频繁跑测试、做构建、操作git,而且每月token账单让你有点肉疼,那花30秒装个RTK试试,大概率不会失望。

如果你只是偶尔让AI帮忙看看代码、写写文档,很少执行终端命令,那可能没必要专门折腾。

项目开源在GitHub,搜rtk-ai/rtk就能找到。反正安装卸载都一行命令,试错成本几乎为零,值得一试。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐