返回博客列表

RTK:58k 星的 Rust Token Killer,一次命令省 80% Token

2026-06-04T17:30:00+08:00
LLMToken 优化RustClaude Code开源项目AI Agent

RTK:58k 星的 Rust Token Killer,一次命令省 80% Token

看完你会发现,你之前的 Token 都白烧了。

用 Claude Code 写代码的人,30 分钟的 session 平均消耗约 118,000 Token。其中大部分不是 LLM 在"思考",而是 git status 的 2000 Token、cargo test 的 25000 Token、grep 的 16000 Token——全都是命令输出把上下文撑爆的。

RTK(Rust Token Killer) 干的事情简单粗暴:在命令输出到达 LLM 之前,先压缩它。单个 Rust 二进制,零依赖,100+ 命令支持,额外延迟不到 10ms。结果是同样的 30 分钟 session,Token 从 118,000 降到 23,900——省了 80%

58,664 星,3,608 fork,Apache 2.0 协议。这不是一个小项目,这是目前 Token 优化领域最火的工具。

本文提纲

  1. 30 分钟省了多少钱——真实数据
  2. 它怎么做到的:四层压缩策略
  3. 一行命令接入 14 个 AI Agent
  4. 支持 100+ 命令的覆盖范围
  5. 失败了怎么办——Tee 恢复机制
  6. 跟 Headroom 的区别

30 分钟省了多少钱——真实数据

项目给出了一个中等规模 TypeScript/Rust 项目的 30 分钟 Claude Code session 对比:

操作 频次 标准 Token RTK Token 节省
ls / tree 10x 2,000 400 80%
cat / read 20x 40,000 12,000 70%
grep / rg 8x 16,000 3,200 80%
git status 10x 3,000 600 80%
git diff 5x 10,000 2,500 75%
cargo test / npm test 5x 25,000 2,500 90%
pytest 4x 8,000 800 90%
docker ps 3x 900 180 80%
合计 ~118,000 ~23,900 80%

按 Claude Sonnet 的价格($3/M input),一次 session 省 $0.28。一天跑 10 个 session 就省 $2.8,一个月省 $60+。团队用的话 ROI 更明显。

它怎么做到的:四层压缩策略

RTK 对每条命令按类型应用四层策略:

  1. Smart Filtering:去噪声——注释、空行、boilerplate
  2. Grouping:聚合相似项——按目录归组文件、按类型归组错误
  3. Truncation:保留关键上下文,砍掉冗余重复
  4. Deduplication:合并重复的日志行,只记次数

看几个直观的例子:

# git push — 标准 vs RTK
# 标准(~200 tokens)          # RTK(~10 tokens)
Enumerating objects: 5, done.   ok main
Counting objects: 100% (5/5)...
Delta compression using up...

# cargo test 失败 — 标准 vs RTK
# 标准(200+ 行)              # RTK(~20 行)
running 15 tests                 FAILED: 2/15 tests
test utils::test_parse ... ok      test_edge_case: assertion failed
test utils::test_format ... ok     test_overflow: panic at utils.rs:18
...

最极端的案例是 git add/commit/push:标准输出吃 1,600 Token,RTK 压到 120——92% 压缩率

一行命令接入 14 个 AI Agent

RTK 最聪明的设计是 auto-rewrite hook。安装后,Agent 的 Bash 命令会被透明地改写为 RTK 版本:

# 安装(以 Claude Code 为例)
rtk init -g

# 之后 Agent 执行的 git status → 自动变成 rtk git status
# Agent 完全无感,100% adoption,零额外 Token

14 个 Agent 工具的支持矩阵:

Agent 安装命令 接入方式
Claude Code rtk init -g PreToolUse hook
GitHub Copilot rtk init -g --copilot PreToolUse hook
Cursor rtk init -g --agent cursor hooks.json
Gemini CLI rtk init -g --gemini BeforeTool hook
Codex rtk init -g --codex AGENTS.md
Windsurf rtk init -g --agent windsurf .windsurfrules
Aider rtk init -g 代理启动
Hermes rtk init --agent hermes Python plugin
Cline / Roo Code rtk init --agent cline .clinerules

关键点:不需要改任何项目代码,装上就行。Hook 在 Bash 层面拦截,Agent 透明接收压缩后的输出。

支持 100+ 命令的覆盖范围

RTK 不只是压 git。它的命令覆盖范围让大多数开发场景都能受益:

文件操作lsreadfindgrepdiffsmart(两行代码摘要)

Git 全家桶statuslogdiffaddcommitpushpull

GitHub CLIpr list/viewissue listrun list

测试框架jestvitestpytestcargo testgo testrspecrake testplaywright

构建 & Linttscruff checkcargo build/clippygolangci-lintnext build

包管理器pnpm listpip listbundle install

云 & 容器docker ps/images/logskubectl pods/logs/servicesaws ec2/lambda/s3/iam

数据工具jsondepsenvlogcurlsummary

还有一种通用方式——rtk test <cmd>rtk err <cmd>,把任意命令的输出压缩到只留失败或错误信息,压缩率 90%。

失败了怎么办——Tee 恢复机制

压缩最怕的是:砍掉了关键信息,LLM 看不到报错细节。

RTK 的解法是 Tee 模式:命令失败时,完整原始输出自动保存到本地文件。LLM 看到的是压缩后的摘要 + 原始文件路径,需要深挖时可以直接读取:

FAILED: 2/15 tests
[full output: ~/.local/share/rtk/tee/1707753600_cargo_test.log]

这比 Headroom 的 CCR 可逆压缩简单直接得多——不需要额外工具调用,文件系统就是你的恢复层。

跟 Headroom 的区别

上一篇介绍了 Headroom(11k 星),两者经常被拿来比较,但定位其实不同:

维度 RTK Headroom
压缩目标 CLI 命令输出 所有上下文(tool 输出 + RAG + 对话 + 代码 + 图片)
实现方式 Rust 二进制,命令拦截 Python/TS 库 + Proxy + MCP
压缩算法 规则型(过滤/分组/截断/去重) ML 模型 + 规则混合(Kompress-base)
可逆性 Tee 文件保存 CCR 按需取回
适用场景 Agent 编码工作流 更广泛的 LLM 应用
额外学习 headroom learn 失败挖掘

简单说:RTK 是命令级压缩,Headroom 是全上下文压缩。两者可以配合使用——事实上 Headroom 已经内置了 RTK 作为 CLI 输出的第一层处理器。

对了,RTK 还自带分析工具。rtk gain --graph 会输出最近 30 天的 ASCII 图表,rtk discover 会告诉你哪些命令还没被覆盖、错过了多少节省机会。对数据控来说,这个反馈循环很上瘾。

你的 Agent 每天烧多少 Token?评论区聊聊。觉得有用点个赞让更多人看到。


作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

觉得文章不错?分享给更多人!