第 04 期 | 四档变速 — 从 Lite 到 Ultra 到文言文
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)
(申请发送: agentupdate)
🎯 学习目标
学完本期你将掌握:
- Caveman 的 7 个强度级别及其适用场景
- 如何在会话中流畅切换级别
- 文言文 (Wenyan) 模式的独特优势
- 各级别的 Token 压缩率对比
📖 核心内容
4.1 强度级别全览
graph LR
subgraph English["英文模式"]
direction LR
L["🪶 lite
温和压缩"] --> F["🪨 full
标准压缩
(默认)"] --> U["🔥 ultra
极致压缩"]
end
subgraph Chinese["文言文模式"]
direction LR
WL["📜 wenyan-lite
白话文言"] --> W["📜 wenyan
标准文言"] --> WU["📜 wenyan-ultra
极简文言"]
end
English -.->|"中文 Token 更短"| Chinese4.2 同一问题,七种回答
问题: React 组件为什么频繁 re-render?
🗣️ 正常 Claude (无 Caveman)
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 so
that React can properly detect that the prop hasn't changed.
~69 tokens
🪶 Lite
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.
~30 tokens (压缩 56%)
🪨 Full (默认)
New object ref each render. Inline object prop = new ref = re-render.
Wrap in useMemo.
~19 tokens (压缩 72%)
🔥 Ultra
Inline obj prop → new ref → re-render. useMemo.
~10 tokens (压缩 86%)
📜 Wenyan-Lite
每渲染新建对象参照,行内对象属性每次皆判为新值,致使重绘。以 useMemo 缓存之。
📜 Wenyan
物出新參照,致重繪。useMemo 裹之。
📜 Wenyan-Ultra
行内物→新參→重繪。useMemo。
4.3 Token 压缩率对比
| 级别 | 风格 | 压缩率 | 适用场景 |
|---|---|---|---|
| 正常 | 完整礼貌句 | 0% (基线) | 不使用 Caveman |
lite |
完整句但无废话 | ~50-55% | 新手适应期 / 技术文档写作 |
full |
片段式技术短语 | ~70-75% | 日常开发 (推荐) |
ultra |
电报体 / 箭头链 | ~82-87% | 快速调试 / 熟悉领域 |
wenyan-lite |
白话文言混合 | ~60% | 中文项目 / 可读性需求 |
wenyan |
标准文言文 | ~75% | 中文项目 / 极致 Token 压缩 |
wenyan-ultra |
极简文言 | ~85%+ | 挑战极限 / 纯粹省 Token |
4.4 切换命令
在 Claude Code 中:
/caveman # 切换到 full (默认)
/caveman lite # 切换到 lite
/caveman full # 切换到 full
/caveman ultra # 切换到 ultra
/caveman wenyan-lite # 切换到文言 lite
/caveman wenyan # 切换到文言 full
/caveman wenyan-ultra # 切换到文言 ultra
在 Antigravity 中:
> 请切换到 caveman ultra 模式
> switch to caveman lite
> 用文言文模式回答
在 Gemini CLI 中:
/caveman ultra
/caveman wenyan
/caveman lite
4.5 模式持久性
stateDiagram-v2
[*] --> Full: SessionStart Hook 自动写入
Full --> Lite: /caveman lite
Full --> Ultra: /caveman ultra
Full --> Wenyan: /caveman wenyan
Lite --> Full: /caveman full
Ultra --> Full: /caveman full
Wenyan --> Full: /caveman full
Full --> Normal: "stop caveman"
Lite --> Normal: "stop caveman"
Ultra --> Normal: "stop caveman"
Wenyan --> Normal: "stop caveman"
Normal --> Full: "caveman mode"
Normal --> [*]: 会话结束关键规则:
- 模式在整个会话内保持不变,直到你手动切换
- 不会因为对话轮次增多而自动"滑回"正常模式
- 会话结束后模式重置(下次启动默认
full) - 代码块、commit message、PR 描述始终保持正常格式
4.6 文言文模式的独特优势
为什么 Caveman 要做文言文模式?因为中文文言文是人类历史上 Token 效率最高的书面语言之一。
现代中文 (55字):
"由于每次渲染都会创建一个新的对象引用,当你将行内对象作为属性传递时,
React 的浅比较每次都会认为它是一个不同的对象,从而触发重新渲染。
建议使用 useMemo 来缓存这个对象。"
文言文 (12字):
"物出新參照,致重繪。useMemo 裹之。"
文言文模式特别适合:
- 中文为主要工作语言的开发者
- 需要极致 Token 压缩的场景
- 阅读大量 Agent 输出时减少视觉疲劳
💻 实战练习
练习 1:体验档位切换
在你的 Agent 中依次执行以下操作,对比每种模式的回答风格:
> /caveman lite
> 解释 JavaScript 闭包是什么
> /caveman full
> 解释 JavaScript 闭包是什么
> /caveman ultra
> 解释 JavaScript 闭包是什么
> /caveman wenyan
> 解释 JavaScript 闭包是什么
练习 2:找到你的最佳档位
对于你正在进行的项目,分别用 lite、full、ultra 三种模式完成以下任务,感受哪个档位最适合你的工作节奏:
- 排查一个 Bug(需要详细诊断 → 可能适合
lite或full) - 重构一个函数(目标明确 → 可能适合
full或ultra) - 解释架构决策(需要一些上下文 → 可能适合
lite)
📝 本期要点回顾
- Caveman 提供 7 个强度级别:3 英文 + 3 文言文 + 1 停用
full是推荐的日常档位,平衡了可读性和压缩率 (~75%)ultra适合快速调试,压缩率最高 (~87%) 但需要较强的上下文理解力- 文言文模式是中文开发者的隐藏利器,比现代中文更省 Token
- 模式在会话内持久保持,不会自动"退化"回正常模式