GitHub双响:11.1万星caveman让AI说狠话省token,8.3万星rtk把命令输出砍90%
用 AI coding agent 的人最近都在算一笔账:模型本身没贵多少,贵的是 agent 每天在那头废话连篇地回答,脚下一顿 git status、cat 日志,几万 token 的垃圾原文就灌进上下文里。这周 GitHub 上最火的两个项目,干的就是同一件事——把 agent 的嘴和眼都收拾一遍,别的不干。
我翻了两个仓库的 README 和实测数据,都是 Apache-2.0、本机跑、不碰你 API key 的货。下面一个一个说。
caveman:11.1 万星,让 AI 说”狠话”
这项目的名字就离谱:why many token when few do trick(为什么用很多 token,明明几个就够)。4 月 4 日建仓,一个 meme 起家的东西,现在 110,944 星,Hacker News 头版、GitHub Trending 双榜第一,连 ThePrimeagen 都跑去直播打脸测试,扔下一句”No way this actually works”——然后被数据打回来了。
它有两块”石头”:
小石头是 skill,管 agent 怎么说话。同样回答一个 React 重渲染的问题,正常 agent 写 63 token,装了 /caveman 后 20 token,开 /ultracave 是 14 token,最狠的 /megacave 只要 13 token。答案信息一点不少:”新对象引用导致重渲染,用 useMemo 包一下。”它那套规则不是拍脑袋来的,是借了航空维修手册的受控英语标准(ASD-STE100):一句话最多 20 词、主动语态、否定词/数字/路径/报错原文一个不删,寒暄客套全砍。安全警告、不可逆操作、反问用户的时候自动恢复正常人话。
大石头是 proxy,管 agent 读什么。这是去年 8 月加的,起因是两项研究:Adobe 的 CAVEWOMAN 论文发现,把用户自己的提示词改成短句反而让回答更长更烂,所以 caveman 从不碰你的 prompt;JetBrains 测了 86 个真实编码任务,发现 agent 会话里大头根本不是对话,是工具输出。于是 proxy 上场,把 agent 读进来的 CSV 压缩 98.9%、日志 98.5%、YAML 99.1%,整个 Claude Code 会话输入 token 降 33.2%,54 次运行 18/18 答案全对。caveman browse 把一个网页压成 121 token,Playwright 快照要 15,704。
第三方背书也够硬:Adobe 论文实测短句输出让 8 个模型成本降 1.4 到 2.4 倍,Elastic 把它移植到 Elasticsearch 场景,响应 token 降 63.6% 且”零信息损失”。
装起来就一行:npm install -g @caveman-ai/cli && caveman setup --install,支持 Claude Code、Codex、Gemini、opencode、Hermes 等 30 多个 agent。只要短回答不要 proxy 的,npx skills add JuliusBrussee/caveman -g 就够。
rtk:8.3 万星,Rust Token Killer
如果说 caveman 是”语言艺术”,rtk 就是纯粹的工程暴力。Rust 写的单个二进制,1 月建仓,现在 82,893 星,v0.28.2,开销低于 10ms,支持 100 多个命令的输出压缩。
原理一句话:通过 hook 把 agent 执行的命令偷偷改写——git status 变成 rtk git status,输出在进上下文之前先过一道压缩。ls/tree 收成带文件计数的树;grep 截断长行、按文件分组;git log 只留 hash、作者、标题;测试命令只报失败用例,通过的折叠成一个数;docker ps 只留关键字段。
它最让我有好感的是官方对数字的态度:README 里直接写”砍掉最多 90% 的 bash 输出,不等于砍掉你 90% 的账单”——因为 bash 输出只是输入 token 的一部分,输入 token 只是账单的一部分,一路稀释下来。而且它不内置分词器,token 数是按”字节除以 4″估算的,百分比可信、绝对数仅供参考。这种把丑话说前头的项目,比张嘴就是”立省 90%”的靠谱多了。
安装看平台:macOS brew install rtk,Windows winget install rtk-ai.rtk,Linux 一条 curl 脚本。装完 rtk init -g 接上 Claude Code、Codex、Cursor、Hermes 这些,rtk gain 随时看省了多少。
实话
两个项目殊途同归,都是在给 agent 时代的一笔隐性开支动刀:上下文越肥,缓存越贵,模型读的垃圾越多,回答还越容易跑偏。顺带一提,前阵子写过的 claude-mem 解决的是 agent 健忘,这俩解决的是 agent 话痨——一个管记,一个管省,装一起也不冲突。caveman 连自己的 benchmark 里 HTML 压缩器还没做、整场会话反而多花 9.9% 这种事都写在表里,rtk 主动给你算稀释公式——敢把输的场景摆出来的,才值得往生产环境里装。
如果你正在为 token 账单肉疼,我的建议是先别急着换便宜模型:让模型少读点垃圾、少说点废话,往往一刀下去就有 30% 以上,还一分钱不用换。