要在座的人都停止了说话的时候,有了机会,方才可以谦逊地把问题提出,向人学习。——约翰·洛克

https://github.com/JuliusBrussee/caveman

caveman:当 AI 学会少说话,它反而更像个真正干活的人

有些项目一出场,就不是来循规蹈矩的。

它不跟你铺垫一大堆技术黑话,不端着,不绕弯,不先来三段礼貌性寒暄,再把真正有用的话藏在最后两行。它一开口,就像一块从山洞里滚出来的石头,砰地一声砸在桌上:

why use many token when few do trick

这就是 caveman,一个让 AI Agent “说人话但更短、说重点而不说废话”的技能插件。它最初面向 Claude Code,但并不只待在一个山洞里。README 里写得很清楚,它同样支持 Codex、Gemini、Cursor、Windsurf、Cline、Copilot 等 30 多种代理与工具。

它干的事情极其直接:让 agent 用“穴居人风格”表达,把输出压缩到更少 token,同时尽量保留技术准确性。

你可以把它想象成一个脾气很好的原始人编译器。

平时的 AI 像一个认真过头的同事,明明一句话能说清楚的 bug,它偏要先感谢你、鼓励你、复述你的问题、再讲一点背景知识,最后才慢慢走到解决方案门口。caveman 看不下去,拎着石斧过来,把那些虚头巴脑的字全砍掉,只留下骨头和火种。

它不是要让模型变笨。

它只是觉得,脑子可以很大,嘴巴可以很省。


这个项目到底是什么

根据仓库 description,caveman 是这样定义自己的:

一个 Claude Code skill,用“穴居人说话方式”把 token 砍掉约 65%,核心理念是 few token do trick。

README 里的描述则更完整:它是一个适用于 Claude Code 以及多种 agent 的 skill/plugin,让 agent “talk like caveman”,从而减少大量输出 token。

换句话说,它不是另一个大而全的 AI 框架,也不是替代模型本身的工具。它更像是给智能代理套上的一种表达规则,一种风格约束,一种节流阀。

这只石头脑袋做的事很简单:

  • 少说废话
  • 保留要点
  • 使用碎片化表达
  • 不破坏代码、命令、错误信息这些关键内容
  • 尽量保持技术准确性
  • 让阅读速度更快,交互更利落

它不是来教模型“怎么思考”,而是来训练模型“怎么闭嘴”。

这点非常重要。

README 里甚至专门强调:caveman 只影响输出 token,不影响 thinking/reasoning token。它不会让大脑变小,它只是让嘴巴变小。

这句话很妙。

像极了一个很能干的工程师,心里明白得很,但发言从不灌水。


为什么它会火

看这个仓库时,你会很快明白它为什么能吸引那么多人。

因为它抓住了今天 AI 工具一个非常真实、非常普遍、非常让人头疼的问题:

很多 agent 太能说了。

它们当然聪明,也经常有帮助,但很多时候它们像刚参加完表达培训班,生怕自己说得不够完整、不够礼貌、不够“像个助手”。结果就是:

  • token 花得飞快
  • 阅读成本居高不下
  • 真正有用的信息被礼貌话术稀释
  • 上下文窗口被无效文字侵占
  • 用户明明只想知道“错哪了、怎么改”,却被迫先看一段心理按摩

caveman 对这种现象的态度非常原始,也非常精准:

你要修 bug,就修 bug。你要讲方案,就讲方案。不要一边打火一边发表感言。

于是它给 agent 换了一种说话姿势。

不是冷漠,不是敷衍,不是乱缩写,而是把语言压缩成一种近乎“技术电报”的形式:更短,更硬,更快抵达结论。

README 里给了很直观的 Before / After 对比。

普通 Claude 可能会这样解释 React 重渲染问题:

组件反复渲染,很可能是因为你在每次 render 时都创建了一个新的对象引用。React 做浅比较时发现 prop 变了,因此会触发重新渲染……

而 Caveman Claude 直接说:

New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.

一下子就明白了。

没有损失核心含义,却大幅减少了铺垫和润色。

另一个例子是认证中间件的 token 过期判断问题。普通表述会把整个排查过程说完整,而 caveman 风格直接砍到骨架:

Bug in auth middleware. Token expiry check use < not <=. Fix:

像一块石头被准确扔进 bug 的脑门上。


它不是在搞笑,它是在认真省 token

很多人第一次看到 caveman,可能会以为它只是个 meme 项目,一个“把 AI 说话改得很好笑”的互联网小玩具。

但你往 README 深一点看,就会发现这块石头其实很务实。

它不是单纯追求好笑,而是在认真研究一件事:如何通过压缩表达风格,减少 agent 输出成本,并提升交互效率。

README 给出的 benchmark 很有代表性。

在 10 个真实任务提示上的统计结果里,平均输出 token 缩减约 65%。不同任务的节省范围在 22% 到 87% 之间。

其中包括这些常见开发场景:

  • 解释 React 重渲染 bug
  • 修复 auth middleware token expiry
  • 配置 PostgreSQL 连接池
  • 解释 git rebase 和 merge 的区别
  • 把 callback 改成 async/await
  • 讨论微服务与单体架构
  • 做安全向 PR review
  • 处理 Docker multi-stage build
  • 调试 PostgreSQL race condition
  • 实现 React error boundary

这些都不是空想题,而是开发者每天真会遇到的问题。

README 还额外说明了评测方式:数据来自真实的 Claude API 输出,不是手写样例;评测脚本和快照都放在仓库里,连 evals/ 目录也公开了,意味着这个项目不仅在讲“我节省了 token”,还努力让“节省多少”这件事可验证、可复现。

这很像一个原始人拿着石斧走进实验室,说:

我虽然说话短,但我做实验不含糊。


它的核心哲学很讨喜

如果要用一句话总结 caveman 的精神,那就是:

说更少,做更多。

这句话在 AI 时代反而显得特别高级。

因为当模型越来越强、上下文越来越长、工具链越来越复杂时,很多产品都在拼命“增加能力”,但很少有人认真对待“减少废话”这件事。

caveman 的迷人之处就在这里。

它不去碰模型底层,不去发明新的推理机制,也不宣称自己是什么颠覆式基础设施。它只盯住一个小而尖的问题:

输出是不是可以更短,同时依然有用。

这个方向看似轻,实则很实。

对于频繁使用 Claude Code、Copilot、Cursor 一类工具的人来说,真正痛的并不是“模型不会回答”,而往往是:

  • 回答太长
  • 废话太多
  • 读起来慢
  • 上下文占得狠
  • 一次会话下来,满屏都像会议纪要

caveman 就像一个站在旁边皱眉的工头,看着 agent 长篇大论,忍不住挥手:

少讲。上结论。给命令。给修法。

然后世界瞬间安静了许多。


它会说你的语言,只是改你的风格

README 里有一条我很喜欢的设定:

Speak your tongue. Caveman keep your language. Compress the style, not the language.

也就是说,caveman 并不是强迫所有人都用英文“嗷呜嗷呜”地交流。

你用葡萄牙语,它就压缩成葡萄牙语的穴居人风格。
你用西班牙语,它就压缩成西班牙语。
你用法语,也一样。

它压缩的是表达方式,不是语言本身。

更关键的是,README 还强调:代码、命令、错误字符串保持原样。

这就非常重要了。

因为工程场景里最怕“风格插件”动了不该动的东西。你可以改语气,但别把命令改坏;你可以缩短解释,但别把报错信息压缩成谜语;你可以让句子更短,但别把 useMemo、路径、URL、CLI 参数搞变形。

caveman 显然知道哪些地方能砍,哪些地方不能砍。

这说明它并不是在瞎闹,而是在认真划分“语言壳”和“技术核”。

石头脑袋,边界感却很好。


安装方式很原始,也很直接

这个项目的安装流程很符合它自己的气质:一行命令,少说废话。

README 的快速安装如下:

1
2
3
4
5
# macOS / Linux / WSL / Git Bash
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

整个过程大约 30 秒,需要 Node 18 及以上版本。README 还提到,它会自动跳过你没有安装的 agent,而且可以安全重复执行。

这点挺像一个经验丰富的洞穴工匠:它不逼你一次把所有工具都装齐,也不因为你家里少了某个 agent 就掀桌子。你有哪个,它就去找哪个;你没有哪个,它就默默绕开。

非常朴实。


用法也很简单,像打一个手势

安装完之后,触发方式也相当轻巧。

README 里给出的入口是:

  • 输入 /caveman
  • 或者直接说 “talk like caveman”
  • 想恢复正常,就说 “normal mode”

这很有意思。

它不像很多插件那样要你读长长一页指令、记住一堆参数和状态切换。caveman 的使用方式几乎像是在训练一只已经很聪明的猛犸象:

你拍拍它,说,今天少讲点。
它点点头,从下一句开始就收紧表达。

而且它还提供了多个压缩级别:

  • lite
  • full
  • ultra
  • wenyan

README 里说得很生动:Pick your level of grunt

你可以把这理解成四种石器时代语气档位。

1. lite

轻量压缩,主要是去掉 filler 词,保留相对完整的句子结构。

适合那些不想看太多礼貌废话,但又不希望回答变得过于碎片化的人。

2. full

默认 caveman 模式。

这就是项目最典型的风格:句子明显变短,结构更像结论堆叠,读起来非常快。

3. ultra

更电报化、更激进。

适合已经完全适应这种表达的人,或者你真的很在意 token 和上下文占用。

4. wenyan

README 提到这是文言风格,甚至更短。

这个设定非常妙,说明作者不仅在压缩英文表达,也在探索不同语言文化下的极限简写方式。像是让原始人换上古文长袍,突然坐在山洞口写《压词论》。


这不只是一个命令,它是一整套小工具家族

如果你以为 caveman 只是一个 /caveman 命令,那你低估这块石头了。

README 的 What You Get 部分列出了一整套能力,像一个已经有组织、有纪律、会分工的洞穴部落。

/caveman [lite|full|ultra|wenyan]

压缩每一条回复,并让设置在当前 session 中持续生效。

这相当于给整个对话挂上一个表达节流器。

/caveman-commit

用于生成 Conventional Commit 风格的提交信息,主题不超过 50 个字符,强调“为什么改”而不是“改了什么”。

这个设计非常有工程味。

很多自动生成的 commit message 容易写成流水账,而 caveman 试图把提交信息也磨成更硬朗的石器:短、准、带意图。

/caveman-review

把 PR 评论压缩成单行风格,例如:

1
L42: 🔴 bug: user null. Add guard.

这几乎就是代码审查里的投石索。

不绕,不空泛,不写作文,直指问题行和修复方向。

/caveman-stats

统计真实 session token 使用量、累计节省和美元成本,甚至还能通过 --share 生成适合分享的文本。

这说明 caveman 很在意“你到底省了多少”,而不仅仅是营造一种“好像省了”的感觉。

/caveman-compress <file>

用于重写记忆文件,比如 CLAUDE.md,把这些长期注入上下文的文档改写成 caveman 风格,从而在每次 session 一开始就减少输入 token。

这是一个特别聪明的设计。

很多人只盯着输出压缩,但 README 里其实点到了更深一层:如果你的记忆文件、项目说明、长期上下文都很冗长,那每次对话一开始就在烧 token。

于是 caveman 不只管“嘴上说少一点”,还顺手去整理“脑子里背的东西”,让每次启动会话时带的包袱也变轻。

这不是省一次,是省很多次。

caveman-shrink

这是一个 MCP middleware,用于压缩 tool descriptions。

也就是说,caveman 不只盯着最终对话,还开始碰工具描述层面,把整条链路上的文字体积一起压。

cavecrew-*

这是一组 caveman 风格的子代理,包括 investigator、builder、reviewer,README 说它们比 vanilla 版本大约少 60% token。

于是你会发现,caveman 不是一个孤零零的表情包,而是一种逐渐成型的压缩生态。

它像一个原始部落,从一开始只会少说两句,慢慢发展到会管理提交、会做审查、会压缩记忆、会包装子代理、会统计成本。

石头,正在长出组织能力。


一个很容易被忽略,但很值钱的点

README 里有一句话很扎实:

Biggest win is readability and speed, cost savings are a bonus.

也就是说,caveman 最大的收益其实不只是省钱。

而是:

  • 更快读完答案
  • 更快抓住重点
  • 更快继续下一轮操作
  • 更少上下文污染
  • 更高的“人和 agent 协作效率”

这是很多人会忽略的地方。

你以为它是在做“token 优化”,实际上它也在做“人类注意力优化”。

今天最贵的往往未必是 token,而是你的脑力切换成本。

当 agent 每次都写一篇小作文,你的眼睛需要过滤、定位、压缩、重新提炼;当它直接给你要点、原因、命令、修法,你的大脑不必先穿过礼貌泡沫区。

caveman 像是帮你把 AI 输出提前做了一层工程化 minify。

不是为了让世界更粗鲁,而是为了让信息更直接。


它甚至有一点研究气质

README 提到一篇 2026 年 3 月的论文,题目很有力量感:

Brevity Constraints Reverse Performance Hierarchies in Language Models

项目引用这篇论文,是为了说明“简短约束”未必只是节省篇幅,它还可能影响模型在某些基准下的表现,甚至带来性能排序上的变化。

这让 caveman 的气质一下子更完整了。

它不是纯感性地喊“少说点比较酷”,而是在尝试把这种风格和模型行为之间的关系建立联系。

当然,README 自己也很克制。它没有吹成“压缩输出一定让模型更强”,而是更像在说:

看,简洁不是单纯阉割,有时候反而是一种结构化约束。

这就很有意思了。

像一个看似只会“嗯、好、上”的原始人,转身却从身后掏出一篇论文,说我们做事有证据。


它是怎么工作的

README 里的 How It Work 部分讲得相当直接,我把它翻译成人话,其实就是这几步:

  1. 安装时,把 skill 文件放进 agent 可识别的位置
  2. 这个 skill 告诉 agent:去掉 filler,保留 substance,尽量用 fragments
  3. 对 Claude Code 来说,还会通过 hook 在每个 session 写一个很小的标记文件,让 agent 从第一条消息开始就进入 caveman 风格
  4. /caveman-stats 会去读 Claude Code 的 session log,统计节省的 token,并把结果写到状态栏
  5. caveman-compress 会重写记忆文件,例如 CLAUDE.md 和项目笔记,减少会话起始时的输入上下文

看起来很清爽。

没有巨大的运行时系统,没有重型代理框架,没有花哨的控制台仪式感。它像一个很懂路数的山洞技师,只在最关键的节点上动刀:

  • 技能文件
  • 会话标记
  • 状态统计
  • 记忆压缩
  • 工具描述压缩

每一刀都不大,但都切在有肉的地方。


它对多 agent 世界也很友好

README 有一段很妙:它说 Claude CodeCodexGemini 支持 built-in 自动激活,而 CursorWindsurfClineCopilot 则可以通过 --with-init 写入 always-on 规则文件,其他 agent 则可以通过 /caveman 手动触发。

这意味着 caveman 并不是只打算服务某一家生态,而是努力把自己做成一个跨 agent 的“表达压缩层”。

这点非常顺应现实。

现在开发者很少只用一个 AI 工具。有人写代码用 Cursor,跑任务用 Claude Code,查补丁用 Copilot,做实验再换 Gemini。工具越来越多,体验越来越碎片化。

而 caveman 的存在,很像一个到处游走的洞穴翻译官:

不管你跟哪只智能野兽说话,我都能教它少啰嗦一点。

这就很实用。


OpenClaw 那一段很有画面感

README 里专门有一节叫 Lobster, Meet Rock

如果你没看原文,可能会以为作者突然开始写童话。其实它在介绍 OpenClaw 的集成方式,只不过写得非常有自己的风格。

其中最妙的一句是:

Lobster claw still sharp. Lobster mouth now small. Brain still big.

翻成大意就是:

龙虾的钳子依旧锋利,嘴巴现在变小了,脑子还是很大。

这几乎是 caveman 全项目哲学的缩影。

它不削弱执行力,不削弱判断力,不削弱工具能力,只压缩外露的语言层。

这种表达很拟人,也很准确。

像是给一个本来很能干但话太多的海底员工,做了一次语言瘦身。


它其实已经不是一个单点项目,而是一个生态入口

README 后半部分提到 Caveman Ecosystem,其中包括:

  • caveman
  • caveman-code
  • cavemem
  • cavekit
  • cavegemma

每个名字都延续了统一的“洞穴宇宙”命名风格,像一个越来越庞大的史前工具箱。

它们分别对应:

  • 输出压缩
  • 整个终端 coding agent
  • 跨 agent 记忆
  • spec-driven build loop
  • 针对 Gemma 4 31B 的 caveman pairs 微调版本

这个列表让我觉得,caveman 项目最有魅力的一点是:它不是为了“做一个梗”而存在,而是试图围绕一个朴素但坚定的理念构建整套工具观。

这个理念就是:

agent 不一定要靠更多字变强,有时候它只需要更会克制。

当这种理念扩展到输出、记忆、流程、模型微调之后,它就不再只是一个 README 里逗人一笑的小巧思,而是开始变成一种产品方法论。


如果你想快速上手,可以这样开始

如果你准备亲自试试 caveman,可以直接照 README 走。

先安装:

1
2
# macOS / Linux / WSL / Git Bash
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash

Windows 用户则用:

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

然后进入你的 agent 环境,输入:

1
/caveman

如果你想指定模式,可以这样:

1
2
3
4
/caveman lite
/caveman full
/caveman ultra
/caveman wenyan

想让它恢复正常风格,就告诉它:

1
normal mode

如果你想看看自己到底省了多少 token,可以试试:

1
/caveman-stats

如果你想把提交信息也变得短促有力:

1
/caveman-commit

如果你正在做代码审查,想让评论像石头一样精准:

1
/caveman-review

如果你想把长期上下文文件也压瘦一点:

1
/caveman-compress CLAUDE.md

这整套体验最大的优点,就是启动门槛低。

它不逼你改变现有工作流,也不要求你重新学一套复杂体系。你几乎可以把它当成一个随开随用的“语言压缩拨杆”。

当你嫌 agent 太啰嗦时,把它拨到 caveman。
当你想回到常规解释模式时,再拨回来。

简单,直接,不装腔。


它适合什么人

如果你平时几乎不用 AI 助手,只是偶尔问一两个问题,那 caveman 对你来说可能只是个有趣项目。

但如果你属于下面这些人,它就会非常有吸引力:

高频使用 Claude Code、Copilot、Cursor 一类 agent 的开发者

你每天跟 agent 来回很多轮,对 token 消耗和阅读成本非常敏感。caveman 会明显减少你“看废话”的时间。

注重上下文窗口利用率的人

尤其是长 session、复杂项目、多轮重构场景下,任何能减少无效输出的工具都很值钱。caveman 在这方面很实在。

讨厌 AI 套话的人

你问它怎么修,它却先“当然,我很乐意帮助你”。你问它哪里错了,它先说“这是一个很好的问题”。如果你每次看到这些句子都想把显示器搬去洞外,那么 caveman 就像替你出手的石器时代律师。

喜欢干净、利落、工程感表达的人

有些人天然偏爱短句、命令式、 checklist 风格。caveman 不是在降低表达品质,而是在迎合一种更适合技术协作的节奏。


它也并不是万能药

说到底,caveman 是一种输出风格技能。

所以它的边界也很清楚。

它适合:

  • bug 定位
  • 修复建议
  • 代码说明
  • 快速审查
  • 命令指引
  • 结构化结论

但如果你需要的是非常完整的教学式讲解、架构背景铺陈、团队培训材料、长篇设计讨论,那你未必会一直想开着 ultra 模式。

因为有些时候,人确实需要慢一点、展开一点、细一点。

这也是为什么 README 提供了多档模式,而不是一刀切。

caveman 很像一个很懂分寸的原始人。它不会强迫全世界都只用短句,也不会宣称“长答案都是错的”。它只是在提醒你:

很多场景下,短,真的够了。

甚至不只是够了,往往还更好。


这个项目最迷人的地方是什么

对我来说,caveman 最迷人的地方不是它节省了 65% token,不是它支持 30 多个 agent,也不是它那一整套命令。

而是它背后的态度。

这是一种很稀缺的产品态度:

不迷信复杂,不崇拜冗长,不把“说很多”误当成“做很多”。

在一个人人都在加功能、加层次、加说明、加上下文、加术语的时代,它反而在做减法。

而减法恰恰是最难的。

因为加法容易显得努力,减法需要真的知道什么该留下。

caveman 给人的感觉就像一个不爱废话、但特别靠谱的老匠人。它蹲在火堆旁边,不写宏大叙事,不讲未来愿景 PPT,不用十页文档说明自己多重要。你把问题递给它,它拿过来看一眼,磨两下石头,说:

这里错。那里改。这个留。那个删。做完。

然后你真的把问题解决了。

这就够了。


最后

caveman 是一个很少见的项目。

它有梗,但不止于梗。
它好笑,但不只是搞笑。
它看起来像一块石头,里面却塞满了对 agent 交互效率、token 结构、可读性和工程习惯的认真思考。

它像在提醒所有人:

AI 不一定要越来越会说。
有时候,它更应该越来越会停。

当别的 agent 还在口若悬河地组织一段“让我先解释一下背景”的时候,caveman 已经把答案磨尖,扔到了你面前。

石头不写长篇。
石头只打要害。

而在今天,这种克制,反而显得格外先进。