# Anthropic 分享 Claude Code 六大省钱技巧：管好 token 缓存，成本可差十倍

- 来源：IT之家（RSS）
- 发布时间：2026-08-15 15:35
- AIHOT 分数：36
- AIHOT 链接：https://aihot.virxact.com/items/cmsu3xp08011wroe0jcqvxwh7
- 原文链接：https://www.ithome.com/0/990/072.htm

## AI 摘要

Anthropic 发文详解 Claude Code 的 token 计费逻辑与省钱技巧，指出开发者日均消耗约 13 美元 token，月均花费 150-250 美元。

## 正文

就在刚刚，Anthropic 发了一篇博客。核心信息就是：各位，别再烧冤枉 token 了，我们都看不下去了！

为此，官方详细列举了六条省钱心法，先贴为敬：

1. 任务做完就 / clear。修完一个 bug 就清掉当前对话，别让上一个任务读过的文件和命令输出拖进下一个任务里，白白占着上下文。

2. 开局就定好模型和推理强度（effort level）。中途切换的话，之前积累的提示缓存会全部失效，整段对话历史要按全价重新计算一遍。

3. 用 @引用文件，别手打路径。用 @直接把文件附到消息里，Claude 不用再花一次工具调用去读。如果你只打文件名，Claude 可能先搜一圈再打开好几个文件试探，这些操作全部会进入对话历史，之后每一轮都带着。

4. 给输出多的命令加静默参数（quiet flag）。在 CLAUDE.md 里写一句类似--reporter=dot 的配置，让测试输出只打印几行摘要，不是几百行详情。输出越短，占的上下文越少。

5. /compact 在休息前做。对话还在缓存里的时候压缩，成本只有正常的十分之一。等你回来缓存过期了再压，就得按全价重新读一遍再压缩。

6. 大输出任务扔给子 Agent。子 Agent 在一个独立的上下文窗口里运行，做完只把结论传回来，过程中读的文件和跑的命令输出不会进入你的主对话。

一个 token 的前世今生

用 Claude Code 干活，API 按量走，订阅制月费从 20 美元到 200 美元分三档。

根据官方推算，开发者日均消耗 13 美元 token，月均花在 150 到 250 美元之间。

这还只是平均水平。同样修一个 bug，问法不同，花费能差出好几倍。

而且每一轮对话都在拖着前面所有轮的全部内容重新发送，会话越长，每一轮就越贵。

这些钱花在哪，得从 token 的计价逻辑说起。

每次你在 Claude Code 里输入一条指令，背后发生两件事。

第一件叫预填充（prefill），也就是模型一口气读进你的整个请求，包括系统提示词、CLAUDE.md、你的消息，以及之前对话里积累的一切。这些都是输入 token。

第二件叫解码（decode），也就是模型一个字一个字往外写的过程，包括它的思考、工具调用和你最终看到的文字。这些都是输出 token。

关键区别在这里。

预填充是并行的，一次性把所有输入 token 过一遍 GPU。解码是串行的，每吐一个 token 都要跑一次模型。200 个 token 的回复，就是 200 次独立运算。

所以也就不难理解，为什么输出 token 要比输入 token 贵 5 倍了。

在这个基础上，最终账单取决于两件事。

第一是模型，决定每个 token 的单价。

Opus 5，输入 5 美元 / 百万 token，输出 25 美元。

Sonnet 5，输入 2 美元，输出 10 美元。

Haiku 4.5，输入 1 美元，输出 5 美元。

第二是推理强度，决定 token 的数量。

一个会话里大部分输出 token 都是思考 token，推理强度控制的就是这个量。推理强度越高，模型想得越久，输出的思考 token 越多。max 和 low 之间能差好几倍。

简单活用 Sonnet，硬骨头才上 Opus。牛刀杀鸡的钱，花得最冤。

提示缓存，是最大的省钱利器

token 定价里还有一个巨大的变量，就是缓存。

Claude Code 的每次请求都从相同的前缀开始，也就是系统提示词、工具定义、CLAUDE.md 和对话历史。

如果这次请求的前缀和上次逐字节一样，服务器就不重新算，直接加载上次的计算结果。

缓存读取只要正常输入价的 0.1 倍，直接省掉 90%。

写入缓存贵一点，最高 2 倍。但写入只发生一次，后面每一轮都享受 0.1 倍读取。

举个例子。

假设你的对话历史有 5 万个 token。不走缓存的话，每一轮光是重读这 5 万 token 就得付全价。但只要命中缓存，同样的 5 万 token 只需要花十分之一的钱。

一个会话跑二三十轮，缓存命中攒下来的折扣是天文数字。

这是你最大的薅羊毛杠杆。

但缓存有个致命弱点。它必须从请求的第一个字节开始连续匹配，中间任何地方变了，从那里往后全部作废。

具体来说，一共有六种情况：

1. /model 切模型：每个模型的缓存独立。从 Sonnet 切到 Opus，整个对话历史按 Opus 的价格重新预填充，没有折扣。

2. /effort 切推理强度：推理强度也是 cache key 的一部分，切换之后整个对话历史都要重新计算。

3. 开关 Fast mode：效果和前两种一样，缓存直接失效。

4. /compact 压缩对话：对话被重写成摘要，原来的内容全部对不上，旧缓存直接作废。

5. 时间过期：订阅用户的缓存保活 1 小时，API 用户默认 5 分钟。超时后下一轮全量重算。

6. 恢复旧会话：隔了太久缓存早就没了，几乎 100% 要全价重新计算。

坏消息是，只要中一个就意味着整个对话历史从 0.1 倍打回原价。

好消息是，当你知道什么会让缓存失效时，就能知道怎么保住它。

比如，会话开头就锁定模型和推理强度，全程不切。不在缓存还热的时候做 / compact，等到准备休息的时候再跑。

这里，还有个隐藏坑。

opusplan 模式每次进出 plan 都切模型。进一次，缓存失效一次。出来，又失效一次。来回跳的话，每跳一次都是一笔全价 prefill。

你的会话，正在偷偷变胖

缓存帮你把重复发送历史的成本压到十分之一。

但有一件事它帮不了。你的历史本身在一轮一轮地膨胀。

每次 Claude 读一个文件，文件内容追加到对话里。每次 Claude 跑一个命令，输出也追加进去。从追加那一轮起，后面每一轮都带着。

第 40 轮对话在重新发送第 1 到 39 轮的全部累积内容。

这种增长，是接近平方级别的 O(n²)。

CClaude Code 有个兜底机制。

命令输出超过 30000 字符，就不往对话里塞了，而是写到一个临时文件里，对话里只放一句摘要。但 30000 以下的输出没人管。

比如一个测试框架跑完，打印 400 行通过记录，每行几十个字符，总量不到 3 万，够不上这个阈值。

于是这 400 行就原封不动地留在了对话历史里，后面每一轮都跟着重新发送一遍。

对此，Anthropic 博客里给了几招很实用的瘦身方法。

1. @引用文件。

不要手动输入路径让 Claude 自己去找。@引用会把文件直接附到消息里，省掉一次读取操作。

你只说文件名的话，Claude 可能先 grep 搜一圈，打开好几个文件看哪个对。然后这些试探就会全部进入对话历史，徒增成本。

2. 给 noisy 命令加 quiet flag。

在 CLAUDE.md 里写一句「run tests with npx vitest run <file> --reporter=dot」，以后每次跑测试只输出几行点状结果，不是几百行详情。一分钟的配置，以后每个会话省几百行上下文。

3. subagent 隔离大输出任务。

subagent 在自己独立的上下文窗口里跑，做完只传答案回来，过程中读的文件和命令输出全部丢弃。适合「去翻翻日志有什么异常」「帮我过一遍这个大文件」这种活。你只要结论，不要过程。

还有最重要的一条。

4. /clear 切任务。

修完一个 bug 就 / clear，开始下一件事。上一个 bug 的文件、命令输出、中间探索，全部和下一个任务无关，但如果不清，它们在后面每一轮都占着位置、吃着 token。

不想彻底清空的话，/compact 可以把对话压成摘要。一万到两万个 token 能压到一千到三千。

此外，博客里还提了一个冷门但免费的操作，/rewind。

如果最后几轮跑偏了，/rewind 直接砍掉那几轮，前面的缓存完全不动。

管 token，也是一种开发者素养

上面这些操作拆完，你会发现一个规律。写代码的人正在长出一套新技能。

跟框架和语言没关系，而是知道该选什么模型、怎么管上下文、怎么保住缓存、推理强度开多高合适。

这些能力一年前并不存在。但它现在却决定了你在同一个任务上，是花 3 美元还是 30 美元。

Anthropic 自己就是最好的例子。

他们 80% 的代码靠 AI 写，代码合并量一年翻了 8 倍，基准测试加速 52 倍。AI 用到这个强度，如果没人管 token，光推理成本就能把预算吃穿。

从这个角度看，与其说这篇博客讲的是省钱技巧，不如说是 AI 时代写代码的人需要长出来的一种新本能 ——

知道你的每一个操作在消耗什么，知道怎么让同样的预算干出更多的活。

读懂它的人，薅到的不只是几美元的 token。

https://claude.com/blog/maximizing-the-value-of-your-claude-code-sessions
