rtk:一种高性能 CLI 代理,通过压缩 Shell 命令输出以降低 LLM 令牌使用量
rtk:一种高性能 CLI 代理,通过压缩 Shell 命令输出以降低 LLM 令牌使用量
它解决了什么问题
RTK(Rust Token Killer)在 AI 执行 Shell 命令时,降低了 LLM 的高成本和上下文窗口使用。它通过在将常见 CLI 工具(如 git、cargo、npm、docker 和 aws)的冗长输出发送回 AI 代理之前进行过滤和压缩,防止“令牌膨胀”,通常能将令牌消耗降低 60‑90%。
工作原理
RTK 是用 Rust 编写的高性能 CLI 代理。它拦截 Shell 命令并采用四种主要压缩策略:
- 智能过滤:去除模板代码、空白和注释等噪声。
- 分组:将相似项聚合,例如按类型对错误进行分组或按目录对文件进行分组。
- 截断:在保留关键上下文的前提下裁剪冗余信息。
- 去重:将重复的日志行合并为计数。
它可以通过自动重写钩子无缝集成,透明地修改命令(例如 git status 会变为 rtk git status),也可以通过插件为特定 AI 代理(如 Claude Code、Cursor 和 Windsurf)提供支持。
适用人群
使用 AI 编码代理(如 Claude Code、GitHub Copilot、Cursor 或 Cline)的开发者,希望降低 API 成本并防止 LLM 被大量冗余的命令输出淹没。
亮点
- 广泛的命令支持:为 Git、GitHub CLI、测试运行器(Jest、Pytest、Cargo)、构建工具和云提供商(AWS、Kubernetes)等 100 多条命令提供优化过滤器。
- 低开销:单个 Rust 二进制文件,额外开销不足 10 ms。
- 为代理而写:包含钩子系统,可自动为 14 种不同的 AI 工具重写命令。
- 令牌分析:内置工具(
rtk gain)用于跟踪并可视化随时间的令牌节省情况。 - 故障恢复:当命令失败时自动将完整未过滤的输出保存到日志文件,必要时让 LLM 检索完整上下文。
Sources
- undefinedrtk-ai/rtk