智猩猩AI整理编辑:没方

AI 编程智能体正变得越来越能干。

越来越多开发者把任务交给 Claude Code、Cursor、Codex、Gemini CLI 这类编程智能体,让它们自己阅读项目、执行测试、分析日志、修复 bug,再根据结果继续迭代。

但一个很现实的问题随之出现,Agent 并不是只消耗“思考 token”,它还会被大量终端输出吞掉上下文。

比如一次 npm testcargo testpytest,可能吐出几百行日志;一次 git diff,可能包含大量无关格式变化;一次 docker logs,可能被重复错误刷屏。

对人来说,这些输出可以快速扫一眼、抓重点。但对于 AI Agent ,很多内容会原封不动进入上下文窗口,既增加 token 成本,还压缩了真正有用代码的“思考空间”,导致智能体推理变差、会话频繁重置。

这正是今天要给大家介绍的开源项目 RTK 想解决的问题。
它不是新的编程智能体,而是给 Claude Code、Cursor、Codex 这类 Agent 配套的“ 终端降噪器”。
RTK 夹在 Agent 和命令行之间,在终端输出进入大模型上下文之前,先把冗长日志、重复报错等进行过滤、压缩并结构化整理。
换句话说,它不是让 Agent 少干活,而是让 Agent 少看废话。

它的效果也很直观,有开发者反馈在连续使用 RTK 几周后,累计执行 15720 个命令,token 节省率达到 88.9%。

打开网易新闻 查看精彩图片

这意味着,过去被日志、diff、测试输出吃掉的大量上下文,现在可以留给 Agent 去真正理解代码和解决问题。目前,RTK的GitHub Star数已达46.3k。

打开网易新闻 查看精彩图片

项目链接:

https://github.com/rtk-ai/rtk

01

RTK 的本质:

给Agent一个更干净的命令行世界

RTK 的思路不是改造大模型本身,而是在 Agent 和 shell 命令之间加一层代理,能够支持 100 多种开发命令。

没有 RTK 时,Agent 执行 git status,shell 返回原始输出,模型可能需要读入大量原始日志和状态信息。

打开网易新闻 查看精彩图片

有了 RTK 后,同样的命令会被改写成 rtk git status,RTK 先运行原始命令,再把输出压缩成更紧凑、更适合模型理解的版本,然后才交给 Agent。

  没有 rtk:                                      使用 rtk:
Claude --git status--> shell --> git Claude --git status--> RTK --> git ^ | ^ | | | ~2,000 tokens(原始) | | ~200 tokens | 过滤 | +-----------------------------------+ +------- (已过滤)-----+----------+

官方以一次 30 分钟 Claude Code 会话为例做了估算,在中等规模 TypeScript / Rust 项目中,原始命令输出大约会消耗 118000 tokens;接入 RTK 后,这一数字降到约 23900 tokens,整体节省约 80%。

打开网易新闻 查看精彩图片

注:数据基于中等规模的 TypeScript / Rust 项目估算得出,实际节省效果会因项目规模而异。

RTK 的核心处理方式主要包括四类:

(1)智能过滤,去掉注释、空白字符、样板化输出和低价值噪声;
(2)分组聚合,把相似文件、相似错误按照目录或错误类型归类;
(3)截断机制,保留关键上下文,移除冗余部分;
(4)去重,折叠重复的日志行并附带出现次数。

这类设计特别适合编程 Agent。因为 Agent 真正需要的通常不是完整日志,而是失败了几个测试、失败点在哪个文件哪一行、哪些文件发生变化等信息。RTK 做的事情,就是把终端输出从“给人看的流水账”,改造成“给 Agent 用的结构化信号”。

更关键的是,RTK 不是只能手动输入 rtk xxx。它提供了 Auto-Rewrite Hook,可以在支持 hook 的 Agent 中自动拦截 Bash 命令,并把普通命令改写成 RTK 命令。例如 Agent 本来想执行 git status,hook 会在执行前把它改成 rtk git status,这样开发者和 Agent 的工作流基本不用改变。

需要注意的是,这类自动改写主要针对 Bash 工具调用。Claude Code 内置的 Read、Grep、Glob 等工具不会经过 Bash hook,因此不会被自动改写。

02

使用方法

(1)安装

macOS 用户可以优先使用 Homebrew:

brew install rtk

Linux / macOS 也可以使用官方提供的安装脚本:

curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh

安装完成后,可以先验证版本和节省统计:

rtk --version   # 应显示 "rtk 0.27.x"rtk gain        # 应显示 token 节省统计

(2)使用

# 1. 为AI智能体安装Hookrtk init -g                     # Claude Code / Copilot (默认)rtk init -g --gemini            # Gemini CLIrtk init -g --codex             # Codex (OpenAI)rtk init -g --agent cursor      # Cursorrtk init --agent windsurf       # Windsurfrtk init --agent cline          # Cline / Roo Codertk init --agent kilocode       # Kilo Codertk init --agent antigravity    # Google Antigravityrtk init --agent hermes         # Hermes
# 2. 重启你的AI工具,然后测试git status # 会自动被重写为 rtk git status

完整步骤请参考:

https://github.com/rtk-ai/rtk/blob/develop/README_zh.md#%E5%AE%89%E8%A3%85

03

RTK 不止是省Token的工具,

还是重要的上下文优化层

一个优秀的编程智能体,不应把所有终端输出都一股脑塞进上下文,指望模型自己去筛选噪声。

真正工程化的 Agent 系统,会在信息进入大模型前就完成第一轮“清洗”——剔除重复日志、过滤无用样板、突出关键错误和证据。

RTK 正是这种思路的实践。它远不止是一个省 Token 的小工具,而是 AI 编程时代里重要的上下文优化层。在模型真正开始推理之前,先把输入变得更干净、更高密度。

过去,我们优化的是代码性能、构建速度和测试耗时。而当 Agent 进入真实开发流程后,还需要优化另一个关键变量:Agent 看到的信息质量。

上下文窗口不是垃圾桶,Token 更不是无限资源。让智能体少读噪声、多抓重点,本质上就是在提升整个开发系统的工程效率和经济性。