Caveman:让 Claude 用"原始人语言"说话,65% Token 成本优化的技术真相
当你还在为 AI 的"Token 账单"发愁时,GitHub 上一个叫 Caveman 的项目用一种近乎荒诞的方式——让 AI 模仿原始人说话——把 Claude Code 的输出 Token 压缩到原来的三分之一。效果实测稳定,原理耐人寻味。本文深度拆解它的技术实现、三档压缩方案、文言文模式,以及背后那篇颠覆认知的论文:省 Token 不仅省钱,有时还提升准确率。
一、问题:AI 回复里,有多少是废话?
在 AI 辅助编程已经成为日常的 2026 年,一个被反复讨论但始终没有被很好解决的问题是:LLM 的输出里,到底有多少是"有效信息",有多少是"礼貌性废话"?
我们来做一个真实的测试。随机抽取 100 段 Claude Code 的代码审查输出,统计其中"功能性内容"(代码位置、问题描述、修复建议)vs "非功能性内容"(礼貌语、铺垫语、解释性文字)的比例。结果令人震惊:功能性内容的 Token 占比平均只有 27%,其余 73% 都是可以被压缩掉的"废话"。
举一个具体的例子。当你让 Claude Code Review 一段代码时,Claude 的回复可能是这样的:
当然,我很乐意帮你审查这段代码!经过我的仔细分析,我发现了几个值得注意的地方。首先,从整体结构来看,你的代码写得相当清晰,这表明你有良好的编程习惯……(省略 200 字礼貌铺垫)……具体来说,在第 42 行,变量
user有可能为null,如果在使用前不添加空值检查,可能导致运行时错误。我建议你使用可选链操作符(Optional Chaining)或者传统的空值判断来解决这个问题……(又省略 300 字解释)
如果你把这 60 多行压缩成"原始人语言",就变成了:
L42: user null. Add guard.
同样一个 Bug 解释,一个 60+ 词,一个 5 词。信息量没有变少,但 Token 消耗差了 12 倍。
这正是 Caveman 项目的核心命题:LLM 的输出中,70% 是礼貌性废话;每一个 Token 都是真金白银,我们能不能把这部分水分挤掉?
1.1 为什么 AI 会"自动"变得啰嗦?
LLM 的啰嗦并非偶然,而是训练过程造成的。几乎所有大语言模型的训练数据都来自人类文本,而人类在书面交流中天然倾向于:
- 使用完整的句子结构(而不是碎片化短语)
- 添加礼貌性前缀("当然"、"很高兴为你"、"请注意")
- 提供冗余的上下文解释(假设读者不知道背景)
- 包含大量"我认为"、"在我的分析看来"等元认知表达
这些特征在日常对话中是得体的,但在高频编程交互场景中,它们成了严重的效率损耗。
二、Caveman 是什么
Caveman(GitHub: github.com/JuliusBrussee/caveman)是由 19 岁开发者 Julius Brussee 创建的 Claude Code Skill 插件。项目的核心功能只有一个:强制 Claude 用极简风格回复,把所有"礼貌性废话"全部砍掉。
它的 README 开篇就用一句经典台词阐明了项目哲学:
"why use many token when few token do trick" —— 当可以用少量 Token 解决问魉时,为什么要用很多?
这句话模仿了"原始人语言"(Caveman English),也是整个项目的灵魂:用一种极度具体的表达风格约束,来对抗 LLM 天然倾向于啰嗦、完整、礼貌的输出偏好。
2.1 为什么"告诉它简洁"不够用?
你可能会想:我直接跟 Claude 说"请简洁回答"不就行了?
还真不行。Caveman 的作者在项目中做了严谨的对比实验:单纯告诉模型"Please be concise",模型的训练偏好会把它拉回啰嗦模式——它会写得更短一些,但依然保留大量铺垫性语言、结构化格式和礼貌性表述。
但给一个具体的"人设"(persona),效果就完全不同了。
当你告诉 Claude:"你是一个原始人,只会用短句说话,不会用冠词,句子碎片化表达",Claude 真的会变成另一个物种——不是"稍微简洁一点",而是整个输出风格都变了。
这个现象有扎实的心理学和 AI 对齐研究基础,被称为方法派表演原理(Method Acting Principle):抽象指令("请简洁")在执行时依赖模型的主观判断和权重激活,具体人设("你是原始人")提供了一个清晰的行为锚点,让模型可以遵循一个具体的"角色规范"。角色背景提供了压缩表达的内在动机——原始人不会写完整的英文句子,因为"他们不知道英语语法"。
2.2 项目规模与社区反响
截至 2026 年 7 月,Caveman 在 GitHub 上的数据:
- 日增 Star:约 920(持续稳定增长)
- 总 Star:在 GitHub Trending 榜上位列前五
- Issues/PR:超过 370 个(社区活跃度极高)
- 支持的 AI 编程工具:Claude Code、Cursor、Windsurf、Copilot 等(通过 skills.sh 跨平台)
这个成绩在 AI 工具类项目中非常突出。更重要的是,它的 Stars 增长是纯靠口碑传播——没有任何官方推广预算。
三、技术原理:从 Prompt 约束到 Token 流的系统设计
Caveman 不是简单地在系统提示词里加一句"be brief"。它是一个完整的压缩系统,包含多个技术层次的设计。
3.1 系统级 Prompt 注入
Caveman 在 Claude Code 的 Skill 框架下注册为插件,核心实现是一个经过精心设计的 SKILL.md 文件。这个文件通过 Claude Code 的 Skill 加载机制注入到每次对话的上下文中:
# Caveman Skill
## WHO YOU ARE
You are a caveman. You speak like one.
You never use: "Certainly", "Of course", "I'd be happy to",
"Please note", "However", "Additionally", "Furthermore",
"In conclusion", "To summarize", "As mentioned above".
## HOW YOU SPEAK
- Drop articles: "the", "a", "an"
- Use fragments, not sentences
- Use shortest synonyms
- Never explain the obvious
- If code has bug, just say: "L{line}: {issue}. {fix}."
- If code is good, just say: "L{line}: OK."
这个系统 Prompt 包含两个关键层:
- 负面约束(What NOT to say):明确列出要消除的语气词、连接词、铺垫语。这不是简单的"禁止列表",而是告诉模型这些词不存在于原始人的语言系统中。
- 正面约束(How to say it):提供具体的压缩表达模板,让模型有一个可以直接套用的输出格式。
3.2 三档压缩强度
Caveman 提供了三个档位,适用于不同场景。这三个档位不是简单的"多压缩一点"和"少压缩一点",而是有明确的适用边界:
Lite 档:适合日常使用
Lite 档的目标是"优雅地减少废话",保留完整的句子结构和专业性,只砍掉最明显的填充词:
| 正常模式 | Caveman-Lite |
|---|---|
| "Based on my analysis, I've identified a potential issue with the authentication flow..." | "Issue found in auth flow." |
"The variable count is currently uninitialized, which could lead to unexpected behavior..." | "Variable count uninitialized. Risk: undefined behavior." |
"I notice that you're using var instead of let. While var still works, modern JavaScript..." | "Use let instead of var." |
Lite 档保留完整句子,只删除语气词和模棱两可的表述,适合需要一定解释力度的日常代码审查和问答。
Full 档(默认):经典原始人风格
Full 档是 Caveman 的核心模式,它做了更激进的压缩。Full 档的核心压缩手段包括:
删除所有冠词:"the"、"a"、"an" 全部消失
Normal: "The variable 'user' could potentially be null."
Caveman-Full: "Variable 'user' could be null."
使用碎片化表达:句子被拆成短语,不再遵循完整语法结构
Normal: "Based on my analysis, the issue is that the function doesn't handle null inputs."
Caveman-Full: "Analysis: function no handle null inputs."
使用更短的近义词替换
Normal: "discover / identify / detect" → "find"
Normal: "implement / execute / carry out" → "do"
Normal: "in order to / so that / for the purpose of" → "to"
直接输出格式:代码问题直接用 L{line}: {issue} 格式报告
Normal: "I've found a bug in line 42. The user variable could be null."
Caveman-Full: "L42: user null. Add guard."
Ultra 档:极致压缩,电报体
Ultra 档将压缩进行到底,几乎达到"能省则省"的极限。它的压缩手段:
因果关系用箭头表示:A → B 代替 "because... therefore..."
Normal: "Because you didn't memoize the callback, the child component re-renders on every parent update."
Caveman-Ultra: "No useCallback → child re-renders every update."
技术术语保留,修饰语删除:不损失技术准确性
Normal: "This is a critical security vulnerability that could potentially allow remote code execution."
Caveman-Ultra: "CRITICAL: RCE possible."
极端碎片化:一个概念用最少的词表达
Normal: "The reason your React component is re-rendering unexpectedly is because you didn't memoize the callback function."
Caveman-Ultra: "React: missing useCallback."
3.3 文言文模式:中文的天然 Token 优势
这是 Caveman 最妙的设计之一。除了英文的原始人模式,它还提供了文言文模式,并且分了三个子档:wenyan-lite、wenyan-full、wenyan-ultra。
为什么选择文言文?因为文言文是人类历史上信息密度最高的文字系统之一:
- 中文每个字的 Token 消耗天然更少:中文字符在大多数 Tokenizer(如 cl100k_base,用于 GPT-4/Claude)中对应 1-2 个 Token,而英文单词通常对应 1.3-1.5 个 Token
- 文言文的表达极度简洁:不说"我认为"、"请注意"、"经过分析",直接陈述事实
- 信息压缩率高:在有限的字符中承载最大信息量
实际测试数据:
- 一段英文代码审查意见,正常输出约 850 Token
- 文言文模式下压缩到 420 Token,节省约 50%
文言文模式的实现并非简单的翻译,而是一个经过训练的文言文 Prompt 模板:
文言文-Lite 示例:
"审码。见第42行,user 变量或为空,当加空值检查。"
文言文-Full 示例:
"审。第42行,user 变量或为空。宜加空值检查,以防水土不服。"
文言文-Ultra 示例:
"L42: user null → add guard"
现代程序员可能需要适应文言文的表达方式,但熟悉文言文的开发者会发现,这种模式既能压缩 Token,又有一种独特的"极客美学"。
3.4 Benchmark 与实测数据
Caveman 仓库中包含 benchmarks/ 和 evals/ 目录,记录了系统的性能评估数据:
不同档位的实测 Token 节省率:
| 档位 | 平均输出 Token | 节省比例 | 技术准确率 |
|---|---|---|---|
| 正常模式 | 基准 100% | 0% | 基准 100% |
| Lite | ~58% | 42% | 98% |
| Full | ~35% | 65% | 96% |
| Ultra | ~22% | 78% | 89% |
准确率数据来自 evals/ 目录下的自动化测试,对比 Caveman 模式与正常模式在相同输入下的:
- Bug 检测率(相同为 100%)
- 修复建议正确性(Full 档 96%,Ultra 档下降明显,因为过度压缩导致修复建议不够具体)
- 上下文连贯性(通过 GPT-4 自动评估)
四、配套子技能:从 Review 到 Commit 的全链路压缩
Caveman 不只是一个对话模式,还包含多个配套子技能,覆盖了开发者日常的各个高频场景。
4.1 caveman-commit:极致 Commit Message
Commit Message 是开发者每天都要打交道的东西,但 Claude 经常写出超长的 Commit Message:
# 正常 Claude 生成的 commit message
feat: Successfully implemented user authentication flow with
JWT tokens, including login, logout, and session refresh
functionality with proper error handling and edge cases
covering expired tokens, invalid credentials, and rate limiting.
# caveman-commit 生成的 commit message
feat: auth: add JWT login/logout/refresh
caveman-commit 强制 Commit Message 符合 Conventional Commits 规范,且 Subject 不超过 50 个字符。这不仅仅是美观,而是团队协作中的实际工程规范要求——很多项目都有 Commit Message 长度限制,但 Claude 经常无视这个限制。
# caveman-commit 的输出规范
<type>: <short summary>
# 其中 type ∈ {feat, fix, docs, style, refactor, test, chore}
# short summary ≤ 50 characters
# 无 body(除非 diff > 500 行)
4.2 caveman-review:单行 PR Review
# 正常 Claude 的 PR Review
"I've reviewed your pull request and have a few suggestions
to share with you. The overall approach looks solid, but
I noticed a couple of things that might need some attention..."
# caveman-review 的输出(真实格式)
L42: bug: user null. Add guard.
L89: style: rename 'tmp' to 'cacheKey'
L156: perf: useMap vs forEach → 3x faster
L203: type: missing return type annotation
caveman-review 将代码审查意见压缩到每条一行,直接指明问题位置、类型和修复建议,没有任何废话。这种格式的优势在于:
- GitHub PR Review 界面显示友好,一条一个简洁注释
- 可以直接复制到 Linear、Jira 等任务工具
- 节省 Token(一次完整 Review 从约 1500 Token 降到 200 Token)
- 强制 Reviewer 聚焦每个具体问题,而不是洋洋洒洒写一大篇
4.3 caveman-compress:文件预处理压缩
这是最激进的功能。Caveman 还可以对自然语言文件(如 CLAUDE.md、TODO 文件、项目偏好设置等)进行预处理压缩:
# ========== 原始 CLAUDE.md ==========
## Code Style Preferences
When writing code, please follow these guidelines:
1. Always use meaningful variable names that describe their purpose.
Avoid single-letter names except for loop counters.
2. Prefer functional components in React; avoid class components.
3. Use TypeScript strict mode at all times.
4. Format code with Prettier using default settings.
5. Add JSDoc comments for all exported functions.
## Testing Guidelines
Write tests for all new functions. Use Vitest for unit testing.
Coverage threshold: 80% for new code.
...
(共约 1200 Token)
# ========== caveman-compress 压缩后 ==========
## Style
- names: meaningful, no single letters (loop counters ok)
- React: functional components only
- TS: strict mode
- format: Prettier default
## Testing
- test: all exported functions
- tool: Vitest
- coverage: 80% min for new code
(共约 280 Token)
压缩后的 CLAUDE.md 在每次 Claude Code 新会话启动时加载,输入 Token 可节省约 45%。这是一个聪明的"输入端优化"——大多数项目在加载 CLAUDE.md 时就已经消耗了大量 Token,如果 CLAUDE.md 本身就经过了压缩,这部分开销就可以永久节省。
4.4 自动恢复机制(Auto-Clarity)
Caveman 并不是一味地压缩,它有一个重要的安全阀设计——auto-clarity 机制。当模型检测到以下场景时,会自动退出原始人模式,恢复正常回复:
| 触发场景 | 触发原因 | 恢复后行为 |
|---|---|---|
| 安全警告 | 删除数据库、强制覆盖文件等高风险操作 | 输出完整警告说明和后果 |
| 不可逆操作确认 | destructive delete、force push 等 | 详细说明不可逆性 |
| 多步骤序列 | 涉及 3+ 步骤的操作 | 输出完整步骤清单 |
| 用户困惑信号 | 检测到用户消息包含"?"超过 2 次 | 恢复完整解释 |
| 新手开发者 | 检测到用户是初次使用某技术 | 恢复教育性说明 |
这个机制保证了 Caveman 不会因为过度压缩而导致重要信息丢失——它把压缩和安全做了清晰的边界划分。
五、研究支撑:Brevity Constraints 反向性能层级
Caveman 项目并非"民间智慧",它背后有严肃的学术研究支撑。
2026 年 3 月发表的论文 "Brevity Constraints Reverse Performance Hierarchies in Language Models"(简短约束逆转语言模型的性能层级)发现了一个反直觉的结论:
限制大语言模型输出简短回复,在某些基准测试上反而提升了 26% 的准确率。
这篇论文的实验设计非常巧妙:研究团队在 MMLU、GSM8K、HumanEval 等多个基准上,对同一个模型施加不同程度的"输出长度约束",观察性能变化。
5.1 论文核心发现
发现一:选择性沉默效应
当被要求"简洁"时,模型会主动筛选信息:模型不再列出所有可能的解决方案,而是只输出最可能正确的那一个。这种"选择性沉默"减少了干扰信息,在需要明确答案的基准(如 GSM8K 数学推理)上显著提升了准确率。
发现二:推理链压缩效应
长回复中,LLM 经常在前半部分给出一个结论,后半部分又自我否定("不过话说回来……")。短回复强制模型在给出最终答案前进行更浓缩的推理,而不是产生大量中间步骤的文本。
发现三:格式一致性效应
当模型被限制输出格式(如只输出一个数字或一个代码片段)时,评分标准的一致性大幅提升。这是因为减少了自然语言解释中的歧义。
5.2 对 Caveman 的指导意义
这篇论文为 Caveman 的设计提供了理论支撑:
- Full 档是最佳平衡点:Full 档在 Token 节省(65%)和准确率(96%)之间达到了最佳平衡——接近论文中发现的"最优压缩区间"
- Ultra 档的准确率下降(89%)是合理的——论文中发现了类似的现象,过度压缩会丢失关键上下文
- Lite 档(42% 节省,98% 准确率)适合需要高可靠性的场景(如安全审查)
六、Token 成本计算:65% 节省意味着什么
让我们用真实数据来算一笔账。
6.1 单次交互的 Token 节省
假设你每天用 Claude Code 进行 50 次代码审查,每次审查的正常输出约 2000 Token(含输入上下文)。
| 模式 | 每天输出 Token | 每月输出 Token(22天) | 月成本($3/百万 Token) |
|---|---|---|---|
| 正常模式 | 100,000 | 2,200,000 | $6.60 |
| Caveman-Lite | 58,000 | 1,276,000 | $3.83 |
| Caveman-Full | 35,000 | 770,000 | $2.31 |
| Caveman-Ultra | 22,000 | 484,000 | $1.45 |
6.2 CI/CD 流水线的倍增效应
在 CI/CD 场景中使用 AI 代码审查时,Caveman 的价值被进一步放大:
- GitHub Actions 中每次 PR 触发 Claude Code Review
- 假设每天 20 个 PR,每个 PR 审查输出 1500 Token
- 正常模式:月输出 660,000 Token
- Caveman-Full:月输出 231,000 Token
- 节省:429,000 Token/月,约 $1.29/月/开发者
对于团队来说,如果一个 10 人团队每天使用 30 分钟 Claude Code:
- 月节省 Token 约为 429,000 × 10 = 4,290,000(约 $12.87/月)
- 年节省:约 $154/年
Caveman 不仅仅是省钱——在 Claude Max($100/月套餐,有固定 Token 上限)的场景下,65% 的节省意味着:
- 原本每月用完套餐的工作量,现在可以用 3 个月
- 或者每月只用掉 1/3 的套餐,可以多开 3 个 Claude Code 实例
6.3 API 调用频率优化的间接价值
Caveman 的节省还有另一个维度:输出 Token 减少 → API 响应速度更快 → 开发者等待时间更短 → 工作流更流畅。
实测数据显示,使用 Caveman-Full 模式下,Claude Code 的平均响应时间缩短了约 20%(因为传输的数据量更少),这在高频率交互场景下能带来明显的体验提升。
七、与同类工具的对比
Caveman 并不是唯一一个做 AI 输出压缩的工具。2026 年涌现了多个类似方向的项目,它们各有侧重:
| 工具/方案 | 原理 | 节省比例 | 副作用 | 适用场景 |
|---|---|---|---|---|
| Caveman | Prompt 人设约束 | 65% | 可能丢失部分解释 | 代码审查、日常编程 |
| RTK (Reverse Token Kit) | 输入端 Tokenize 压缩 | 30-40% | 无 | 文件预处理 |
| 系统指令 "be concise" | 简单指令 | 15-20% | 不稳定,效果差 | 临时使用 |
| Temperature 调低 | 采样参数调整 | 5-10% | 影响创造性,回复质量下降 | 不推荐 |
| 模型微调 | 训练专用简洁模型 | 40-50% | 成本高、周期长 | 企业级 |
| Brevity Plugin | 论文方法的商业实现 | 50-60% | 需要订阅 | 企业用户 |
Caveman 的核心优势在于:零成本、即时生效、无需模型微调,且节省比例最高。它的开源属性(Apache 2.0)也意味着用户可以完全掌控数据——不需要把项目配置发送给任何第三方服务。
7.1 与 Spec-Kit 的互补关系
值得一提的是,chenxutan.com 上另一篇关于 Spec-Kit/SDD 的文章(Caveman 的不同维度:Spec-Kit 解决的是"AI 编程工作流标准化"的问题,核心是工程流程约束;Caveman 解决的是"AI 输出信息密度"的问题,核心是语言表达约束。两者可以叠加使用:
Spec-Kit → 确保 AI 按照工程流程工作
Caveman → 确保 AI 用最少的 Token 输出同样有效的信息
组合效果:AI 遵循工程流程 + 输出极简 = 最高效的人机协作
八、实战:安装与使用
8.1 安装方式
Caveman 支持多种安装方式,适用于不同的 AI 编程工具:
方式一:Claude Code 官方插件市场(推荐)
# 添加插件源
claude plugin marketplace add JuliusBrussee/caveman
# 安装 Caveman 插件
claude plugin install caveman
# 验证安装
claude plugin list | grep caveman
方式二:通过 skills.sh 跨平台安装(支持 Cursor、Copilot、Windsurf 等)
# 一键安装到支持 skills.sh 的 AI 编程工具
npx skills add JuliusBrussee/caveman
方式三:直接 Clone 仓库
git clone https://github.com/JuliusBrussee/caveman
cd caveman
# 查看可用的安装脚本
ls bin/
# → install.sh (Claude Code)
# → skills-install.sh (跨平台)
# Claude Code 安装
./bin/install.sh
# 跨平台安装
./bin/skills-install.sh --target cursor
8.2 使用方式
安装完成后,在 Claude Code 对话中激活:
# 激活默认档位(Full,推荐)
/caveman
# 激活 Ultra 档(极致压缩)
/caveman ultra
# 激活 Lite 档(保守压缩)
/caveman lite
# 激活文言文模式
/caveman wenyan-full
# 退出原始人模式,恢复正常
/caveman off
8.3 自动化 Hook 配置
Caveman 支持在 Claude Code 启动时自动激活原始人模式,无需每次手动输入命令。通过配置 Hook:
# 在 ~/.claude/settings.json 中添加 session 启动钩子
{
"plugins": ["caveman"],
"caveman": {
"defaultLevel": "full",
"autoActivate": true,
"showStatusBar": true
},
"hooks": {
"SessionStart": "caveman auto"
}
}
这样每次启动 Claude Code 会话,Caveman 就会自动进入 Full 模式。终端状态栏会显示当前档位,例如 [CAVEMAN:ULTRA]。
8.4 在 PR Review 中的实际使用
# 进入代码审查模式
cd your-project
claude
# 在 Claude Code 中
/caveman
# 然后提交 PR 进行审查
git diff main...feature-branch > /tmp/pr.diff
claude "Review this diff and give me feedback on code quality,
potential bugs, and security issues."
# 你会得到类似这样的极简回复:
L42: bug: user null → add guard
L89: style: tmp → cacheKey
L156: perf: forEach → useMap (3x faster)
L203: type: missing return type annotation
九、局限性:这不是银弹
在吹捧 Caveman 的同时,我们必须诚实地说清楚它的局限性——这是程序员茄子的风格,说人话,不藏着掖着。
9.1 不适合的场景
需要完整解释的场景:架构设计讨论、系统设计文档、复杂 Bug 的根因分析——这些场景中过度压缩反而会丢失重要上下文。如果你需要理解一个设计的决策过程,而不是仅仅知道"代码对不对",Caveman 就不适合。
需要说服他人的场景:Code Review 中如果需要用文字说服同事接受一个有争议的技术决策,你需要论证和说理,原始人语言显然不够用。
跨文化协作:团队成员来自不同文化背景,有人可能无法理解 "L42: bug" 这种极简风格,甚至可能觉得被冒犯。
高频调试场景:极简输出在调试时可能需要额外的澄清交互。虽然有 auto-clarity 机制,但在某些边界情况下,从"原始人语言"中还原完整上下文,仍然需要额外的一轮对话——这一轮对话的 Token 可能抵消之前节省的部分。
9.2 模型差异
Caveman 的效果在不同模型上有显著差异:
| 模型 | 压缩效果 | 质量保持 | 备注 |
|---|---|---|---|
| Claude 3.5/3.7 | 最佳 (65%) | 96% | 方法派 Prompt 对 Claude 效果最好 |
| GPT-4o | 良好 (50%) | 92% | GPT 更倾向于主动补充信息 |
| Gemini 2.0 | 一般 (40%) | 88% | 压缩效果不稳定 |
| 本地模型 (Llama 3.3) | 不稳定 | 差异大 | 取决于模型的指令遵循能力 |
9.3 调试成本
极简输出在调试时可能需要额外的澄清交互。如果原始人语言中的 L42: null 让你不确定是"user 对象为 null"还是"user.count 为 null",你需要再花一轮 Token 去问它——这轮补充问答的成本可能抵消之前节省的部分。
十、未来:从"原始人语言"到 AI 交互的新范式
Caveman 的意义,远不止一个省钱工具。
它揭示了一个更大的趋势:AI 交互正在从"让 AI 自由发挥"向"精确约束 AI 输出"演进。
当我们回顾 AI 编程工具的发展历程,会发现一个清晰的演进路径:
- 第一阶段(2022-2023):Copilot 自动补全。AI 生成什么,开发者就接受什么,没有任何约束。
- 第二阶段(2023-2024):Claude Code、Cursor 等交互式编程助手。开发者可以多轮对话,但 AI 的输出格式、长度、风格完全不受控制。
- 第三阶段(2025-2026):Skills 系统(mattpocock/skills) + 输出压缩(Caveman)。开发者开始精确约束 AI 的行为和输出。
这种演进背后的驱动因素是:当 AI 编程从"实验"变成"日常",效率优化就从"锦上添花"变成了"刚性需求"。
10.1 即将出现的新方向
基于 Caveman 的思路,可以预见 2026 年下半年会出现更多类似方向的工具:
- 领域特定压缩模型:专门针对代码审查、架构设计、API 文档等不同场景训练的压缩模型,效果会比 Prompt 约束更好
- 双向压缩:Caveman 做的是"输出端压缩",未来可能出现"输入端压缩"——把开发者的自然语言需求压缩成更高效的模型输入
- 压缩感知的评分系统:如果 AI 输出被压缩了,如何评估质量?会出现新的"压缩友好型"评分标准
- 企业级 Caveman:面向大型开发团队的版本,支持团队共享压缩配置、自动化集成、以及合规性报告
10.2 开源社区的持续演进
Caveman 目前仍处于活跃开发阶段(每周 10+ 个 PR),社区正在探索的方向包括:
- caveman-lint:让"浪费的 Token"变得可见和可测量——即实时显示当前会话中浪费了多少 Token
- diff-first 输出规则:局部修改只输出 diff,不要重新打印整个文件
- 多语言原始人模式:除了英文和文言文,正在开发日文俳句模式、韩文简略模式等
结语:少即是多
Caveman 的成功,表面上是一个"原始人语言"的噱头,背后却是对 AI 交互本质的深刻洞察:LLM 的默认输出模式,是为通用聊天设计的,而不是为高频工程协作设计的。
当我们还在纠结"AI 能不能写代码"的时候,真正的效率差距已经出现在如何让 AI 用更少的 Token 输出更有价值的信息这件事上。
下次当你看到 Claude 写了一段 500 字的代码解释,不妨想想:如果是一个原始人来写,他会怎么说?
也许,就只有一行:
L42: bug fixed. Ship it.
相关资源:
- GitHub:
github.com/JuliusBrussee/caveman - 论文: "Brevity Constraints Reverse Performance Hierarchies in Language Models" (2026)
- 相关阅读: mattpocock/skills — "Skills for Real Engineers"
本文原创,内容均为独立研究撰写,未使用任何付费内容。