每日文摘
深挖 · caveman:让 AI 说穴居人话省 token,102.6k star 的梗如何变成基础设施
「让 Claude 学穴居人说话,省 75% token」——这个从 Reddit 玩梗帖长出来的项目,5 个月冲到 102.6k star,404media 报道 OpenAI、Nvidia、GitHub 的开发者在用。但它宣传的省钱数字和最可信的第三方实测差了近 8 倍,作者本人还承认「本意是玩笑」。这期深挖拆开看:梗如何变成基础设施,数字如何一路缩水,以及它到底适合谁。
是什么
caveman 是 AI coding agent 的省 token 工具包,口号是「why use many token when few token do trick」。它有两层组件:
- caveman skill(MIT):一个约 5KB 的纯文本 SKILL.md 指令文件,零代码零依赖,让 agent 用电报式精简语回话——砍掉冠词、客套、铺垫,只留信息密度高的片段句,从而压缩输出 token。靠 skills 标准可注入 Claude Code、Codex、Gemini 等 30+ agent。
- 本地 proxy(BSL-1.1):夹在 agent 与模型 API 之间,压缩输入侧内容——json 70–90%、log 85–95%,代码、命令、路径、报错永不压缩;原文存本地 SQLite,可随时取回。
起点是 2026 年初 r/ClaudeAI 的病毒帖「Taught Claude to talk like a caveman to use 75% less tokens」,19 岁的荷兰开发者 Julius Brussee 把它工程化成了产品。热度方面:5 个月 0 到 102.6k star、6k fork、518 commits,最新版本 v2.5.0 发布于 2026-09-02(观测前一日),npm CLI 月下载 6.4 万,收录进 awesome-claude-code Skills 节第一条;404media 报道称 OpenAI 高级员工还贡献过 Codex 支持。skill 有七档强度——lite / full / ultra,外加利用古汉语字符密度的文言文三档。
核心机制(技术)
skill 这一半的原理很朴素:LLM 输出按 token 计费,自然语言里冠词、客套、过渡句占了相当比例,指令让模型只产出信息密度高的部分。但真正值得看的是这个文件的演化——它经历了一次「tokenizer 觉醒」:早期版本教模型自造缩写(cfg/impl/req/res)、用箭头表因果(X -> Y),后来实测发现这些写法被 tokenizer 拆分后和全词一样长,零 token 节省,读者还要额外解码,现行版已明令禁止;同时加了否定词保护(never drop not/never/no,防止省掉一个 not 反转语义)和安全信息豁免(错误报告、危险操作确认永远完整输出)。这大概是这个 repo 里最值得抄的 prompt 工程笔记。
难得的是它有一份 docs/HONEST-NUMBERS.md,官方主动披露亏损场景:skill 的输入侧节省为 0,规则本身每回合吃约 1–1.5k input tokens(约 5KB 注入上下文);「已经精简的工作负载会亏钱」。宣传口径也一路缩水且 commit 留痕:病毒期 75% → 2026-07-02 commit 明确改为「50-65% measured」→ README 收敛到 65% → 诚实文档承认总输出数字「未发布」。作者在 HN 主帖里说得更直白:75% 来自初步测试,整个项目「本意是玩笑,不是研究级评论」。
工程质量本身不差:Go+TS 单仓 25+ 目录,有 evals / benchmarks / CI 自动同步,外部贡献者 PR 持续合入。扣分项是 README(65%)与诚实文档(「未发布」)同日并存口径未对齐、引擎 BSL-1.1 非纯开源、匿名遥测默认开启,以及 19 岁单人维护这个结构性风险。
怎么跑起来(环境)
- skill:
npx skills add JuliusBrussee/caveman,一条命令,零依赖,/caveman lite|full|ultra切档。 - proxy:
npm install -g @caveman-ai/cli && caveman setup --install,要求 Node 22.13+,然后caveman claude原生包装 Claude Code、Codex、Gemini CLI 等 10 个 CLI;其他 SDK 走 baseURL 指向本地 proxy。macOS/Linux/Windows 有 40 平台签名二进制。 - 隐私:压缩原文只存本地 SQLite 不上传,遥测匿名可用
caveman telemetry off关闭。 - 许可:skill/CLI/SDK 是 MIT(fork 无忧);engine/proxy 是 BSL-1.1(source-available,2030-06 转 Apache-2.0),另有 Caveman Cloud 商业候补——典型的 MIT 引流 + BSL 引擎 + 云服务的分层变现。
对我们的环境(macOS + ZCode)有个意外发现:本机 ~/.agents/skills/caveman/ 里早就装了一个,但它不是这个 repo 的官方版。.skill-lock.json 铁证显示它是 2026-05-07 从 mattpocock/skills 装的,而 matt 版源自 JuliusBrussee 首版的精简改写、上游已于 06-12 删除(v1.0 时并入了整体路由方案)。也就是说本地跑的是一个孤儿副本,还保留着两条上游后来实测证伪的指令(自造缩写、因果箭头)和过时的 75% 口径。
数据说话(评测)
官方自测:10 个编码 prompt 平均输出 1214→294 tokens(-65%,逐任务范围 22%–87%);proxy 输入侧 -33.2%(54 次 pinned 基准,18/18 正确性检查,但无第三方复现)。
第三方实测则完全是另一个故事:
- JetBrains 配对 A/B(开源 harness、约 $106 真实账单,目前质量最高的第三方实测):编码 agent 场景下输出端仅省 8.5%(宣传 65%),整轮总账反而贵 11.6%——skill 自身每回合 1–1.5k input 的开销把一个依赖审计任务顶过了 200k 长上下文档位(单任务 $8.29 vs $0.33)。质量无显著变化(sign test p=0.82)。判词:「Safe, honest about style, oversold on savings」——65% 属于聊天式 Q&A,编码 agent 的现实天花板是个位数百分比。
- maxtaylor.me 独立基准:两个词的「be brief.」提示(-34%)与 caveman 三档打平,质量差 <1.5%。caveman 的真正增值只剩 hooks 持久化防回弹、强度旋钮和安全豁免设计。
- 社区仪器化拆解:一个约 100k token 的会话里,系统提示、会话历史、文件读取都不受 caveman 影响,只有约 25k 输出中的散文部分被压——总账省约 4.5%。
- 结构性天花板:OpenRouter 统计 agent 流量 93.4% 是 input tokens、仅 4.0% 是 output——输出侧 skill 的总账空间天然有限。issue 区的账单也印证:#145 短问答净亏损(break-even 约为单回合 1.5k 输出 token);#506 Copilot 按次计费下无意义;#550 有 Cursor 用户报 4.3M vs 1M token(官方称不可复现)。
HN 904 分主帖里的高赞反对意见同样值得记:强制简洁等于削减推理预算(每个 token 是一步计算)、低困惑度填充词恰恰是模型提前规划的位置、「input 才是瓶颈」。
值不值得跟
先看同类格局:
| 方案 | 压缩侧 | 声称效果 | stars | 许可 |
|---|---|---|---|---|
| caveman | 输出+输入 | 输出 -65% / 输入 -33.2% | ~103k | MIT / BSL-1.1 |
| Claude Code Concise output style | 输出 | 定性(官方内置) | 官方 | — |
| claude-token-efficient | 输出 | 词数 -63%,实测 4–12% | ~6k | MIT |
| RTK | 输入(工具输出) | 60–90% | ~78k | Apache-2.0 |
| Headroom | 输入为主 | coding 20% / JSON 60–95% | ~69k | Apache-2.0 |
| LLMLingua | 输入 | 最高 20x(学习式) | ~6.6k | MIT |
我的判断:
- 当省钱工具,证据不足。编码 agent 场景个位数百分比天花板,短问答净亏,总账还可能反贵。它的 win case 只有长解释类 Q&A(回复动辄 1k+ token 的场景),而这类场景在我们的深挖/日报工作流里并不占主导。
- 当输出可读性工具,成立。JetBrains 质量测试无差异,回复更短更快扫读是真实收益——「Speed and readability are the real product; the discount is the bonus」这句官方自评反而最诚实。
- 输入侧才是大头(93.4% vs 4.0%),而压输入侧 caveman proxy 只有官方自测。真要动手,明确支持 ZCode、Apache-2.0 的 Headroom 比 caveman 更对路——但任何代理层都建议先测自己的真实账单再上。
具体到我们环境的行动:本机那个孤儿版不值得按原样保留——要么 npx skills add JuliusBrussee/caveman 升级到官方现行版(拿到 hooks 持久化、分档与安全豁免),要么干脆删掉,用「be brief」级别的提示词即可获得相当效果(独立基准背书)。至于这个项目本身:梗已长成基础设施,商业化路径清晰,单人维护是唯一变数——值得每季度回头看一眼它的 HONEST-NUMBERS 更新,那是最诚实的晴雨表。
参考阅读
- caveman repo — 官方定位、双组件机制与全部官方数字
- docs/HONEST-NUMBERS.md — 官方自曝亏损场景与口径缩水史,罕见诚实
- JetBrains: Speak to AI agents like cavemen (Part 1) — 最可信第三方配对实测
- I benchmarked caveman against two words (maxtaylor.me) — 两个词打平整个插件
- HN 主帖(904 分) — 作者亲自回应与推理预算争论
- 404media 报道 — 大厂采用与作者背景
- issue #145 — 短问答净亏损的社区账单
- Headroom — 输入侧同类、明确支持 ZCode