caveman 入门:减少AI废话,压缩 75% Token,结果更准确

2026年4月12日

入门难度 | 约 10 分钟 | 你将掌握安装和配置 caveman 的完整流程,理解 Lite / Full / Ultra / 文言文四档压缩模式,榨干 AI 输出的每个 Token。

项目简介

caveman 是一个 AI 编码助手的输出压缩技能,由 Julius Brussee 开发,GitHub 地址 JuliusBrussee/caveman

它的核心定位很简单:让 AI 的回复只说有用的部分。在保持技术精度不变的前提下,将输出 Token 压缩约 75%。一个 2026 年的研究(arxiv:2604.00025)甚至发现,对大模型施加简洁约束后,在某些基准测试上准确率提升了 26 个百分点——话说得多不一定答得对。

caveman 不只是一个玩笑项目。它内置了四级压缩强度(Lite / Full / Ultra / 文言文),外加 caveman-commit(极简提交信息)、caveman-review(单行代码审查)、caveman-compress(记忆文件压缩)三个子技能。支持 Claude Code、Codex、Cursor、Windsurf、Cline、Copilot、Gemini CLI 等 40+ AI 编码助手。

目标读者

你每天在用 AI 编码助手处理问题,但经常遇到:回复太啰嗦、重点不突出、读完了还要自己提炼。提速降费是你的刚需,不想被无用的客套话浪费 Token 和时间。

核心依赖与环境

依赖说明
AI 编码助手Claude Code / Codex / Cursor / Gemini CLI 等,至少一个
Node.jsnpx skills 安装方式需要
Python 3.10+caveman-compress 压缩工具需要
Git插件方式安装需要

完整项目结构

my-project/
├── CLAUDE.md                    # caveman 安装后写入,始终生效(Claude Code)
├── .caveman/                    # 状态标记目录(自动生成)
│   └── .caveman-active          # 当前模式:full / lite / ultra / wenyan
├── .cursor/rules/caveman.mdc    # Cursor always-on 规则(自动生成)
├── .windsurf/rules/caveman.md   # Windsurf always-on 规则(自动生成)
├── .clinerules/caveman.md      # Cline 规则(自动生成)
└── .github/copilot-instructions.md  # Copilot 规则(自动生成)

手把手步骤

步骤 1 — 安装 caveman

caveman 支持 40+ AI 编码助手,按你的平台选一个命令:

Claude Code(推荐)

# 方式一:插件市场(最简洁)
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman

# 方式二:脚本安装(不用插件系统时)
# macOS / Linux / WSL
bash <(curl -s https://raw.githubusercontent.com/JuliusBrussee/caveman/main/hooks/install.sh)

# Windows PowerShell
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/hooks/install.ps1 | iex

Codex(VS Code + Codex)

# macOS / Linux
# 1. 克隆仓库 → 在目标目录打开 Codex → /plugins → 搜索 "Caveman" → Install

# Windows(需先开启符号链接)
git config --global core.symlinks true
# 然后同上:克隆 → VS Code → Codex Settings → Plugins → 安装 Caveman

Gemini CLI

gemini extensions install https://github.com/JuliusBrussee/caveman

Cursor / Windsurf / Cline / Copilot

npx skills add JuliusBrussee/caveman -a cursor
npx skills add JuliusBrussee/caveman -a windsurf
npx skills add JuliusBrussee/caveman -a cline
npx skills add JuliusBrussee/caveman -a github-copilot

其他 Agent(opencode / Roo / Goose / Kiro 等 40+)

npx skills add JuliusBrussee/caveman    # 自动检测
# 或指定
npx skills add JuliusBrussee/caveman -a opencode
npx skills add JuliusBrussee/caveman -a roo

WARNING

npx skills add 只装 skill 文件本身,不装 Agent 的 always-on 规则文件。所以 Cursor / Windsurf / Cline / Copilot 安装后每次会话需要手动激活。步骤 7 讲如何改成始终激活。

步骤 2 — 激活 caveman 模式

安装完成后,在任意对话中输入以下任一命令即可激活:

/caveman          # 默认 Full 模式
$caveman          # Codex 用 $ 代替 /

或直接说话触发:

talk like caveman
caveman mode
less tokens please

TIP

在 Claude Code / Gemini CLI / Codex 中,/caveman 会自动在每个新会话里触发 SessionStart hook,所以装好后不需要每次手动激活。Cursor / Windsurf 等需要步骤 7 的额外配置。

步骤 3 — 选择压缩档位

caveman 有四级压缩强度,切换命令:

档位触发命令特点适用场景
Lite/caveman lite去 filler,保留完整语法,专业但精简正式沟通、需要保留结构
Full/caveman full去冠词(a/an/the),允许断句,短词替换日常开发(默认)
Ultra/caveman ultra极限压缩,缩写词,因果箭头(→)快速调试、高压场景
文言文/caveman wenyan文言文压缩,古典中文语法极客炫技、中文开发者

对比同一个 React 问题:

🗣️ 正常回复(69 tokens):
"Your React component re-renders because you are 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."

🪶 Lite(39 tokens):
"Your component re-renders because you create a new object reference each render.
Inline object props fail shallow comparison every time. Wrap it in useMemo."

🪨 Full(19 tokens):
"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."

🔥 Ultra(15 tokens):
"Inline obj prop → new ref → re-render. useMemo."

📜 文言文(11 tokens):
"物出新參照,致重繪。useMemo Wrap之。"

退出 caveman 模式:

stop caveman
normal mode

IMPORTANT

代码块内容不会被压缩。caveman 只压缩自然语言回复,代码、文件路径、URL、命令始终原样保留。

步骤 4 — caveman-commit:极简提交信息

caveman-commit 是专门生成 commit message 的子技能,格式遵循 Conventional Commits,主语不超过 50 字符:

/caveman-commit

输出示例:

# 普通 Claude 的 commit(过于冗长):
"Added user authentication functionality including JWT token generation and validation,
password hashing with bcrypt, and session management middleware. This improves security
by implementing proper authentication flows."

# caveman-commit 的结果:
"feat(auth): JWT + bcrypt login, session middleware"

主语格式:type(scope): subject,始终不超过 50 字符,why over what。

步骤 5 — caveman-review:单行代码审查

caveman-review 对 PR 或代码片段做单行审查,格式固定,不废话:

/caveman-review

粘贴你的 diff 或代码,它输出:

L42: 🔴 bug: user null. Add guard.
L58: 🟡 perf: N+1 query. Prefetch in ORM.
L71: 🟢 nit: unused import. Remove.

不再需要去 PR 评论里读一大段"我认为这里可以改进"——直接告诉你哪行有什么问题、怎么修。

格式:L<行号>: <🔴🟡🟢> <问题类型>: <描述>. <建议修复>.

步骤 6 — caveman-compress:压缩项目记忆文件

这是 caveman 最实用的子技能之一。你的 CLAUDE.md 每次会话都会被 AI 读取——如果里面有一堆人类友好的冗长说明,每次都要浪费 Token 去读。caveman-compress 把这些记忆文件压缩成 AI 高效读取的形式,同时保留原始备份供你编辑。

/caveman:compress CLAUDE.md

运行后:

CLAUDE.md          ← 压缩版(Claude 每次读这个)
CLAUDE.original.md ← 原始备份(你编辑这个,压缩是单向的)

实测压缩效果:

文件原始 tokens压缩后节省
claude-md-preferences.md70628559.6%
project-notes.md114553553.3%
claude-md-project.md112263643.3%
todo-list.md62738838.1%
mixed-with-code.md88856036.9%
平均89848146%

TIP

caveman-compress 只压缩 prose(自然语言段落)。代码块、URL、文件路径、命令、标题、日期、版本号全部原样保留,不会被误压缩。

步骤 7 — Always-On 配置

Claude Code / Gemini CLI 安装后自动 always-on,不需要额外配置。

Cursor / Windsurf / Copilot 等用 npx skills add 安装后,需要手动补一个 snippet 才能始终激活。把你偏好的强度写进 Agent 的规则文件:

Terse like caveman. Technical substance exact. Only fluff die.
Drop: articles, filler (just/really/basically), pleasantries, hedging.
Fragments OK. Short synonyms. Code unchanged.
Pattern: [thing] [action] [reason]. [next step].
ACTIVE EVERY RESPONSE. No revert after many turns.
Code/commits/PRs: normal. Off: "stop caveman" / "normal mode".

各 Agent 的放置位置:

Agent文件路径
Cursor.cursor/rules/caveman.mdc
Windsurf.windsurf/rules/caveman.md
Copilot.github/copilot-instructions.md 或自定义指令
opencode.config/opencode/AGENTS.md
Roo.roo/rules/caveman.md

步骤 8 — 卸载 / 恢复默认

# Claude Code 插件卸载
claude plugin uninstall caveman

# Standalone hooks 卸载
bash hooks/uninstall.sh           # macOS / Linux
powershell -File hooks\uninstall.ps1  # Windows

# npx skills 卸载
npx skills remove caveman

# Gemini CLI 卸载
gemini extensions uninstall caveman

卸载后 .caveman/ 状态目录和规则文件需要手动清理(如有需要)。

常见问题排查

1. 插件装好了但 caveman 没有自动激活

Claude Code 用 SessionStart hook 实现自动激活。检查 hook 是否正确写入:

# 检查 ~/.claude/settings.json 里是否有 SessionStart hook
cat ~/.claude/settings.json | grep -i "SessionStart"

# 或者重装一次
claude plugin uninstall caveman
claude plugin install caveman@caveman

2. Cursor / Windsurf always-on 不生效

npx skills add 不会自动写入 always-on 规则。手动把步骤 7 的 snippet 添加到对应规则文件,保存后重新加载 Agent。

3. 文言文模式输出全是乱码或问号

确认终端和编辑器都支持 UTF-8。Windows 上 PowerShell 默认编码可能有问题:

chcp 65001
$env:LESSCHARSET=utf-8

VS Code 底部状态栏确认字符编码为 UTF-8。

4. caveman-compress 把代码块也压缩了

不可能发生——代码块、URL、文件路径、命令都是跳过项,不参与压缩。如果发现异常,通常是文件格式问题(如代码块标记 ``` 有遗漏),可以手动对照 CLAUDE.original.md 恢复。

5. /caveman 命令无响应

可能是其他 skill 拦截了斜杠命令。在 Claude Code 里试试直接说话触发:"talk like caveman"。如果依然不行,检查是否有同名 skill 冲突。

6. 多 Agent 共存时 caveman 在某个 Agent 里失效

caveman 的配置文件是各 Agent 独立的,不互相影响。如果在某个 Agent 里不生效,检查该 Agent 的规则目录里是否有 caveman 相关的文件。

扩展阅读 / 进阶方向

1. caveman 的三臂评测:怎么保证数据诚实

大多数"压缩技巧"的评测是拿 skill 回复和正常回复比——这不公平,因为 terseness(简洁)本身就能提升质量。caveman 用的是三臂评测:_baseline_(无系统提示)、_terse_(只有"Answer concisely")、<skill>(caveman 完整规则)。真实节省量是 skill vs terse 的差值,而非 skill vs baseline。这个方法论值得在任何 AI 辅助工具评测里借鉴。

2. 真实 Benchmark 数据解读

实测 10 个任务,平均输出 Token 从 1214 降至 294,节省 65%。范围从 22%(git rebase vs merge,解释本身就长)到 87%(React 错误边界,常规回复极度过度展开)。任务越容易"过度解释",caveman 节省越多。

3. Cavekit:同一作者的规格驱动开发工具链

JuliusBrussee/cavekit 是配套项目,用 caveman 语言写规格说明 → Claude 并行构建 → 产出可用软件。如果你在用 caveman 优化输出效率,cavekit 可以在输入端也做类似的事情。

4. 自定义压缩档位

skills/caveman/SKILL.md 里定义了所有强度规则。可以复制一份,修改缩写词表、保留词表或因果符号规则,创建你自己的档位。比如加入团队的内部术语缩写,或指定某些技术名词不许替换。

5. 文言文压缩的跨语言适用性

文言文模式的原理是:人类历史上最简洁的书面语言 + 极低的字符 Token 密度。在英文语料上,wenyan-full 仍能压缩约 40-60%,因为古典中文语法的"主语省略 + 动词宾语倒置"在单语言环境下仍然有效。适合需要极致压缩、又愿意适应特殊语法的场景。

Updated 2026年4月12日