rtk:一种高性能 CLI 代理,通过压缩 Shell 命令输出以降低 LLM 令牌使用量

rtk:一种高性能 CLI 代理,通过压缩 Shell 命令输出以降低 LLM 令牌使用量

它解决了什么问题

RTK(Rust Token Killer)在 AI 执行 Shell 命令时,降低了 LLM 的高成本和上下文窗口使用。它通过在将常见 CLI 工具(如 gitcargonpmdockeraws)的冗长输出发送回 AI 代理之前进行过滤和压缩,防止“令牌膨胀”,通常能将令牌消耗降低 60‑90%。

工作原理

RTK 是用 Rust 编写的高性能 CLI 代理。它拦截 Shell 命令并采用四种主要压缩策略:

  1. 智能过滤:去除模板代码、空白和注释等噪声。
  2. 分组:将相似项聚合,例如按类型对错误进行分组或按目录对文件进行分组。
  3. 截断:在保留关键上下文的前提下裁剪冗余信息。
  4. 去重:将重复的日志行合并为计数。

它可以通过自动重写钩子无缝集成,透明地修改命令(例如 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