
在保持代码逻辑 100% 准确的前提下,平均减少 65% 的输出 Token 占用。
详细介绍
Caveman
Caveman 是一个用于 AI 编码 Agent 的 skill/plugin,让 Agent 像“穴居人”一样说话:去掉废话,用简短、直接的短句回答,同时保证代码、命令和错误信息逐字节准确。根据 README,同样答案可减少约 65% 的输出 token 。
它可用于 Claude Code、Codex、Gemini、Cursor、Windsurf、Cline、Copilot 以及 30+ 个其他 Agent。
需要诚实说明:Caveman 只减少 输出 token;输入和推理 token 不会减少,且 Skill 本身每回合会增加约 1–1.5k 输入 token。
适用人群
使用 AI 编码 Agent,希望回复更短、更易读,同时不损失技术准确性的开发者。
关注输出 token 成本,但理解“真正的收益是可读性和速度,而不是必然省钱”的用户。
Claude Code、Codex、Gemini、Cursor、Windsurf、Cline、Copilot 及 30+ 个其他受支持 Agent 的用户。
效果预览
普通 Agent — 69 tokens:
你的 React 组件重新渲染,很可能是因为每次渲染都创建了新的对象引用。当你把内联对象作为 prop 传入时,React 的浅比较会认为它是不同的对象,从而触发重新渲染。我建议用 useMemo 来记忆这个对象。
Caveman Agent — 19 tokens:
每次渲染都是新对象引用。内联对象 prop = 新引用 = 重新渲染。用 useMemo 包一下。
普通 Agent:
当然!我很乐意帮你解决这个问题。你遇到的情况很可能是由认证中间件没有正确校验 token 过期时间导致的。让我看一下并提出修复方案。
Caveman Agent:
认证中间件有 bug。token 过期检查用的是 < 而不是 <= 。修复:
同样的修复。三分之一的篇幅。技术内容没有丢失。
核心能力
兼容 Claude Code、Codex、Gemini、Cursor、Windsurf、Cline、Copilot 等 30+ 个 Agent。
把回复压缩成简短的“穴居人”风格,同时逐字节保留代码、命令和错误。
只缩小 Agent 的“嘴”,不缩小“脑”——不改变它知道什么,只改变它怎么说。
保留你的语言:用葡萄牙语、西班牙语、法语等书写时,Agent 仍用对应语言回复;压缩的是风格,不是内容。
提供多个压缩级别: lite 、 full (默认)、 ultra 、 wenyan 。
提供 /caveman-commit 、 /caveman-review 、 /caveman-stats 、 /caveman-compress 、 caveman-shrink 和 cavecrew-* 子 Agent。
可以重写记忆文件(如 CLAUDE.md ),让之后的每次会话从更小的上下文开始,长期节省输入 token。
无遥测、无分析、无账号、无后端;配置完成后零网络调用。
命令一览
命令
作用
/caveman [lite|full|ultra|wenyan]
压缩每次回复。级别在会话中保持。
/caveman-commit
生成 Conventional Commit 信息,主题不超过 50 字符。讲“为什么”而不是“是什么”。
/caveman-review
一行式 PR 评论: L42: 🔴 bug: user null. Add guard.
/caveman-stats
查看真实会话 token 用量、累计节省量和 USD。 –share 可生成可分享的一句话。
/caveman-compress <file>
把记忆文件(如 CLAUDE.md )重写为“穴居人”风格。之后每次会话输入 token 减少约 46%。代码、URL、路径逐字节保留。
caveman-shrink
MCP 中间件。包装任意 MCP server,压缩其工具描述。
cavecrew-*
Caveman 子 Agent(调查员、构建者、审查者)。比普通版本减少约 60% token,让主上下文更持久。
在 Claude Code 上,状态栏会显示 [CAVEMAN] ⛏ 12.4k —— 那是你累计节省的 token,每次运行 /caveman-stats 时更新。设置 CAVEMAN_STATUSLINE_SAVINGS=0 可关闭。
压缩级别
随时用 /caveman <level> 切换。级别会保持,直到你修改或会话结束。
级别
同样一句话的压缩效果
normal agent
你应该把对象包在 useMemo 里,因为每次渲染都会创建新的引用。
lite
用 useMemo 包裹对象。每次渲染都会创建新引用。
full (默认)
每次渲染都是新引用。用 useMemo 包裹对象。
ultra
每次渲染/引用。 useMemo 它。
wenyan
每次渲染都有新引用,所以用 useMemo 包裹——用文言文呈现,更短。
说你的语言。 Caveman 会保留你的语言。写葡萄牙语,Caveman 就用葡萄牙语回应;西班牙语、法语也一样。它压缩的是风格,从不翻译。 wenyan 模式是有意为之的特例:文言文每个 token 能承载更多含义。
开启 / 关闭
开启:输入 /caveman 或说 “talk like caveman”。
关闭:说 “normal mode”。
在 Claude Code、Codex 和 Gemini 上,从第一条消息起默认开启,无需命令。
兼容性与限制
受支持的 Agent 包括 Claude Code、Codex、Gemini、Cursor、Windsurf、Cline、Copilot 以及 30+ 个其他 Agent。
Caveman 只压缩 输出 token。输入和推理 token 不会被节省。
Skill 本身每回合会增加约 1–1.5k 输入 token,因此整个会话的实际节省小于单次回复的输出减少。
在已经很简洁的工作负载上,节省可能变成净亏损。
Skill 保留你的语言;它压缩风格,不压缩内容。 wenyan 级别是有意为之的特例。
README 还提到 caveman-shrink 和 cavecrew-* 作为 MCP 中间件和子 Agent 的附加工具。
基准与真实数据
以下是 README 提供的来自 Claude API 的真实 token 计数。10 个提示平均输出减少 65% (范围 22–87%),对比默认冗长回复。仅计算输出 token。
任务
普通
Caveman
节省
解释 React 重新渲染 bug
1180
159
87%
修复认证中间件 token 过期
704
121
83%
配置 PostgreSQL 连接池
2347
380
84%
解释 git rebase 与 merge
702
292
58%
把 callback 重构为 async/await
387
301
22%
架构:微服务 vs 单体
446
310
30%
审查 PR 的安全问题
678
398
41%
Docker 多阶段构建
1042
290
72%
调试 PostgreSQL 竞态条件
1200
232
81%
实现 React error boundary
3454
456
87%
平均
1214
294
65%
README 还引用了一篇 2026 年 3 月的论文《Brevity Constraints Reverse Performance Hierarchies in Language Models》,测试了 31 个模型,发现在某些基准上,限制大模型简短回答可使准确率提高约 26 个百分点。
诚实的数字提醒。 Caveman 只减少 输出 token。输入和推理 token 不受影响,而且 Skill 本身每回合会增加约 1–1.5k 输入 token。因此整个会话的节省会小于输出数字;在已经很简洁的工作负载上,甚至可能变成净亏损。真正的收益是 可读性和速度 ,成本节省只是额外好处。想了解 Caveman 何时划算、何时不划算,以及如何自己测量,可查看 docs/HONEST-NUMBERS.md 。
caveman-compress 实例
真实记忆文件压缩一次,之后每次会话都会更便宜:
文件
原始
压缩后
节省
claude-md-preferences.md
706
285
59.6%
project-notes.md
1145
535
53.3%
claude-md-project.md
1122
636
43.3%
todo-list.md
627
388
38.1%
mixed-with-code.md
888
560
36.9%
平均
898
481
46%
之后每次会话,该文件加载时约减少 46% 输入 token。这不是只省一次性回复,而是长久节省输入 token。
工作方式
Skill 文件被配置到你的 Agent。
Skill 告诉 Agent:去掉废话、保留实质、使用短语——但绝不碰代码、命令或错误。
在 Claude Code 上,hook 会在每个会话写入一个小标记文件,因此从第一条消息起 Agent 就用“穴居人”模式,无需 /caveman 。
/caveman-stats 读取你的会话日志,统计节省的 token,把数字写入状态栏。
/caveman-compress 重写记忆文件(如 CLAUDE.md ),让之后每个会话从更小的上下文开始。节省 token 是长久的,不只是这一次。
隐私
Caveman 不打电话回家。无遥测、无分析、无账号、无后端。配置完成后零网络调用——Skill 是提示词,hook 是本地脚本, /caveman-stats 读取的是本地已有的日志。安装时的网络请求(GitHub 和 Agent 自己的 registry)在 SECURITY.md 中有说明。
试试这样做
- /caveman full
- /caveman-stats
- /caveman-commit
作者:JuliusBrussee 开发者 / 职场人 | GitHub Stars 93K | 标签:编程开发 自动化 已认证 开源许可: MIT
来源:colaos.ai | Skill ID:caveman
留言 0
还没有留言,快来抢沙发