输出 token 比输入贵 5 倍,缓存命中却只要输入价的一成——官方这六条建议,其实是同一件事的六种写法。
Anthropic 在官方博客上发了一篇面向 Claude Code 使用者的成本文章,标题直译是「把你的 Claude Code 会话价值最大化」。文章没有讲模型能力,只讲怎么少花钱:官方给出的参照是,输出 token 的单价大约是输入的 5 倍,而一旦命中提示缓存,那部分内容的读取价只有正常输入价的 0.1 倍,省下的接近九成;官方同时提到,一名开发者日常消耗的 token 折算下来大约在每天 13 美元这个量级。
/clear,不要把上一件事的上下文继续往下带;@ 直接提及,文件会随消息附上,省掉一次 Read,也省掉模型满仓库找文件;/context,看清 CLAUDE.md、MCP 工具定义这些东西占了多少,把用不上的删掉;/compact,趁缓存还没过期把对话压缩掉。把这六条摊开看,只有 @ 引用文件那条是在省"一次调用",其余五条都是在保同一样东西:提示缓存。
提示缓存按前缀匹配工作:系统提示、CLAUDE.md、工具定义、已经发生的对话,拼成一条长长的前缀,命中就便宜。它的脆弱之处在于——前缀中任何一处变动,都会让那一处之后的全部内容重新按原价计算。换模型、调推理强度,等于把前缀最前面那截换掉,后面再长也一起作废,这就是官方把"开工前先定下来"排在第二条的原因。
同理,会话中途塞进一大坨命令输出,不只是当下那一轮变贵,而是它会一直躺在对话里,之后每一轮都得连它一起重新计费。这也解释了为什么官方推荐把重输出的活交给子 Agent:子 Agent 的上下文是独立的,跑完只把结论带回主会话,脏数据不进主线。
/clear 和 /compact 不是一回事两个命令经常被混着用,但用途正相反。/clear 是丢弃——上一件事已经做完,后面的活跟它无关,那就整段扔掉,最省。/compact 是压缩——事情还没完,需要留个梗概接着干,所以要让模型读一遍再总结,本身是要花钱的。
官方那条"离开键盘前先 /compact"讲的其实是时机:提示缓存通常一小时左右过期,趁缓存还在的时候做压缩,读取按一成价走;等去吃完饭回来再压缩,同样一段对话就得按全价重读一遍。同一个动作,早做晚做差出一个数量级。
按 API 计费的团队,这篇文章可以直接换算成账单。但更多人是订阅制用户,省下来的不是钱,而是额度窗口——同样的五小时窗口,缓存命中率高的人能多跑几轮,缓存频繁作废的人可能刚进入状态就撞到限额。这也是为什么会话被打断这件事在 Claude Code 上格外贵:不是重开一个会话麻烦,而是重开意味着前缀从零开始,之前攒下的缓存全部归零。对在国内绕着网络环境用 CLI 的人来说,先把连接和账号环境弄稳,往往比抠命令参数省得更多——工具行为可以参考Claude Code 稳定使用指南,链路和 IP 这一层则可以顺手在 Claude AI IP 检测页跑一遍,确认不是环境在悄悄让你的会话反复重来。