caveman 调研:让 Claude Code 砍掉 65% 输出 token,挖矿模式比裸跑快 3 倍

213次阅读

caveman 调研:让 Claude Code 砍掉 65% 输出 token,挖矿模式比裸跑快 3 倍

你给 agent 一段需求,它回了一篇小作文。装上 caveman,它说 “New obj ref. Inline prop = re-render. useMemo.” —— 87% token 没了,技术准确性 100%。

写在前面

2026 年,AI coding agent 已经进了流水线。一个 ticket 跑完,Claude Code / Codex / Copilot CLI 的输出日志常常是几千 token 的 prose:开场白、复述问题、列可能性、补充 caveat、问要不要继续——真正有用的那行答案藏在第 7 段里。

更糟的是,agent 自己每轮都把自己的输出再读回去(context 回灌)。你让 agent 写一个 200 行的 React 组件,它读了 3k token 的旧回复后才动笔。token 成本乘以 token 时间,乘以 token 等待——一个能让 agent “ 少说话 ” 的工具,等同于让 agent “ 快 3 倍 ”。

caveman(https://github.com/JuliusBrussee/caveman)的解法是给 agent 装一条规则:drop filler, keep substance, use fragments。不是 prompt 调优,是 skill + hooks 强制激活。MIT 协议、30+ agent 平台、~30 秒装完、~65% 平均输出压缩(范围 22-87%)。

这篇文章就拆开看:它解决什么问题 → 4 级强度怎么选 → benchmark 真假 → 你该不该装。

一、它解决什么问题

一句话:让 agent 闭嘴,但不让 agent 变笨。

caveman 是个 Claude Code skill/plugin(也兼容 Codex / Gemini / Cursor / Windsurf / Cline / Copilot 等 30+),把 agent 的 ” 礼貌小作文 ” 压成 ” 穴居人电报 ”——技术准确性 100%,输出 token 平均砍 65%。

“The reason your React component is re-rendering is likely because you’re creating a new object reference on each render cycle. When you pass an inline object as a prop, React’s shallow comparison sees it as a different object every time, which triggers a re-render. I’d recommend using useMemo to memoize the object.”
—— 119 token

“New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.”
—— caveman,19 token

同样的答案,同样的模型。87% 没了。

项目基本面

字段 值
项目 JuliusBrussee/caveman
协议 MIT
部署平台 30+(Claude Code / Codex / Gemini / Cursor / Windsurf / Cline / Copilot 等)
强度档位 4 级(lite / full / ultra / wenyan)
平均输出压缩 ~65%(范围 22-87%)
速度提升 ~3×(agent 自己的 context 回灌更快)
技术准确性 100%
安装命令 curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh \| bash(~30 秒)
配套项目 caveman-code:完整终端 coding agent,比 Codex CLI 少 ~2× tokens
触发词 /caveman 或 “talk like caveman”
退出 “normal mode”

二、4 级压缩强度:从 ” 去填充 ” 到 ” 文言文 ”

caveman 提供 4 档强度(/caveman lite|full|ultra|wenyan),切换立即生效,到 session 结束。

档位 风格 典型产出 适用场景
lite(去填充) 砍 “I think / I’d recommend / Sure!” 这类礼貌套话 “The issue is X. Use Y.” 想保留完整句子,只删口水
full(默认 穴居人) 主谓宾 + fragments + 省略系动词 “New obj ref each render. Inline prop = new ref. Wrap useMemo.” 大多数日常 debugging、code review
ultra(电报式) 名词堆 + 标点符号当分隔 “Bug: auth middleware. Token expiry check < not <=. Fix.” 复杂 stack trace / 多文件改动 / 想边读边执行
wenyan(文言文) 用最少的汉字 〔不典型用例,参考其他语言示例:token 省更多〕 中文场景 / 中文技术写作

几个实战片段(来源 caveman README):

Ultra 风格:"Bug in auth middleware. Token expiry check use < not <=. Fix:"
Ultra 风格:"Bug: re-render. Inline prop = new ref. useMemo."

关键设计 :caveman 压缩风格,不压缩语言。你写葡语,caveman 输出葡语;西语、法语同理。Code / command / error string / URL 字节级保留。

wenyan 这档是给中文场景开的彩蛋:同样压缩率下,汉字的信息密度比英语高,所以 token 砍得更狠。

三、benchmark 数据:10 prompts 均值 65%,最高 87%

caveman 的关键证据是 README 自带的 10 prompts 三臂对照(baseline / terse prompt / caveman skill),token 数走 Claude API 真实计数,不是估算。

主表:caveman vs 普通模式

任务 Normal Caveman 节省
Explain React re-render bug 1180 159 87%
Fix auth middleware token expiry 704 121 83%
Set up PostgreSQL connection pool 2347 380 84%
Explain git rebase vs merge 702 292 58%
Refactor callback to async/await 387 301 22%
Architecture: microservices vs monolith 446 310 30%
Review PR for security issues 678 398 41%
Docker multi-stage build 1042 290 72%
Debug PostgreSQL race condition 1200 232 81%
Implement React error boundary 3454 456 87%
Average 1214 294 65%

三个值得细看的事实

  1. debugging 类最受益(83-87%)。agent 看到 bug 后的反应是 “I think the issue might be…” —— 这部分全部是填充。砍掉后 100% 准确率不打折。
  2. 架构讨论类只省 22-30%。讨论 “microservices vs monolith” 本身就需要结构化论证,caveman 砍不掉论证骨架。这种场景别装 ultra,会变味。
  3. agent 自己的 context 回灌 让 token 节省变成速度节省。agent 每轮都把自己上一轮的输出再读一次——你让 agent 写 200 行代码,它读自己 3k token 的旧回复后才动笔。砍 65% 等于 context 读快 65%,等于 agent 整体快 ~3 倍。

学术旁证:2026-03 那篇 “Brevity Constraints” paper

arXiv 论文 “Brevity Constraints Reverse Performance Hierarchies in Language Models”(2026-03)发现:强制大模型输出简短回复,能让某些 benchmark 的准确率上升 26 个点。verbose 不一定更好,有时候 ” 少字 ” 等于 ” 多对 ”。caveman 不直接验证这篇 paper,但它的实测结果跟论文结论一致。

诚实建议:别拿 87% 当对外说辞,65% 是更可信的均值。取决于任务类型,22% 到 87% 都正常。

四、30+ 个 agent 平台 + 7 个 skill 命令

caveman 走 ” 一次规则集 + hook 强制激活 ” 路线。同一份 skills 在 30+ agent 上跑,几个主流装法:

一键安装(macOS / Linux / WSL)

curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash

~30 秒,需要 Node ≥ 18。没有的 agent 自动跳过,可重复运行。

Windows

irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex

7 个核心 skill

命令 用途
/caveman [lite\|full\|ultra\|wenyan] 切换强度档位,session 内持续生效
/caveman-commit Conventional Commit 格式,subject ≤ 50 字符,why over what
/caveman-review PR 单行评论:L42: 🔴 bug: user null. Add guard.
/caveman-stats 实时 session token 用量 + lifetime 节省 + USD,可用 --share 生成可发推的图
`/caveman-compress
` 把 CLAUDE.md / project notes 压缩成 caveman 文风,每 session 砍 ~46% 输入 token
caveman-shrink MCP 中间件,包装任意 MCP server 压缩 tool description(npm)
cavecrew-* 穴居人 subagent(investigator/builder/reviewer),比原生少 ~60% tokens

Claude Code / Codex / Gemini 三个 内建 always-on——开 session 就生效,不用打 /caveman。Cursor / Windsurf / Cline / Copilot 通过 --with-init 写 always-on rule file。其他 agent 用 /caveman 命令触发。完整特性矩阵见 INSTALL.md。

状态栏徽章

装完后 Claude Code 状态栏会显示 [CAVEMAN] ⛏ 12.4k (lifetime tokens saved),每跑一次 /caveman-stats 更新。嫌吵可以 export CAVEMAN_STATUSLINE_SAVINGS=0 关掉。

五、与 ponytail 对比:砍代码 vs 砍回复

ponytail 那篇调研(ponytail-research)发出去后,读者群有个高频问题:caveman 和 ponytail 是一回事吗?——不是。两者是互补的。

维度 ponytail caveman
砍的目标 代码行数(少写) 回复 token(少说)
核心机制 YAGNI 阶梯 6 步决策链 drop filler + fragments + hook 强制
平均压缩 -54% LOC / -22% tokens -65% output tokens / LOC 不动
多平台 14 个 30+ 个
装上后 agent 风格 “ 这个 date picker 不需要包,用 <input type=date>“ “New obj ref each render. Wrap useMemo.”
副作用 砍依赖、砍 options、砍未来扩展点 砍开场白、砍补充 caveat、砍 ”would you like”
触发点 写代码前 写完代码后
互补? ✅ 可以同时装 ✅ 可以同时装

最佳实践:

  • 装 ponytail + caveman:ponytail 让 agent 少写代码(省 LOC),caveman 让 agent 少解释代码(省 prose)。一个管 ” 产 ”,一个管 ” 说 ”。两个一起装,实测 token 比单独装 ponytail 再省 ~7-10%(来自 ponytail benchmark 对照组)。
  • 只装 caveman:你要的是一个 ” 快 3 倍 + 简洁输出 ” 的 agent,原代码风格不变。
  • 只装 ponytail:你的瓶颈是 review 的代码量,不是 agent 的等待时间。
  • 两个都不装:你 agent 主要任务是聊天 / 写文档 / 写 PR 描述——这些场景 prose 不能砍。

ponytail benchmark 里 caveman 是对照组之一:caveman 让 LOC -20%(靠 ” 少写点解释 prose”),但 token +7%(解释被压成短句,总 token 反而略涨)。这不是矛盾——压缩的不是同一个东西。

六、实战:2 个场景跑通

场景 1:React re-render bug

任务:” 我的 React 组件每次按键都 re-render,怎么修?”

没装 caveman 的输出(典型 Claude Code 默认行为):

“Great question! A React component can re-render on every keystroke for several reasons. The most common cause is passing a fresh object or function reference as a prop on each render, which defeats React’s referential-equality bail-out and forces the child to reconcile again… I’d recommend using useMemo to memoize the prop. Here’s an example: …”
—— ~1190 token

装上 caveman full 后的输出:

“New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.”
—— 159 token

节省 87%。同时 agent 已经把 useMemo 改进了代码——技术准确性 100%。

场景 2:Auth middleware token expiry

任务:” 我的 auth middleware 没拦截过期 token,看看代码。”

没装 caveman:

“Sure! I’d be happy to help you with that. The issue you’re experiencing is most likely caused by your authentication middleware not properly validating the token expiry. Let me take a look and suggest a fix. The current implementation uses < instead of <= in the expiry check, which means tokens that expire exactly at the current time will not be rejected…”
—— ~704 token

装上 caveman:

“Bug in auth middleware. Token expiry check use < not <=. Fix:”
—— 121 token

节省 83%,fix 本身完整保留。

两个场景的共同点:agent 的 ”thinking out loud” 占了 80%+ 的输出,真正的 fix 只有 1-2 句话 。caveman 把 thinking 留在 thinking tokens 里(caveman 不压缩 thinking tokens,只压缩 output tokens——这点很重要),只把 output 削到骨头。

七、决策表

场景 推荐 理由
你每天跑 50+ ticket,agent 输出刷屏 装 caveman full 砍 65% prose + speed 3×,立竿见影
你主要写长 PR 描述 / 设计文档 / 中文技术文章 不装 prose 是产品不是噪音,压缩即损伤
你已经在用 ponytail 加装 caveman ultra 互补(少写 + 少说),再省 7-10%
你跑 Codex CLI / Cursor / Windsurf 装 caveman 30+ 平台全支持,~30 秒装完
你要的是一个完整终端 coding agent,不只是 skill 装 caveman-code https://github.com/JuliusBrussee/caveman-code,同款压缩进 agent 全栈,比 Codex 少 ~2× tokens(25 任务 gpt-5.5 实测:524k vs 1,010k,pass rate 14/25 vs 15/25)

八、风险与坑

1. 中文支持只覆盖 wenyan 档

lite / full / ultra 三档是英文优化档,中文 agent 上用会有点怪——agent 会写出 “ 新 obj ref 每次 render” 这种中式英语。中文用户首选 /caveman wenyan,或者直接让 agent 用英文回复 + 你本地翻译。ponytail 在中文场景下没这个问题(它管代码不管 prose)。

2. 架构讨论类只省 22-30%

caveman 不适合所有任务类型。”Compare microservices vs monolith” 这种需要论证骨架的问题,砍 30% 后只剩论点堆叠,关键 caveat 容易丢。遇到长解释任务前,先 /caveman-stats 估算节省率,低于 40% 的别装。

3. thinking tokens 不压缩

caveman 只砍 output tokens。Anthropic 的 extended thinking / o1 / o3 的 internal reasoning tokens 完全不动。如果你的账单大头是 thinking(比如 o3-pro 跑代码生成),caveman 省不了多少——这种情况下看 caveman-code 那种 ” 全栈压缩 agent”。

4. caveman-shrink(MCP 压缩包)刚发布

caveman-shrink 是 MCP 中间件,能压缩任意 MCP server 的 tool description。npm 已发,但 README 把它列为 ”experimental”。生产环境的 MCP server 先测再上,别一刀切全 wrap。

5. Hook 失败回退

如果 install hook 写失败(比如 file permission),agent 会 fallback 到 “ 正常说话 ”。症状是 caveman-stats 显示 0 tokens saved。修法:cat ~/.claude/hooks/caveman.flag 看 flag 文件是否存在;不存在就 bash install.sh 重跑一遍。

九、总结

最值得装的 3 个理由:

  1. 65% token / 3× 速度 / 100% 准确性——三项独立指标,没有一个以牺牲其他为代价。这在 AI 工具圈极其罕见。
  2. 30+ 平台全支持 + ~30 秒装完——一次性投入,换所有 agent 工作流都加速。
  3. 跟 ponytail 互补——ponytail 砍代码,caveman 砍 prose;一起装省 token 的两个维度都不漏。

一句话建议:

先 curl | bash 装一周 auto-activate,只跑 debugging / refactor / code review 这三类任务(caveman 收益最高),一周后看 /caveman-stats 的 lifetime 节省。如果超过 50%,永久装;如果低于 30%,只在 wenyan 档位下偶尔用。

如果不想装 skill 但想要同款压缩效果,caveman-code 是把压缩写进 agent 全栈的版本——比 Codex CLI 少 ~2× tokens,pass rate 14/25 vs 15/25(25 任务 gpt-5.5 benchmark,2026-05-18)。适合想要 ” 开箱即快 2 倍 ” 的开发者。

参考


让技术被看见,让极简成为常态。

正文完