给 AI 编程助手省 60-90% token 开销?rtk 在命令行这一层动了手脚
给 AI 编程助手省 60-90% token 开销?rtk 在命令行这一层动了手脚
Claude Code 跑一个 git status,原始输出可能是这样的:
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
modified: src/main.rs
modified: Cargo.toml
Untracked files:
target/debug/build/some-crate-xxx/
target/debug/deps/some-old-deps/
而装了 rtk 之后,Claude Code 看到的是:
M src/main.rs
M Cargo.toml
?? target/
三行,不是二十行。这不是 prompt 优化,是在 shell 输出进 LLM 之前就动过手脚。
rtk-ai/rtk 是一个 Rust 写成的 CLI 代理,核心功能只有一个:拦截常见开发命令的输出,在它们到达 AI 编程助手之前完成压缩和结构化重组。74.6k Stars,Apache 2.0 开源协议,最近一次发布是 2026 年 8 月 3 日,活跃度完全不用担心。
它具体做了什么
rtk 不改变你敲的命令,只改变命令的输出格式。底层是 hook 机制——你敲 git status,实际上被改写成 rtk git status 执行,shell 本身的返回结果经过 rtk 的处理管道再吐出来。
支持的命令覆盖了日常高频操作:
- 文件系统:
ls、tree、cat、read→ 树状结构 + 文件签名,省去长列表 - Git 系列:
status、diff、log、add、commit、push、pull→ 紧凑统计格式 - 代码检查:
pytest(只显示失败用例)、cargo test(通过的不占上下文)、ruff check(按规则分组)、tsc(按文件分组) - 其他:
docker ps、gh pr list、docker compose logs等
每个类别都用了不同的压缩策略:有的去注释和缩进,有的按类型聚合重复信息,有的直接截断只保留头部。不存在”一个策略套所有”的情况。
实测数据是什么量级
官方说最高可压缩 90% 的 bash 输出,但这里有个重要前提:这是 bash 输出这一项的压缩率,不是账单金额的压缩率。
具体来说,LLM 的输入 token 包含:系统提示词 + 对话历史 + 你的提示语 + bash 输出。bash 输出只是其中一项,而输入 token 又只是账单的一部分。所以 rtk 官方也坦承: reduction dilutes at every step。
不过这并不意味着效果不明显。在他们自己的 benchmark 里,pytest 输出的压缩率经常在 85-90% 区间,git diff 能到 70-80%,ruff check 这类 lint 输出因为已经结构化了,压缩空间相对小一些,但也有 40-60%。
适合谁用
如果你满足以下任一条件,rtk 值得关注:
- 重度使用 Claude Code / Copilot / Gemini CLI 等 CLI 编程工具,每天跑几十上百个 shell 命令
- 在处理大仓库或者长对话时遇到上下文溢出,希望从输入端减少 token 消耗
- 对 API 账单敏感,在使用高用量模型(Claude Opus、GPT-4o 等)时希望压缩成本
- 团队统一配置 AI 编程工具,需要一种低侵入性的方式来标准化 agent 的行为
rtk 是单文件二进制,安装后一条 rtk init -g 就能完成配置,不需要改 agent 本身的 prompt,也不需要改代码。
什么人可以跳过
- 主要用 GUI 编程工具(Cursor、Windsurf、VS Code 插件等)的用户,rtk 是纯 CLI 工具,GUI 插件不经过 shell
- Claude Code 内置的 Read / Grep / Glob 工具,这些不走 bash,hook 不会拦截
- 月 API 消耗极低的用户,压缩节省的绝对金额可能不值得折腾
- 对压缩后信息完整性要求极高的调试场景,有些时候你确实需要看完整的原始输出
安装和使用
# macOS
brew install rtk
# Linux
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
# 初始化(支持 Claude Code/Copilot/Gemini CLI/Codex/Cursor 等)
rtk init -g
# 查看节省了多少
rtk gain
首次运行 rtk gain 会显示一个仪表盘,展示各命令类型累计节省了多少输出。
支持的 AI 编程工具列表:Claude Code(默认)、Copilot CLI、Codex(OpenAI)、Cursor、Windsurf、Cline / Roo Code、Kilo Code、Google Antigravity、Kimi AI、Pi、Factory Droid 等,初始化时加 --agent <name> 即可。
项目边界说明
rtk 是单向过滤器——它只压缩 agent 收到的输出,不修改 agent 发出的指令,不参与模型的推理过程,也不存储任何上下文。它是一个纯粹的基础设施层工具。
v0.42 版本带来了 --aggressive 模式,让 rtk read 可以只输出函数签名而不输出函数体,进一步压缩代码阅读场景的 token 消耗。
需要注意的是:另一个 Rust 生态的 rtk(Rust Type Kit)包名冲突,如果 rtk gain 报版本不对,说明装错了包,请用 Git 安装方式。
下一步建议
如果你的团队正在推 AI 编程工具,想在不加 prompt、不改配置的情况下直接压缩 API 消耗,这是一个零侵入的选择:
- 在自己的机器上装好 rtk,用
rtk gain跑一天观察一下效果 - 如果有效果,在团队 dotfiles 里加上 rtk 初始化脚本,实现一键配置
- 关注项目 release 页,v0.45 正在 RC 阶段,正式版会带来更多命令的支持
GitHub:https://github.com/rtk-ai/rtk
官网:https://www.rtk-ai.app
文档:https://www.rtk-ai.app/guide/troubleshooting
评论区
登录后可评论。