实战:用Caveman Learn找出CLAUDE.md中的Token浪费并修复
【免费下载链接】caveman🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman项目地址: https://gitcode.com/GitHub_Trending/caveman1/caveman
如果你每天都在用 Claude Code、Codex 等 AI 编程代理,可能没意识到:你的 CLAUDE.md 每回合都在悄悄烧 Token。Caveman 是一个号称"砍掉 65% Token"的 Claude Code 技能,而它的Caveman Learn功能正是为这类问题而生的"体检仪"——它扫描你本地的代理历史,量化每个配置文件的 Token 开销,并给出一份带修复建议的排名清单。本文就带你走一遍完整流程:用caveman learn找出 CLAUDE.md 里的 Token 浪费,再配合caveman-learn技能逐条确认修复。
为什么 CLAUDE.md 是头号 Token 浪费源
AI 代理每启动一个会话,都会把你的 CLAUDE.md 全文塞进上下文窗口。文件里多写一行,之后的每一回合都要为它付费。写久了没人管的 CLAUDE.md 往往塞满历史决策、一次性任务说明、重复的规则——这就是 Caveman 术语里的"配置税"。
上图是caveman learn生成的真实报告:左侧是 TLDR 总结和节省卡片,右侧是按"Token 流量"排名的浪费点(token sinks),每个浪费点后面都跟着一行修复建议。
一键体检:caveman learn 怎么用
在装有 Caveman 的终端里,直接运行:
caveman learn # 扫描 Claude Code + Codex + Gemini CLI + opencode 历史 caveman learn --since 7d # 只看最近 7 天 caveman learn --json # 输出机器可读的 JSON整个过程是本地、只读、免账号的——分析器只读你的历史,绝不改任何文件。它给你两个核心输出:
- Cave Score(洞穴评分):由四个封顶扣分项合成的健康分,分数越低说明配置越臃肿
- Token Sinks 排名表:每个浪费点标明类别(安全可修 / 可外置 / 行为习惯 / 承重配置)和预估的每回合 Token 消耗
详细参数说明见官方 CLI 文档:docs/technical/cli-reference.md。
看懂报告:四类 Token 浪费点
| 类别 | 含义 | 处理方式 |
|---|---|---|
| reducible(可削减) | 臃肿的 CLAUDE.md、从不被调用的技能 | 给出具体 diff,只在实测降低 Token/回合后才落地 |
| recurring_context(重复上下文) | 每个会话都重新粘贴的固定内容块 | 外置到 cavemem 记忆库,留一个廉价"指针" |
| habit(行为习惯) | 高频重试等模式 | 只给数字和温和建议,从不强制执行 |
| load-bearing(承重) | 真正离不开的配置 | 计入评分但永不触碰 |
这个分类设计保证了一件事:修配置不会把你的代理变笨。
实战三步:定位并修复 CLAUDE.md 的浪费
第一步:量化浪费
caveman learn report --json在排名的浪费点里找到claude_md_weight:project这一行——它对应你的 CLAUDE.md。行上会标出文件字节数折算的 Token 数、每回合开销,以及建议动作(trim 精简)。
第二步:让代理帮你改(逐条确认)
caveman learn implement # 把修复计划交给你自己的 Claude Code 或 Codex这条命令会带着计划打开你正在用的代理,并加载 skills/caveman-learn/ 里的caveman-learn技能。该技能的行为被严格约束:
- 先展示报告中的评分与排名清单;
- 只对你选择处理的浪费点,生成具体 diff,并给出修改前后的"Token/回合"对比;
- 每个修改单独问你是否同意,没有"全部应用"的暗箱操作;
- 应用后重新测量——如果改完 Token/回合没有下降,自动回滚(这叫"净 Token 为负"门禁)。
技能本体在 skills/caveman-learn/SKILL.md,安装方式见 skills/caveman-learn/README.md:
caveman skills install caveman-learn # 装到当前仓库 caveman skills install caveman-learn --user # 装到所有仓库以本仓库为例,根目录的 CLAUDE.md 就是这类技能的操作对象:报告指出其中哪些段落是"只在当时有用的任务说明",代理就会提议删除这些段落并展示 diff,你答 yes 才动手。
第三步:记账 + 验证效果
修复落地后执行:
caveman learn applied claude_md_weight:project --fix-kind config_trim这会把"修了什么、何时修、修前数值"记入 Caveman 的结果库。以后再跑caveman learn,它会对比修复后的新会话,诚实地报告:improved(变好了)/ unchanged(没变)/ regressed(变差了,给出回滚路径)/ insufficient_data(数据不够)。没有虚假的胜利。
进阶:长块上下文外置到 cavemem
有些内容不是 CLAUDE.md 写得啰嗦,而是你每个会话都手工粘贴同一大段背景(接口约定、环境信息等)。这类浪费点属于 recurring_context,修复方式是"外置":
- 把这块内容存入 cavemem:
caveman mem remember -- "<内容块>" - 从 CLAUDE.md 删掉原块,换成一行指针,例如:
回忆方式:caveman mem recall "<主题>" - 技能会实际跑一次 recall 验证内容真的能找回来,找不回来就整体撤销
cavemem 的完整实现见 mem/。外置是否划算同样过"净 Token 为负"门禁:指针 + 召回成本必须低于原来每回合整块加载的开销。
诚实性保障:这套方案最值得看的地方
Caveman 的文档把"诚实"写成了硬规则,见 skills/caveman-learn/README.md:
- 所有数字都标记为inferred(推断值),永不冒充"已验证",不换算成美元金额;
- 分析器
caveman learn从不编辑你的文件,只有技能在你说 yes 之后才会写; - 每一处修改都可逆,报告会精确列出改了什么;
- "召回失败就回滚"是防止代理变笨的最后一道闸。
延伸阅读
- 主文档与完整报告示例:README.md
- Learn 命令参考:docs/technical/cli-reference.md
- Learn v2 优化路线图(从"配置检查器"到"智能优化器"):docs/plans/learn-v2-smart-optimizer.md
- 分析器源码(Go 代理内的学习扫描):proxy/internal/store/
- 记忆库 cavemem:mem/
- 技能规范全文:skills/caveman-learn/SKILL.md
小结:一条caveman learn定位浪费,caveman learn implement逐条确认修复,caveman learn applied记账验证——整个闭环本地完成、每步可回滚。下次觉得 Token 账单莫名高企时,先给你的 CLAUDE.md 做一次洞穴体检吧。
【免费下载链接】caveman🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman项目地址: https://gitcode.com/GitHub_Trending/caveman1/caveman
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考