让 AI 编码智能体干活,账单是按 token 算的,而 Agent 的话痨程度直接决定你的成本。一个原本二十个词就能说清的修复方案,模型经常先客套三段、再复盘一遍上下文、最后才落到结论,输出 token 轻松翻三倍。更隐蔽的浪费在输入端:测试输出、日志、JSON 响应整坨灌进上下文,模型「读」的每一行都在花钱。JuliusBrussee 开源的 Caveman 把这个问题做成了行为艺术加工程方案的结合体——口号是「为什么能用几个 token 搞定,非要用一堆」(why use many token when few do trick)。它给 AI 智能体装上「原始人语音」:回答砍到本质、代码一字不动、工具输出先压缩再进上下文。官方实测整套会话输入 token 下降 33.2%,单个测试运行的输出从 397 token 压到 76。
这个项目 2026 年在海外彻底出圈:Adobe Research 的论文引用它,JetBrains 做了 86 个真实编码任务的配对 A/B 测试,Elasticsearch Labs 把它移植进自家场景,Hacker News 和 GitHub Trending 都拿过第一,连 ThePrimeagen 都做了专题视频。项目采用 Apache-2.0 协议,Go 编写,当前版本 v4.0.1,最近更新 2026 年 10 月 25 日,GitHub 星数超过 11.4 万。一个「让 AI 说人话少一点」的工具能到这个量级,说明省 token 已经成为开发者社区的硬需求。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | Caveman |
| GitHub地址 | https://github.com/JuliusBrussee/caveman |
| 项目描述 | 让编码智能体少说少读的语音与压缩技能,实测省三成以上token |
| 作者 | JuliusBrussee |
| 开源协议 | Apache-2.0 |
| 开源状态 | 公开状态 |
| Languages | Go |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2026-10-25 |
一、项目介绍
Caveman 4.0 之后不再是单一的提示词技巧,而是六个模块的组合,官方叫「六块石头」(six rocks):语音(Say less)让智能体回答变短;读取压缩(Read less)把日志、JSON、CSV、测试输出在进模型前先瘦身;自动模式(Auto)按每次提问的难度自动选模型和推理力度,官方实测同等得分下比 Opus 高强度档便宜 54%;代码块复用(Blocks)让智能体把写过的脚本存下来重复执行,避免反复重写;浪费修复(Waste fixes)定位 token 花在哪并自动修;浏览压缩(Browse)把网页内容压缩后返回,实测页面缩小 129.8 倍。
安装一条命令,自动发现本机已装的 Claude Code、Codex、Gemini CLI、OpenCode 等三十多种智能体并完成接入,之后照常用 claude 就是 caveman 模式。它跑在本机,用你自己的 key 和登录,不经过第三方服务器。
二、核心优势
第一,省得可量化。33.2% 输入 token 降幅、397 到 76 的单次测试输出、54% 的成本下降,全部有公开测试方法,连输了的案例都放在 HONEST-NUMBERS.md 里,这种透明度在工具类项目里少见。
第二,不动正确性。语音规则明确规定:代码、命令、路径、报错信息逐字符保持原样;not、never、only 这类否定词绝不省略;安全警告和不可逆操作恢复完整句子。它优化的是表达,不是信息。
第三,不动你的提示词。Adobe Research 的结论是「把你的提示词改成原始人风格会让答案变差」,所以 Caveman 只改智能体的输出风格和读取内容,你的输入一个字不改。
第四,第三方背书扎实。JetBrains 的 86 任务配对测试显示质量无可测损失(p = 0.82),Elastic 的移植实验做到 63.6% 响应 token 削减且自称零信息损失。
第五,模块化开关。六个模块各自独立,caveman status 看状态,caveman off browse 单独关一个,不需要全家桶要么全开要么全关。
三、适用场景
按量付费的 API 用户:输出和输入双降,账单直接可见地变薄。订阅制重度用户:压缩读取等于变相扩大套餐可用量。CI 里的自动化智能体:机器读机器输出,短回答不影响下游解析,反而更稳。长会话项目:上下文膨胀速度放缓,同样窗口能干更多活。对提示词工程感兴趣的团队:它是少见的把「输出风格」做成可测量工程问题的开源样本。
四、安装教程
一条命令,Node.js 22.13 以上:
npx @caveman-ai/cli@latest安装器会自动发现本机已装的智能体和登录状态,展示将要修改的内容,按回车确认即完成。之后 Claude Code、Codex、Gemini CLI、OpenCode 等三十多种客户端全部生效。只想要语音技能、不装代理,可以单独装:
npx skills add JuliusBrussee/caveman -gClaude Code 用户也可以用插件方式,每次交互会话自动启动:
claude plugin marketplace add JuliusBrussee/caveman && claude plugin install caveman@caveman常见报错:其一,Node 版本过低直接无法运行,先升级到 22.13 以上。其二,装完旧版残留冲突——4.0 之前装过的用户必须指定 @latest,否则本机旧副本优先。其三,Auto 模块是唯一需要账户的功能,不想注册就单独关掉它,其余模块本地照常工作。其四,按次付费且套餐已含无限量的用户注意:缩短回答只在按量计费时省钱,包月用户收益主要在读取压缩。
五、使用示例
装完后在 Claude Code 里正常提问:「为什么我的 React 组件在重复渲染?」未开启时模型通常这样回答:组件重复渲染很可能是因为你在每次渲染周期都创建了新的对象引用。当你将内联对象作为 prop 传递时,React 的浅层比较会认为它是不同的对象,从而触发重新渲染。我建议使用 useMemo 来记忆化这个对象。整套约 63 token。
Caveman 模式下同一问题的回答是:每次渲染都生成新对象引用,所以 React 重复渲染。用 useMemo 包住这个 prop。约 20 token,修复方案完全一致。更高压缩档位还能进一步压到 14 甚至 13 token。
在代码模式里,智能体第一次为跑测试写了脚本,之后直接复用,官方实测单次测试运行的 token 从 397 降到 76。你可以在任何时刻用 caveman status 查看六个模块的开关状态和生效范围。
六、常见问题
问:压缩回答会降低代码质量吗?答:语音规则只约束表达层,代码、命令、路径逐字符保留;JetBrains 的 86 任务配对 A/B 测试未发现可测量的质量损失。真正影响质量的是否定词省略,而规则明确禁止。
问:我的提示词会被改写吗?答:不会。Adobe Research 的研究表明改写用户提示词会适得其反,Caveman 明确只处理智能体输出和它读取的内容。
问:哪些场景不该用?答:安全警告、不可逆操作、用户困惑时它会自动恢复完整句子;另外写文档、写面向人的说明这类任务本身就需要完整表达,可以临时说 stop caveman 退出。
问:Auto 模块为什么要账户?答:模型路由需要服务端配合选择,官方称免费;不需要就单独关闭,其他模块不受影响。
七、总结
Caveman 把一个容易被当成段子的想法做成了有数据、有第三方验证、有模块化工程的严肃工具:输出更短、读取更瘦、模型选择更聪明,而正确性不被牺牲。对 token 成本敏感的团队和个人,它属于低成本高回报的尝试;对提示词工程研究者,它提供的公开测试数据和诚实披露也很有参考价值。唯一需要留心的,是它在包月套餐上只省读取不省输出,以及安全相关场景记得它会主动恢复正常表达。
评论 0
还没有评论,来说两句吧。