Caveman Skill:让 AI 编程 Agent 说话只说 35% 的字、节省 65% token 的压缩神器
Caveman 是一个让 AI 编程 Agent 开口说”穴居人压缩语言”的 Skill——同一段技术回答,它把冗长的叙述压缩成精简的短句,保持代码、命令、报错信息字节级不变,同时节省 65% 的输出 token(JetBrains 实测 86 任务,100% 技术准确率)。它不缩小 AI 的脑子,只缩小 AI 的嘴——安装一次,覆盖 Claude Code、Codex、Cursor、Gemini 等 30+ 主流 Agent,累计节省 token 持续累加在状态栏。GitHub 95.6k star,持续 trending,是近期 Token 优化类 Skill 里最火的项目之一。
功能与原则
Caveman 的核心能力是输出压缩:在 Agent 回复发出前,对其 prose 叙述进行风格压缩,去掉填充词、礼貌废话、过度解释,同时对代码块、diff、命令、报错字符串完全不碰。
设计原则三条:
- 只压嘴,不压脑:模型的知识和推理过程完全不变,只是输出的语言风格变了
- 代码优先:所有代码、技术字符串、路径、URL 均 byte-preserved,绝不压缩
- 诚实测量:README 内置
/caveman-stats实时显示节省量,还写了docs/HONEST-NUMBERS.md主动披露技能局限性
认可度
- GitHub star:95.6k(截至 2026-08-04)
- Forks:5.5k,Contributors:43 人
- 今日 GitHub Trending 榜上有名(Trending 期间持续新增 star)
- JetBrains 独立实测背书:2026 年 7 月,JetBrains 在 86 个真实编程任务上对比 caveman-on vs caveman-off,结果显示 agentic 编码场景节省 8.5% 输出 token,质量(任务通过率)两个版本统计无差异
- npm 包
caveman-shrink下载量持续增长,MCP 中间件生态活跃 - 学术论文引用:2026 年 3 月 arXiv 论文《Brevity Constraints Reverse Performance Hierarchies in Language Models》佐证”约束大型模型简洁回答可提升准确率约 26 点”
链接
GitHub:https://github.com/JuliusBrussee/caveman
原作者
Julius Brussee(@JuliusBrussee),独立开发者,同时维护 caveman 整个生态(caveman-code / cavemem / cavekit / cavegemma),MIT 协议。项目背后有 Atlas Cloud 赞助。
介绍
Caveman 起源于一个朴素的观察:AI Agent 回复里大量 token 消耗在”穿靴子的废话”上——”当然,我很乐意帮你””让我来解释一下””这个问题很有意思”。这些在人类对话里是礼貌,在自动化场景里只是纯成本。
于是 Julius 写了一个 Skill prompt,指令 Agent 用”穴居人”风格说话:先脑子风暴,再压缩输出。不改变技术结论,只去掉填充词。效果惊人:
正常 Agent(69 token):“The reason your React component is re-rendering is likely because you’re creating a new object reference on each render cycle…”
Caveman Agent(19 token):“New object ref each render. Wrap in useMemo.”
技术内容完全等价,token 节省 73%。在 JetBrains 的 86 任务 benchmark 上,整个对话链路的输出 token 节省 8.5%(因为 agentic 场景大部分输出是代码,prose 只占薄薄一层),但 prose 密集场景(解释、审查、文档)token 节省高达 65%。
Caveman 还不是一个点,而是一整套生态:caveman-code(全 Agent 压缩版)、cavemem(跨会话记忆压缩)、cavekit(spec-driven 构建循环)、cavegemma(Gemma 微调权重版),五个工具一个思路:让 Agent 用更少 token 干更多事。
特点
- 多 Agent 兼容:Claude Code、Codex、Gemini、Cursor、Windsurf、Cline、Copilot 等 30+ 主流 AI 编程 Agent,装一次全找到
- 四级压缩强度:
lite/full(默认) /ultra/wenyan(文言文版),随时切换,级别保持到会话结束 - 零遥测:安装后完全不联网,无后端、无分析、无账号,纯本地工作流
- 实用附属命令:
/caveman-commit(≤50字提交信息)、/caveman-review(单行 PR 评论)、/caveman-stats(实时 token 节省统计) /caveman-compress:将记忆文件(如 CLAUDE.md)永久压缩为 caveman 风格,从此每次新会话的输入 token 也省约 46%
使用方法
安装(macOS / Linux / WSL / Git Bash):
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
开启方式(Claude Code / Codex / Gemini 无需命令,直接开启):
– 开启:/caveman 或说 "talk like caveman"
– 切换强度:/caveman ultra
– 关闭:"normal mode"
– 实时节省量:/caveman-stats
MCP 中间件(压缩任何 MCP Server 的工具描述):
npm install -g caveman-shrink
使用场景与人群
适用场景:
– 长时间 agentic 编码会话(context 窗口压力大,需要省 token)
– 高频调用 Claude Code / Codex 的自动化流水线(成本敏感)
– 多 Agent 协作(caveman 子 Agent 比 vanilla 子 Agent 节省约 60% token,主 Agent context 持续更久)
– 对 prose 密集型任务(代码审查、文档撰写、调试解释)进行成本优化
目标用户:
– 天天用 AI 编程工具的开发者(特别是 Claude Code 重度用户)
– AI 编程自动化流水线运维者(成本优化优先)
– 多 Agent 系统架构师(context 窗口管理)
输入与输出案例
案例 1:React re-render 问题解释
输入(Agent 正常回复):
“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.”
Caveman 输出:
“New object ref each render. Inline object prop = new ref = re-render. Wrap in
useMemo.”
Token:1180 → 159,节省 87%。技术结论完全一致。
案例 2:调试 PostgreSQL 竞态条件
输入(正常):
“The issue you’re experiencing with PostgreSQL is most likely caused by concurrent transactions not being properly isolated. You should use SELECT … FOR UPDATE to acquire a row-level lock before making modifications, or consider setting a proper transaction isolation level such as SERIALIZABLE.”
Caveman:
“Bug: concurrent tx no lock. Use
SELECT ... FOR UPDATE. Or setSERIALIZABLEisolation.”
Token:1200 → 232,节省 81%。
两个案例均来自官方 benchmark(benchmarks/),可复现。
评论区
登录后可评论。