
用 Claude Code 写代码的时候,你有没有遇到过这种情况:
会话莫名其妙地变短,明明才刚开始,对话就断了。想继续聊,只能开新会话,之前的上下文全丢了。
原因其实很简单。每次 AI 在终端跑命令,输出结果会直接塞进上下文窗口。跑一次测试,光是日志就能吃掉几千个 token。跑几次代码对比,再搜索一下文件,上下文就满了。
说白了,AI 的"工作记忆"很容易被终端里的垃圾信息撑爆。留给真正有用代码的空间,越来越少。
今天介绍的 RTK,专门来解决这个问题。
Github:
给 AI 装一个"过滤器"
RTK 的全称是 Rust Token Killer,一个用 Rust 写的命令行代理工具。
它做的事情很简单:在终端命令的输出结果到达 AI 之前,先帮忙过一遍,把噪音删掉,只留关键信息。
就像给 AI 装了一个过滤器。脏水不进去,只喝干净的。
有位开发者用了 RTK 几周后,输出一份统计报告,节省了 88.9% 的 token。这意味着什么?如果你的 Claude Code 账单是每月 100 美元,装上 RTK 后可能只需要 10 美元出头。
压缩效果有多夸张
来看一组真实数据,来自 2900 多次命令的统计。
跑 cargo test,原始输出大概 4823 个 token,经过 RTK 处理后,只剩 11 个 token,压缩了 99%。那些测试日志、警告信息、进度条,全砍掉,只告诉 AI 结论。
git diff 同理,2 万多 token 的原始对比,处理后压到 1200 左右,缩减 94%。
git status 从 120 token 压到 30 token。grep 搜索结果从 2000 token 压到 940 token。
平均下来,能节省 60% 到 90% 的 token。用得越多,省得越多。
它是怎么做到的
RTK 内部用了四种策略,组合起来处理输出。
智能过滤会把注释、空白行、样板代码这类对 AI 没用的内容直接删掉。AI 不需要看版权声明和空行,它只需要看代码逻辑。
分组聚合把类似的内容合并展示。比如用 grep 搜索,结果会按文件分组,同一个文件的匹配行合并在一起,而不是把所有匹配行铺开一行一行展示。
智能截断保留最有价值的上下文,删掉重复冗余的部分。如果输出太长,RTK 会判断哪些部分对 AI 有用,哪些可以省略。
去重合并处理日志里反复出现的相同行,合并成一条,附带出现次数。比如测试输出里"正在编译..."出现了 50 次,RTK 会显示"正在编译... (x50)"。
这四种策略组合起来,基本覆盖了开发过程中最常见的废话场景。
支持哪些 AI 工具
RTK 是单一二进制文件,零依赖,支持市面上主流的 AI 编码工具。
Claude Code 和 Copilot 是默认支持,装上就能用。Gemini CLI、Codex、Cursor、Windsurf、Cline、Kilo Code、Google Antigravity 也都支持。
基本上,只要你用的是 AI 编码助手,RTK 都能帮上忙。
三步装好,轻松上手
安装非常简单,不同系统有不同的方式。
macOS 用户直接用 Homebrew:
brew install rtk
Linux 用一键脚本:
curl-fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
Windows 目前没有自动安装脚本,需要去 GitHub Releases 页面手动下载对应的二进制文件。

装好之后,运行一条命令开启自动 hook。
rtk init --global
这个命令会在你的 AI 工具里装上一个拦截机制,每次 AI 准备执行终端命令时,RTK 会先接管处理,自动压缩输出。
不需要手动在每条命令前加 rtk,整个过程是透明的。AI 看到的已经是压缩后的干净内容。
重启 AI 工具后就生效了。你可以让它跑几个命令测试一下,看看效果。
怎么查看省了多少
如果想看具体省了多少 token,可以运行统计命令。
rtk gain

它会输出一份报告,显示总共处理了多少命令、节省了多少 token、各命令的平均压缩率。数据很直观,你能清楚看到哪些命令压缩效果最好。
有开发者分享了他的使用数据。30 分钟的 Claude Code 会话里,RTK 处理了 80 多条命令,总共节省了 80% 的 token。原本可能花 10 美元,现在只需要 2 美元。
实际使用场景
来看几个典型的使用场景。
场景一:跑测试
你让 Claude Code 跑测试,看看有没有问题。正常情况下,测试输出可能几千个 token,包括每个测试用例的名字、通过状态、耗时、各种日志。
有了 RTK,Claude 看到的是:"100 个测试通过,2 个失败,失败的是 test_a 和 test_b"。就这么简单。
场景二:看代码改动
你想让 AI 帮你 review 代码改动。git diff 的输出可能很长,尤其是大重构的时候。
RTK 会压缩 diff,保留关键的改动点,去掉格式上的噪音。AI 能更快理解你改了什么,给出更准确的建议。
场景三:搜索代码
用 grep 搜索某个函数在哪些地方被调用,结果可能分布在几十个文件里。
RTK 会把结果按文件分组,每个文件只显示关键的几行,而不是把所有匹配行都列出来。AI 能更快定位到你想要的信息。
写在最后
AI 编码工具这两年进化飞快,从代码补全到 Agent 自主写代码,能力边界一直在扩张。
但有一个问题始终没被正面解决:上下文窗口的利用率。虽然模型越来越大,窗口也越来越长,但塞进去的内容,有相当一部分是终端输出的噪音。
这是一种隐性的浪费,既消耗配额,也干扰推理质量。
给 AI 送进去的每一个 token,都应有价值。
RTK 切入的角度很对。不是让模型变得更聪明,而是让进入模型的信息,变得更干净一点。
装上它之后,AI 的每一次思考,都能用在真正该用的地方。
GitHub:
项目完全开源,免费使用。如果你也在用 Claude Code 或类似的 AI 编码工具,强烈推荐试试。
关注
如果这篇文章对你有帮助,欢迎点赞、收藏、转发。我会持续分享实用的开发工具和技术教程,关注我,一起提升开发效率。