第 11 章 / 共 12 章
额度去哪了:成本诊断与省钱杠杆
11.1 周三下午的那个问题
“我明明没干多少活,为什么额度已经见底了?”
这是社区里反应数最高的一类问题。但它通常不是计费出了错,而是几个可以被诊断的机制在叠加。先把机制讲清楚,省钱的做法就自然浮出来了。
机制一:每一轮都重发整个会话。 一个 200 轮的会话,第 200 轮要把前面 199 轮全部再发一次。会话长度对成本的影响是超线性的。
机制二:缓存会过期。 提示缓存能大幅降低重复内容的成本,但它有有效期——订阅账号 1 小时,按量计费/API key 5 分钟。你去开了个会回来接着聊,缓存已经失效,这一轮就是全价。
机制三:思考 token 按输出计费。 推理档位调高时,成本上升。
机制四:常驻内容一直在花钱。 CLAUDE.md、连着的 MCP 服务器、启用的插件——它们每一轮都在上下文里。
11.2 先诊断,再优化
三个命令,按顺序用:
/context
看当前上下文被什么占满了。这是最直接的诊断:如果 MCP 工具定义占了三成,你就知道该关服务器而不是该少说话。
/usage
看本次会话的用量、缓存命中情况,以及(订阅账号)套餐额度的分解。它还会把消耗归因到技能、子代理、插件、MCP 服务器上——这一栏往往能直接指出问题所在。按 d / w 可以在 24 小时和 7 天视图之间切换。
/insights
生成一份本地 HTML 报告,适合做周度复盘。
社区工具 ccusage 可以做一个交叉验证,不需要安装:
npx ccusage@latest daily
它读取本机的会话数据,给出按天/周/月/会话的统计,还能按 5 小时计费窗口分组。有两点必须说清楚:它显示的金额是在你本机按目录价估算出来的,订阅用户看到的数字不等于你的账单;而且它只看得到这台机器上的记录。

11.3 杠杆排序
按”先动哪个”排列:
| 优先级 | 动作 | 为什么有效 |
|---|---|---|
| 1 | 任务之间 /clear | 直接消除机制一;清空本身不花钱 |
| 2 | 日常用 Sonnet,只在复杂推理时切 Opus | 单价差异显著,多数编码任务不需要最强模型 |
| 3 | 关掉不用的 MCP 服务器和插件 | 消除机制四的常驻成本 |
| 4 | 能用 CLI 就别用 MCP | 同上,且 CLI 几乎零上下文成本 |
| 5 | 把 CLAUDE.md 的体量转移到技能 | 常驻变按需 |
| 6 | 把大量读取的工作交给子代理 | 读取产生的 token 不进主上下文 |
| 7 | 简单任务降低推理档位 | 减少思考 token |
| 8 | 用钩子预处理冗长输出 | 见下一节 |
模型切换很简单:
/model sonnet
推理档位:
/effort low
11.4 一个很有效的小技巧:预处理冗长输出
跑一次完整测试套件,输出可能有几万个 token,而你真正需要的只是失败的那几条。用一个钩子把输出先过滤一遍,可以把几万 token 压到几百。
思路是在测试命令执行后,用一个脚本抓取失败部分再返回。官方成本文档里给了这类过滤脚本的示例。这个技巧对”每次改动都跑测试”的工作流收益特别大。
11.5 参考量级
官方成本文档给出了一组企业环境下的观察值,可以用来判断自己是不是异常:
- 平均约每位开发者每个活跃日 13 美元;
- 每位开发者每月 150-250 美元;
- 90% 的用户单个活跃日低于 30 美元。
三点说明:这些是 Anthropic 自己发布的、未经第三方审计的数字;它们来自企业 API 用量场景,订阅套餐的体感不同;/usage 里的金额是本机按目录价估算的,不是账单。
把它们当作数量级参考,而不是预算依据。
11.6 为什么放着不动也会掉额度
有几个容易被忽略的消耗源:
- 缓存过期:中断后回来继续,第一轮是全价;
- 后台任务:定时任务、跨会话消息等会在你不看着的时候触发;
- 压缩本身是一次大请求:
/compact不是免费的,任务结束时/clear更划算; - 多代理并行:并行模式下的 token 消耗会显著高于单线程工作。
11.7 常见坑
11.8 本章练习与检查点
你现在的成果:额度对你来说不再是一个黑盒。你有诊断命令、有归因视图、有一份按见效排序的杠杆表。