教程Claude Code系列第 6 / 7 篇

Claude Code 怎么省用量:effort 选哪一档、什么时候换模型、缓存和上下文怎么管

根据 Claude Code 团队的三篇官方文章整理:一个任务的花费由什么决定,effort 五个档位各适合什么活,什么时候该换模型,怎么不让缓存白白失效,以及怎么用 /usage 看自己的用量。

发布 · 约 8 分钟读完 · 经人工审核()· 本站的内容怎么来的

本文根据公开分享整理,本站尚未实测。操作前请对照文末的原始来源。

本页目录(9 节)
  1. 先弄懂:一个任务的钱花在哪
  2. 第一步:effort 选对档位
  3. 第二步:把“做完”说清楚,少走弯路
  4. 第三步:管好上下文
  5. 第四步:别让缓存白白失效
  6. 第五步:什么时候换模型
  7. 第六步:用 /usage 看自己的数字
  8. 关于 fast mode
  9. 要记住的局限

这篇教程解决一个问题:同样的套餐或同样的预算,怎么让 Claude Code 干更多的活。 内容来自 Claude Code 团队 2026 年 9 月发的三篇官方文章,这里按“先弄懂钱花在哪,再逐项调整”的顺序重新整理。

先说结论,后面逐条展开:

  1. 日常工作用默认的 medium;卡住了再升到 high,不要一上来就开最高档。
  2. 不相关的任务之间用 /clear;长会话在停顿的时候用 /compact。
  3. 查资料、读日志这类活交给用便宜模型的子代理,改代码留给主模型。
  4. 少做会让缓存失效的事:中途换模型、中途接 MCP 服务器、长时间不动。
  5. 用 /usage 看一次真实任务的数字,再决定怎么调。

还有一条贯穿全文的提醒,来自官方文章:省 token 省过头,任务没做成,重做一遍比省下来的更贵。

先弄懂:一个任务的钱花在哪

Claude Code 做一个任务是一个循环:每一轮都要把到目前为止的整段对话重新发给模型。所以决定花费的是四件事:

因素 为什么重要
轮数 每多一轮,整段对话就多发一次
缓存命中 重复发送的内容如果命中缓存,价格低得多
输出的 token 输出最贵,而且模型的思考也按输出计费
模型的单价 不同模型差几倍

以 Opus 5.5 的 API 标价为例(每百万 token):输入 4 美元,输出 20 美元,缓存读取 0.20 美元。输出是输入的 5 倍,是缓存读取的 100 倍。

官方文章举的例子能看出缓存有多重要:一个 40 轮的任务,上下文从 2 万 token 涨到 12 万,总共要发送大约 280 万 token 的输入。

缓存命中率 这部分输入的花费
完全没有缓存 11.20 美元
90% 1.62 美元
96% 约 0.99 美元

订阅用户不按这个价格付钱,但消耗用量的道理相同:轮数少、缓存命中高、输出少,同样的额度就能用得更久。这些数字是官方用标价做的示意,不是账单。

1effort 选对档位

effort 可以理解为“你希望模型在这件事上花多少功夫”。按 Thariq 的说法,不管哪一档,Claude 都会认真做;档位越高,它做的验证、考虑的边界情况、自己拿的主意就越多。

在 Claude Code 里随时可以用 /effort 调整,对话中途也可以。Opus 5.5 的默认档位是 medium。

各档适合什么

档位 适合
low 需要快速来回的活:头脑风暴、出草图、简单改动、机械性的重命名
medium 多数日常开发,比如实现一个范围清楚的新功能
high 验证和边界情况很重要的活,比如在老代码库里修 bug;或者 medium 卡住的时候
xhigh 难题
max 完全放手让它自己做的难题,比如从头到尾做完并验证一个应用,或者在关键软件里找安全漏洞

档位差多少:官方的两个小实验(Opus 5.5)

任务 low medium high max
只说一句“做个健身记录应用” 约 1.5 分钟,一个记录页加简单图表 约 4 分钟 约 11 分钟 约 67 分钟,多了热力图等细节
同一个应用,但先让它访谈你、写出详细规格 16 分钟 22 分钟 33 分钟 79 分钟

第二行的结论很有用:需求写清楚之后,各档做出来的东西相当接近,差别主要在细节。所以把需求说清楚,比把档位调高更划算。

高档位真正有用的地方

在一组高难度的评测任务上,从低档到高档,通过率提升最明显的是安全(64% 到 87%)和硬件(34% 到 75%)这类有很多隐藏边界情况的工作。分析失败原因可以看到:高档位主要减少的是“漏掉了某种情况”和“自己的测试没测出来的 bug”;方向选错了,调高档位救不回来。

一个具体的例子:修一个存储引擎的崩溃。low 档大约 1 分钟,没先复现问题就直接改代码,5 次里 0 次通过;xhigh 档大约 11 分钟,先复现崩溃,再写随机测试来确认修复有效,5 次里 4 次通过。

一套省用量的做法

Thariq 自己做功能时的流程:

  1. 给 Claude 一份需求,让它就没说清楚的地方来访谈你;
  2. 用 low 实现;
  3. 审查,需要的话继续用 low 迭代;
  4. 换到 high 做验证和测试。

调高档位不一定更贵

官方举的例子:high 多用大约 2 万 token 的思考,约 0.40 美元,和一次十轮的返工差不多。也就是说,如果 medium 做错了要返工,那还不如一开始用 high。判断标准是这件事“验证有多重要”,不是“想不想省”。

另外两点:

  • 不要在提示词或 CLAUDE.md 里写“仔细想”“think hard”之类的话。Opus 5.5 自己决定想多少;要它想得更深,调 effort。
  • 用订阅或 Anthropic 的 API key 时,改 effort 不会让缓存失效;通过 Bedrock、Google Cloud 或网关接入时,改 effort 会清掉缓存。

2把“做完”说清楚,少走弯路

轮数是花费的第一大因素,而多出来的轮数往往来自目标没说清。官方的建议是把终点写明,并说明什么时候才该停下来问你。例如:

完成的标准:所有接口都改用新的客户端,旧客户端已删除,测试全部通过。
只有在测试失败而且你解释不了原因时,才停下来问我。

再给它一个能自己检查结果的办法(一条测试命令、一个能跑的脚本),它就不需要靠你来回确认。涉及多个文件的改动,先用 plan 模式。

3管好上下文

每一轮的花费随上下文变大而增加。官方的数字:上下文 2 万 token 时,一轮的缓存读取约 0.004 美元;15 万 token 时约 0.03 美元。同样 30 轮,后者约 0.90 美元,前者约 0.12 美元。

命令 什么时候用 代价
/clear 两个不相关的任务之间 不花钱
/compact 长会话里的自然停顿点 一次请求(15 万 token 的上下文约 0.25 美元),大约十轮之后回本
/rewind 想回到之前的某一步 回到之前已经缓存的位置

/compact 的两个细节:

  • 趁缓存还热的时候做。 长时间停顿之后再压缩,光输入就贵得多(15 万 token 约 0.75 美元)。
  • 可以告诉它保留什么,例如 /compact keep the failing test names。

每一轮都会带上的固定内容也算在上下文里。CLAUDE.md 每轮都会加载,官方建议控制在 200 行以内。

4别让缓存白白失效

缓存的有效时间:订阅用户是 1 小时;用 API key 或云服务商接入时默认 5 分钟。每命中一次,计时重新开始。

下面这些事会让缓存失效,之后的第一轮要按没有缓存的价格重新付一次:

  • 停顿超过缓存的有效时间;
  • 切换模型;
  • 连接或断开 MCP 服务器;
  • 压缩上下文;
  • 在一次对话里第一次打开 fast mode;
  • 通过 Bedrock、Google Cloud 或网关接入时修改 effort。

所以实用的做法是:

  • 一件事尽量一口气做完,不要做到一半放很久再回来;
  • MCP 服务器在会话开始时就接好,不要中途接;
  • 要换模型或开 fast mode,在会话开头或自然的停顿点做。换模型之前先 /compact。

5什么时候换模型

官方文章给的分工:

用什么 做什么
Opus 5.5 日常主力,有人看着的开发工作
Fable 5.1 长时间无人看管的运行、代码库里没有先例可循的问题、要多个子代理配合的改动。标价是 Opus 5.5 的 2.5 倍(缓存读取 1.25 倍)
Sonnet 或 Haiku 查找、读日志这类活,通过子代理来做,不用来改代码
  • 一个经验规则:xhigh 在同一个问题上失败两次,就换 Fable 5.1,解决之后再换回来。
  • 换模型用 /model,它同时会把这个模型存为新会话的默认值。

让子代理用便宜的模型

两种办法:在子代理的定义里写 model: haiku 或 model: sonnet;或者设置环境变量 CLAUDE_CODE_SUBAGENT_MODEL,对所有子代理生效。两者都有时,以子代理定义里写的为准。

要留意的是,多代理并不省钱:按官方文档的说法,代理团队在 plan 模式下消耗的 token 大约是普通会话的 7 倍。

6用 /usage 看自己的数字

在会话里输入 /usage(或 /cost),会看到这次会话用了多少 token、按标价估算的花费,以及缓存的情况。订阅用户还能看到套餐用量的进度。订阅用户看到的金额只是估算,不是账单。

怎么读这些数字:

看到的情况 可能的原因
缓存占比低 中途停了很久、换过模型、中途接了 MCP 服务器,或者在云服务商上改了 effort
改动很小,输出却很多 effort 开得太高,或者模型在反复重试
输入总量是对话长度的很多倍 轮数太多,回去看对话里是不是在某处兜圈子

官方建议自己做个小对比:挑一个难的任务,分别用 medium 和 high 各做一次;再挑一个机械性的任务用 low 做一次,比较轮数、输出量和花费。三四个任务就能看出适合自己的设置。

关于 fast mode

fast mode 用的是同一个模型,出字更快(约 2.5 倍),价格是 2 倍。订阅用户用它会从额外用量里扣。它适合你要逐条看回复的来回对话。在 Claude Code 里输入 /fast 开启;因为第一次请求要按没有缓存的价格付费,要用就在会话一开始打开。

要记住的局限

  • 文中的 token 数和金额,都是官方用 API 标价做的示意,实际花费因任务和代码库而异。
  • 这些文章写于 2026 年 9 月下旬,针对的是 Opus 5.5。价格之后有调整,例如 10 月 7 日 Sonnet 5.5 的缓存读取价格减半,见 Claude Haiku 5.5 发布。
  • effort 的评测数据来自 Anthropic 的内部测试,每个任务跑 5 次,和公开榜单上的数字不完全一致。

来源

通过 API 中转站使用这些模型?到 Veridrop 免费检测中转站给你的是不是它声称的模型,或者看看中转站排行榜前 100 名。

相关文章