Caveman 深度实战:一句「穴居人」指令省 65% Token 背后的 AI Agent 输出经济学
一、背景:2026 年,每个开发者都在和 Token 账单搏斗
2026 年的 AI 开发现状是什么样?如果你在写代码时用到 Claude Code、Codex、Cursor 或 Gemini 这些编程智能体,你一定对一件事深有体会——Token 账单在悄悄地吞噬你的预算。
GPT-5.6 发布后,AI 编程智能体的能力在飞涨,但成本并没有成比例下降。一个中等规模的重构对话,动辄消耗上万 Token。按月订阅 20-200 美元不等,重度用户的 API 费用更是天文数字。更扎心的是,你不是在用这些钱买「正确答案」——你在用这些钱买铺垫语。
来看一个真实场景。你问智能体「React 组件为什么老是重新渲染?」它可能会回复你:
"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."
这句话 69 个 Token。但核心信息只有 7 个词:New object ref each render. Wrap in useMemo. 其他的 62 个 Token——"The reason is likely because"、"I'd recommend"——开发者根本不需要。你在为 AI 的「礼貌」买单。
2026 年 7 月,GitHub Trending 周榜上冒出一个画风清奇的项目,精准地捅破了这层窗户纸。项目名字叫 Caveman,标语是:
"why use many token when few do trick"
一周之内,Caveman 狂揽 8.8 万 GitHub Stars。不是因为它发明了什么新算法,而是因为它用最朴素的方式,解决了一个所有 AI 开发者都痛的真实问题。
本文将深度拆解 Caveman 的技术架构、实现原理、基准测试和生态体系,并探讨 Token 经济学对 AI Agent 开发范式的深远影响。
二、Caveman 是什么?——一个「让 AI 闭嘴」的 Skill 系统
Caveman 本质上是一个 AI 编程智能体的输出压缩技能包。它不是新模型,不是新框架,甚至不是新算法——它是一套精心设计的 Prompt Engineering + 钩子系统组合。
它的工作原理非常简单:安装后,所有支持的 AI 编程智能体(目前已支持 30+ 个 Agent)在输出回答时,会自动丢掉所有废话——铺垫语、解释性段落、礼貌性的"I'd be happy to help"——只保留纯技术信息:代码、命令、错误信息,逐字节原样保留。
用 Caveman 作者 Julius Brussee 的话说:"Brain still big. Mouth small." 不砍能力,只砍噪音。
支持的智能体矩阵
Caveman 最大的差异化之一,就是它的「全平台覆盖」策略。目前支持的智能体包括但不限于:
| 类别 | 智能体名称 |
|---|---|
| 通用编程 | Claude Code, Codex, Cursor, Windsurf, Cline |
| 云集成 | GitHub Copilot, AWS CodeWhisperer |
| CLI 工具 | Gemini CLI, Junie, Kiro |
| 开源 | Continue.dev, Open Interpreter, Aider |
| 其他 | Cline, Copilot (VS Code), 30+ 更多 |
每类智能体的安装路径不同——有的是 Skill 系统插件、有的是规则文件、有的是 VS Code 扩展——但作者用一个统一的 install.sh 脚本,实现了「一键全平台安装」。
不是第一个,但做得最彻底
Token 缩减并不是新概念。2025 年就出现了大量 Prompt 压缩工具。但 Caveman 做了几件关键的不同事:
动输出,不动输入——大多数压缩工具处理的是用户输入的 Prompt,Caveman 压缩的是智能体的回答。输入压缩省不了钱(用户输入由你自己负责),输出压缩才是真正的成本缩减。
保留 100% 技术精度——代码、路径、错误信息逐字节完整保留。它不是「摘要」,而是「精简」。两者有本质区别:摘要可能丢失信息,精简只去掉冗余。
零代码改动——一条 curl 命令,30 秒完成安装,不侵入项目代码,不改变开发流程。
记忆文件也可以压缩——
/caveman-compress命令可以重写 CLAUDE.md、AGENTS.md 等记忆文件,将这些每次会话都加载的上下文文件削减约 46%,长效节省输入 Token。
三、技术架构深度拆解:三层体系如何实现「精准闭嘴」
Caveman 的技术架构非常精炼,大致分为三层。
第一层:系统提示注入(System Prompt Injection)
这是最核心的一层。安装时,Caveman 向每个智能体的配置目录写入一条 Caveman 模式提示词。这条提示词的核心指令只有几个要点:
- 丢掉所有填充词和铺垫语
- 保持代码、命令、错误信息原样不变
- 用片段替代完整句子
- 优先使用列表和表格替代段落
- 每个回答直接给出技术要点
在 Claude Code 中,它被写入 .claude/CLAUDE.md 或通过 Plugin 机制注入。在 Codex 中是通过 .codex/rules/ 下的规则文件。在 Gemini 中是通过 Extension 配置。在 Cursor 中是通过 .cursorrules。
每一个智能体的注入方式都不同,但效果一样——智能体从第一条消息就开始「穴居人化」输出。
关键的实现细节:这条提示词本身非常短。按 Caveman 自己的哲学,安装提示同样只有几十个 Token。这意味着它的「安装成本」几乎可以忽略不计。
第二层:会话钩子(Session Hooks)
光有提示词还不够,因为某些智能体在会话恢复时可能会丢失上下文。Caveman 的第二层是一个本地钩子系统,在每次新会话开始时自动写入标记。
以 Claude Code 为例,安装后会在本地创建一个 .claude/hooks/ 脚本。当 Claude Code 启动新会话时,这个钩子会自动设置 Caveman 模式的环境变量,让智能体从第一条消息就进入压缩模式。用户在后续会话中不需要每次都手动敲 /caveman。
这种分层设计非常关键——它解决了「智能体记忆丢失」这个实际问题,确保了压缩效果的持久性。
第三层:记忆文件压缩(Memory Compression)
Caveman 还提供了一个非常独特的命令:/caveman-compress <file>。它可以重写 CLAUDE.md、AGENTS.md、project-rules.md 等经常加载的上下文文件。
这层的原理是:Caveman 读取文件内容,用同样的「穴居人压缩」风格重写一遍——保留所有代码块、URL、路径、关键决策,砍掉冗余的描述和铺垫。
结果是每个未来会话都从更小的上下文开始。实测显示,记忆文件压缩后平均削减 46% 的输入 Token。这不是一次性节省——而是每次会话都能省。
我们来对比一下效果:
| 文件 | 原文大小 | 压缩后 | 节省 |
|---|---|---|---|
| claude-md-preferences.md | 706 tokens | 285 tokens | 59.6% |
| project-notes.md | 1145 tokens | 535 tokens | 53.3% |
| claude-md-project.md | 1122 tokens | 636 tokens | 43.3% |
| todo-list.md | 627 tokens | 388 tokens | 38.1% |
| mixed-with-code.md | 888 tokens | 560 tokens | 36.9% |
平均节省 46%。如果你每天的 CLAUDE.md 会话都要加载 2000 Token 的记忆文件,每天开 20 个会话,一天就能省约 18,400 个输入 Token——一个月就是 55 万 Token。对于重度用户,这笔账算下来相当可观。
四、六个输出等级:从 Lite 到 Wenyan 的压缩艺术
Caveman 提供了六个输出等级,用户可以通过 /caveman <level> 随时切换:
| 等级 | 对同一句话的效果 | 压缩比 |
|---|---|---|
| normal | "You should wrap the object in useMemo, since a new reference is created on every render." | 0% |
| lite | "Wrap object in useMemo. New ref created every render." | ~35% |
| full(默认) | "New ref each render. Wrap object in useMemo." | ~65% |
| ultra | "New ref/render. useMemo it." | ~78% |
| wenyan | 文言文输出,单字信息密度最高 | ~80%+ |
Full 模式:推荐的生产默认值
Full 模式是 Caveman 的默认等级,也是绝大多数场景下的最佳选择。它的核心策略是:
- 砍掉句子主语("You"、"The problem is")
- 砍掉因果连接词("because"、"since"、"due to")
- 砍掉礼貌结尾("Let me know if...")
- 保留所有技术名词、代码、路径、数字
- 段落转列表
Full 模式下的实际输出对比:
场景:解释 React 重新渲染
正常模式 (1180 tokens):
"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..."
Caveman Full 模式 (159 tokens):
"New object ref each render. Inline object prop = new ref = re-render.
Wrap in useMemo."
省 87%。核心信息一样不少。
Ultra 模式:极简主义者的狂欢
Ultra 模式会将输出压缩到「人类电报」级别。几乎只剩下名词和动词,连冠词和介词都砍掉了。这个模式适合处理你已经非常熟悉的领域——你只需要智能体报出关键词,不需要任何上下文。
但 极端的压缩也有代价。当任务的上下文不明确时,Ultra 模式可能会丢失一些必要的连接信息。例如,一段 Ultra 模式的代码审查评论可能只有:
L42: 🔴 null guard missing. user obj.
这 7 个 Token 只对熟悉这段代码的人有意义。如果是第一次审查,你可能看不懂。所以 Ultra 模式适合「你完全知道自己在做什么」的场景。
Wenyan 模式:中文开发者的彩蛋
Wenyan 模式是一个面向中文用户的特殊模式——它让智能体用文言文输出。由于文言文的特点——单字信息密度极高、省略大多数虚词——Wenyan 模式在压缩比上可以做到最高。
当然,这个模式更多是炫技和趣味性,实际生产中并不推荐。但它的存在本身就说明了一个道理:不同语言的信息密度差异巨大。优化输出时,利用语言本身的特性也是一种思路。
🚨 重要提醒:诚实数字
Caveman 官方在 HONEST-NUMBERS.md 中做了坦诚的披露:
Caveman only shrinks output tokens. Input and reasoning tokens are untouched, and the skill itself adds ~1-1.5k input tokens per turn. So whole-session savings run smaller than the output number, and on already-terse workloads they can go net-negative.
翻译成人话:65% 的节省是输出 Token 的节省,不是全会话总节省。 加上 Caveman 本身的安装和运作也有开销,在原本就已经很简洁的工作负载(比如纯命令调用场景)下,净节省可能趋于零甚至负值。
但官方也说得很清楚:真正的收益是可读性和速度。省钱是 bonus。
这是一个我认为非常值得尊重的诚实态度——它没有夸大效果,反而给了开发者判断自己场景是否适合的条件。
五、基准测试:65% 输出削减的真实数据
Caveman 提供了可复现的基准测试(在 benchmarks/ 和 evals/ 目录下),以下是 10 个典型编程场景的实测数据:
| 任务 | 正常 Token 数 | Caveman Token 数 | 节省 |
|---|---|---|---|
| 解释 React 重新渲染 Bug | 1180 | 159 | 87% |
| 修复认证中间件 Token 过期 | 704 | 121 | 83% |
| 设置 PostgreSQL 连接池 | 2347 | 380 | 84% |
| 解释 git rebase vs 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% |
有几个值得注意的观察点:
压缩率与任务类型强相关——解释性质的回答(React 重渲染、PostgreSQL 连接池、Docker 构建)压缩率最高,可达 72-87%。因为这些任务本身包含大量「铺垫式」内容。
重构类任务压缩率最低——你注意到 async/await 重构只省了 22% 吗?因为这种任务本身就很简洁:代码原本就那么几行,智能体没什么废话可砍。这意味着 Caveman 对「已经简短的输出」几乎没有额外价值。
极值差异巨大——最高 87% 到最低 22%,跨度 4 倍。这意味着你的工作风格决定了 Caveman 的实际收益。
Caveman 还引用了一篇 2026 年 3 月的论文《Brevity Constraints Reverse Performance Hierarchies in Language Models》。该论文测试了 31 个模型,发现限制大模型用简短回答时,在某些基准测试上准确率反而提升了 26 个百分点。
Less word = more correct.
这听起来反直觉,但逻辑其实很简单:当模型被迫输出更少内容时,它减少了「随口胡扯」的可能性。可以说 Caveman 的压缩不仅仅是省钱,还在客观上提升了回答质量。
六、代码实战:从安装到定制
6.1 一键安装
Caveman 的安装过程极其简单,也是它快速走红的原因之一。
macOS / Linux / WSL:
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash
Windows PowerShell 5.1+:
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex
安装脚本会自动做几件事:
- 检测系统中是否安装了 Node.js (要求 ≥18)
- 扫描所有支持的 30+ 个智能体
- 逐个安装 Caveman 配置
- 对检测不到的智能体自动跳过,不会报错
整个过程约 30 秒,安全可重复运行。
6.2 单智能体手动安装
如果你只想在特定智能体上安装 Caveman:
Claude Code:
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman
Gemini CLI:
gemini extensions install https://github.com/JuliusBrussee/caveman
Cursor / Windsurf / Cline:
npx skills add JuliusBrussee/caveman -a cursor
6.3 日常使用命令
安装后,Caveman 提供了一系列命令:
| 命令 | 作用 |
|---|---|
/caveman [lite|full|ultra|wenyan] | 切换压缩等级 |
/caveman-commit | 生成 Conventional Commit 信息,主题 ≤50 字符 |
/caveman-review | 单行 PR 审查评论,如 L42: 🔴 bug: user null. Add guard. |
/caveman-stats | 显示会话 Token 节省统计,支持 --share 生成可分享摘要 |
/caveman-compress <file> | 重写记忆文件为穴居人风格 |
小技巧:在 Claude Code 上,状态栏会显示 [CAVEMAN] ⛏ xxxx——这是你的累计 Token 节省数。如果觉得干扰,可以用 CAVEMAN_STATUSLINE_SAVINGS=0 环境变量关掉。
6.4 高级:自定义压缩规则
Caveman 支持通过环境变量和规则文件自定义压缩行为:
# 设置默认压缩等级
export CAVEMAN_DEFAULT_LEVEL=ultra
# 控制特定智能体的压缩行为
export CAVEMAN_CODEX_LEVEL=lite
export CAVEMAN_CLAUDE_LEVEL=full
# 开启/关闭某些压缩策略
export CAVEMAN_KEEP_CODE_ONLY=true
export CAVEMAN_PRESERVE_ERRORS=true
如果默认的 6 个等级满足不了你的需求,你完全可以 Fork 项目,修改 src/ 目录下的压缩规则文件。这个设计赋予了 Caveman 极高的可定制性——每个人都能定义自己的「说话方式」。
6.5 在生产环境中使用 Caveman
在 CI/CD 流水线或团队协作中使用 Caveman 时,建议:
- 团队统一配置文件:将 Caveman 规则写入
.claude/CLAUDE.md或.cursorrules,纳入 Git 版本管理 - Docker 镜像内置:在 Dockerfile 中加入安装命令
- 与 CI Agent 配合:在 GitHub Actions 中使用 Caveman 压缩 Agent 日志输出
FROM node:20-slim AS base
RUN curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash
ENV CAVEMAN_DEFAULT_LEVEL=full
七、Caveman 的生态版图:不止是「让 AI 闭嘴」
Caveman 不是孤立项目。作者 Julius Brussee 构建了一个完整的 Token 节俭生态,包含五个核心工具:
1. caveman-code(完整终端编程智能体)
如果说 Caveman 只是「压缩输出」,那么 caveman-code 就是「整个 Agent 从头到脚都压缩」。它是一个从零构建的终端编程智能体,在相同任务上比 Codex 节省 2 倍 Token。支持 20+ LLM 提供商、plan 模式、autopilot 目标循环。
npm install -g @juliusbrussee/caveman-code
2. cavemem(跨会话记忆压缩)
Cavemem 解决的是「Agent 记忆膨胀」的问题。AI Agent 在长期运行中,记忆文件会不断积累,导致上下文越长、Token 开销越大。Cavemem 会在每次会话结束时自动整理和压缩记忆文件,只保留真正有用的信息。
3. cavekit(规范驱动构建循环)
Cavekit 是一个「规范驱动」的构建工具——先写规范(spec),再写代码,Agent 严格按照规范实现。这种工作流天然减少了 Agent「自由发挥」带来的 Token 浪费,因为 Agent 不需要在输出中重复说明决策理由。
4. cavegemma(压缩烘焙进模型权重)
这是生态中最「硬核」的一个——把 Caveman 式的压缩能力直接微调进 Gemma 模型权重。这意味着即使不用 Caveman 的系统提示,微调后的 Gemma 模型也会天然输出「穴居人」风格。This is the direction of "compression baked into the model"——未来 AI 模型可能会原生支持「简洁模式」。
生态版图一览
| 工具 | 压缩对象 | 节省幅度 |
|---|---|---|
| caveman | Agent 输出 | 65% |
| caveman-code | 完整 Agent | ~2x 于 Codex |
| cavemem | Agent 记忆(跨会话) | ~40% |
| cavekit | 构建循环 | ~50% |
| cavegemma | 模型权重 | - |
这个生态释放了一个强烈的信号:Token 优化正在从「附属功能」变成独立产品品类。
八、性能优化指南与避坑
8.1 选择正确的压缩等级
Caveman 的压缩效率高度依赖场景。以下是推荐选择:
| 使用场景 | 推荐等级 | 原因 |
|---|---|---|
| 日常开发 | full | 平衡信息密度和可读性 |
| 调试问题 | full/ultra | 只需要错误信息和修复方案 |
| 学习新技术 | lite | 需要一定的上下文和解释 |
| 代码审查 | ultra/caveman-review | 只需要关键行号和建议 |
| 文档生成 | lite/full | 需要保留可读的输出 |
| API 调用 | ultra | 只需要返回值 |
| 团队协作 | full | 在简洁和可理解间取得平衡 |
8.2 常见误区
误区 1:Caveman 能省 65% 的总费用
诚实地说,不能。65% 是对输出 Token 的节省,不是对总 Token 的节省。一次典型的 Agent 交互包含:
- 输入 Token(用户 Prompt + 上下文)
- 推理 Token(模型的内部思考)
- 输出 Token(Agent 的回答)
Caveman 只影响输出 Token。如果输入和推理部分占据大头,整体节省可能只有 15-30%。这在 HONEST-NUMBERS.md 中有详细说明。
误区 2:越极端的压缩越好
ultra 和 wenyan 模式虽然压缩率高,但可能牺牲可读性。特别是当你需要复读 Agent 的输出给别人看时。Full 模式是生产环境的最优选择。
误区 3:所有智能体都完全支持
虽然 Caveman 宣称支持 30+ 个智能体,但不同智能体的支持完善程度不同。Claude Code 和 Codex 的支持最完善(有专门的插件系统),而一些社区智能体的支持可能只停留在「规则文件注入」层面。安装后最好先测试一下效果。
8.3 何时不应该使用 Caveman
Caveman 很好,但不是万能的。以下场景建议关闭:
- 教学/文档写作——当前需要生成详细说明时,正常模式的「废话」反而是有用的
- 与非技术人员协作——PM、设计师看不懂「穴居人」风格的回答
- 全新领域探索——当你不熟悉领域时,Agent 的详细解释是学习资源
- 已高度精简的输出——如果你写的是类似
grep、awk指令,Agent 已经没什么废话可砍,Caveman 的成本反而成了净开销
九、哲学反思:长思考链与短输出的「对立统一」
Caveman 的走红不是一个简单的技术事件,它背后反映了 2026 年 AI 开发的两股矛盾力量:
力量一:长思考链——越来越能「想」
2025-2026 年,AI 模型的一个主要方向是「让模型多想想再回答」。OpenAI 的 o1/o3、GPT-5.6 和 Anthropic 的延长思考功能,都在鼓励模型消耗更多推理 Token 来提升回答质量。这在数学推理、复杂代码生成等场景确实有效。
力量二:短输出——越来越会「说」
Caveman 代表的是另一个方向——思考可以长,但说话要短。它不限制模型的内部推理(Caveman 完全不影响模型的 Chain-of-Thought 过程),只限制输出端的冗余。
这两个方向并不冲突。实际上,一个好的 AI Agent 工作流应该是:
长思考(高质量推理)→ 短输出(高效沟通)
Caveman 解决的正是这后半段的问题。而在「长思考→短输出」这个范式中,有一个更深层的含义:
智能体的「废话」不是模型的错,是场景错配。
Claude、GPT 在设计时被训练成「帮助者」——礼貌、详尽、有问必答。这在客服场景是加分项,在编程场景就是开销。开发者不需要「让我来分析一下你的问题」——他们需要「L42: bug」或者「await 忘记加了」。
Caveman 的本质,是一次交互范式的校准——告诉模型:在编程这个场景下,最有效的沟通是「只给答案,不给铺垫」。
Token 经济学:下一波创业风口?
Caveman 爆火之后,已经涌现了多个跟随者。GitHub 上出现了多个类似的 Prompt 压缩插件,涵盖从推理开销减少到输出精简的各种方向。
我个人认为,Token 经济学将成为未来 2-3 年 AI 基础设施的关键赛道。原因是明摆着的:
- 模型能力在飞速提升,但推理成本没有同步下降
- 开发者使用 AI Agent 的频次在指数级增长
- 每次交互的 Token 消耗是固定的,但累积成本线性增长
当「每天运行 100 次 Agent 交互」变成「每天 1000 次」时,65% 的节省就不再是「bonus」,而是生存必需品。
Caveman 的模式(不降级模型、不牺牲能力、只砍废话)可以延伸到所有 AI 应用场景——客服、文档生成、代码审查、PR 评论、自动化测试。任何一个「输出冗余 > 信息密度」的场景,都有 Caveman 化的潜力。
十、总结与展望
Caveman 是 2026 年 7 月 GitHub 上最出圈的开源项目之一。它的成功不是源于技术突破,而是源于它精准击中了一个所有人都忽视的痛点——AI Agent 的「废话太多」以及「Token 太贵」。
核心要点回顾
- 技术极简——三层架构(系统提示注入 + 会话钩子 + 记忆压缩),不引入新依赖
- 效果显著——输出 Token 平均削减 65%,技术信息零损失
- 安装极简——一条 curl 命令,30 秒覆盖全部 Agent
- 生态完整——从输出压缩 (caveman) 到全 Agent 压缩 (caveman-code) 再到模型级别压缩 (cavegemma)
- 诚实透明——明确说明输出节省 ≠ 总节省,并提供可复现的基准测试
未来方向
Caveman 的路线图上还有一些我非常期待的 feature:
- Caveman 2:更深的输出压缩,结合模型推理优化
- Per-token pricing 模型:与 API 提供商合作,在付费层级中加入「简洁输出」选项
- 自动压缩检测:Agent 自动识别当前场景是否适合 Caveman 模式,无需手动切换
- 模型原生简洁输出:通过 LoRA 微调等方式,将简洁模式直接烘焙进热门开源模型
写在最后
Caveman 的成功讲了一个朴实但有力的故事:有时候最好的优化不是做更多,而是说更少。
在 2026 年的 AI 军备竞赛中,所有人都盯着更大的模型、更长的上下文、更强的推理能力。Caveman 提醒了我们:当每一个 Agent 都在喋喋不休地「让我帮你分析」时,最有价值的差异化可能只是——学会闭嘴。
正如 Caveman 的标语所说:
"Why use many token when few do trick."
这不是反智主义,这是工程智慧。
如果你想亲身体验 Caveman,执行以下任一命令即可开始:
# macOS/Linux
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash
# Windows PowerShell
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex
项目地址:https://github.com/JuliusBrussee/caveman