第 04 期 | 四档变速 — 从 Lite 到 Ultra 到文言文

⏱ 预计阅读 10 分钟 更新于 2026/5/7
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

🎯 学习目标

学完本期你将掌握:

  1. Caveman 的 7 个强度级别及其适用场景
  2. 如何在会话中流畅切换级别
  3. 文言文 (Wenyan) 模式的独特优势
  4. 各级别的 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 更短"| Chinese

4.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:找到你的最佳档位

对于你正在进行的项目,分别用 litefullultra 三种模式完成以下任务,感受哪个档位最适合你的工作节奏:

  1. 排查一个 Bug(需要详细诊断 → 可能适合 litefull
  2. 重构一个函数(目标明确 → 可能适合 fullultra
  3. 解释架构决策(需要一些上下文 → 可能适合 lite

📝 本期要点回顾

  1. Caveman 提供 7 个强度级别:3 英文 + 3 文言文 + 1 停用
  2. full 是推荐的日常档位,平衡了可读性和压缩率 (~75%)
  3. ultra 适合快速调试,压缩率最高 (~87%) 但需要较强的上下文理解力
  4. 文言文模式是中文开发者的隐藏利器,比现代中文更省 Token
  5. 模式在会话内持久保持,不会自动"退化"回正常模式

🔗 参考资料