Claude 的思考和 effort 怎么调:五档各是什么、什么时候该调高、钱花在哪
effort 控制 Claude 在一个回答上下多大功夫,思考只是其中一部分。本文整理五档的含义、各模型的默认值、思考怎么计费、怎么让它多想或少想,以及任务预算和快速模式。实测一道排期题:Sonnet 5.5 在 low 和 medium 上十次全错,调到 high 五次全对;再调到 max 要花三倍多的钱,答案一样。
本站已实测,测试日期:2026-10-13。
本页目录(15 节)
这篇教程解决一个问题:effort 这个旋钮到底控制什么?调高一定更好吗?思考花掉的 token 去哪看?
Claude Code 里的 /effort 和接口里的 effort 参数是同一个东西。自己不写代码的读者,看前四节就够了。
| 实测环境 | |
|---|---|
| 日期 | 2026-10-13 |
| 方式 | 用 Python 直接发 HTTP 请求 |
| 模型 | Sonnet 5.5、Opus 5.5 |
| 连接方式 | 通过酷站AI 中转站,不是直连官方 |
一、两个旋钮,别混了
| thinking | effort | |
|---|---|---|
| 管什么 | 回答之前要不要先想,想的内容给不给你看 | 整个回答下多大功夫 |
| 影响范围 | 只影响思考那一块 | 所有输出:思考、正文、工具调用的次数和详略 |
| 现在怎么设 | 多数模型默认开着,一般不用动 | 五档里选一档 |
现在的模型用的是自适应思考:每个请求由模型自己判断要不要想、想多深。简单的问题它可能直接答,一个 thinking 块都没有;复杂的才会先推一遍。你不再给它一个“思考预算”,而是用 effort 告诉它总体上该多用力。
文档有一句话值得记住:effort 是一个行为上的信号,不是一个严格的 token 预算。 调低了,碰到够难的问题它照样会想,只是想得少一些。
二、五档各是什么
| 档位 | 文档的说法 | 适合 |
|---|---|---|
low |
最省。明显节省 token,能力有所下降 | 简单的活、要快要便宜的场合、子代理 |
medium |
均衡,适度节省 | 要兼顾速度、花费和效果的智能体任务 |
high |
需要多少 token 就用多少,力求做好 | 复杂的推理、难的编程题、智能体任务 |
xhigh |
为长时间的任务加码 | 跑三十分钟以上、token 预算上百万的编程和智能体任务 |
max |
不计成本的最高能力 | 需要最深的推理、最彻底的分析 |
不设的时候用默认档,各模型不一样:
| 模型 | 默认档 |
|---|---|
| Opus 5.5、Haiku 5.5 | medium |
| Fable 5.1、Sonnet 5.5,以及其他支持 effort 的模型 | high |
把 effort 明确设成默认档,和不设完全一样。xhigh 不是每个模型都有,比如 Opus 4.6 和 Sonnet 4.6 只到 max、没有 xhigh。
effort 低的时候,工具调用也会变:次数更少,几步并成一步,不先解释直接动手,做完只说一句。effort 高的时候反过来:调用更多,先讲计划,做完给详细的总结。
三、实测:一道排期题,五档各跑一遍
题目:六个任务,各要一个人做若干整天,之间有依赖,两个人同时干,问最短几天做完。正确答案是 11 天,由最长的那条依赖链决定。它不难,但需要把依赖关系理一遍,凭感觉答会错。
两个模型、五档,各跑一次:
| 模型 | effort | 答案 | 用时 | 输出 token | 其中思考 | 按官方价 |
|---|---|---|---|---|---|---|
| Sonnet 5.5 | low |
8 天(错) | 4.7 秒 | 315 | 0 | $0.0036 |
| Sonnet 5.5 | medium |
8 天(错) | 3.6 秒 | 218 | 0 | $0.0026 |
| Sonnet 5.5 | high |
11 天 | 4.4 秒 | 345 | 185 | $0.0039 |
| Sonnet 5.5 | xhigh |
11 天 | 4.2 秒 | 365 | 240 | $0.0041 |
| Sonnet 5.5 | max |
11 天 | 9.9 秒 | 1,239 | 1,089 | $0.0128 |
| Opus 5.5 | low |
11 天 | 3.9 秒 | 218 | 85 | $0.0052 |
| Opus 5.5 | medium |
11 天 | 3.7 秒 | 217 | 95 | $0.0052 |
| Opus 5.5 | high |
11 天 | 3.9 秒 | 210 | 105 | $0.0050 |
| Opus 5.5 | xhigh |
11 天 | 3.9 秒 | 251 | 144 | $0.0059 |
| Opus 5.5 | max |
11 天 | 12.0 秒 | 1,243 | 1,132 | $0.0257 |
一次的结果可能是碰巧,所以把 Sonnet 5.5 的前三档各重复了五次:
| effort | 五次的答案 | 答对 | 思考 token |
|---|---|---|---|
low |
8、10、10、10、10 | 0 / 5 | 都是 0 |
medium |
8、8、8、15、8 | 0 / 5 | 都是 0 |
high |
11、11、11、11、11 | 5 / 5 | 164 到 192 |
从这两张表里能读出四件事:
- 在 Sonnet 5.5 上,分界线是“它想没想”。
low和medium一次都没有动用思考,加上第一轮共十二次,全错;high开始每次都想了不到两百个 token,六次全对。 - 想这一下很便宜。 从
medium到high,花费从 0.0026 美元到 0.0039 美元,用时几乎没变。 - 再往上是白花钱。
max的思考量是high的五六倍,花费是三倍多,答案一样。Opus 5.5 上更明显,max花了high五倍的钱。 - Opus 5.5 在最低档也会想。 它的思考关不掉,
low时也用了 85 个 token,五档都对(各只跑了一次)。
所以“调高一定更好吗”的答案是:从不想到想,差别可能是对和错;从想到想很多,在这种题上什么也没多买到。 这和文档的说法一致:花费跟着所有这些动作一起涨,准确率只跟着任务真正需要的那一部分涨。
这只是一道题。换成别的任务,分界线可能在别的档位,也可能根本没有。文档的建议是在你自己的任务上扫两三档,看质量从哪一档开始掉。
四、各模型从哪一档起步
| 模型 | 文档的建议 |
|---|---|
| Opus 5.5 | 默认是 medium,比上一代 Opus 低一档。思考关不掉,effort 是控制它想多少、花多少的主要手段。在高档位上把 max_tokens 设大 |
| Sonnet 5.5 | 从 high 开始。带工具的多步任务,要求明确的可以先用 medium,难的、长的再回到 high。聊天这类要快的场合用 medium 或 low |
| Haiku 5.5 | 多数活从 medium 开始。low 最便宜最快,适合聊天、短的工具任务、量大又简单的请求;但在长的智能体提示里,它在 low 上更容易跳过搜索、提前收工、漏掉检查 |
还有一条通用的提醒:各档的思考量在每一代模型上都重新校准过。 在上一个模型上调好的档位,换了模型要重新试,不要直接搬。
五、思考的钱花在哪
| 怎么算 | |
|---|---|
| 这一轮的思考 | 按输出 token 收费,也算进 max_tokens |
| 以前几轮留在上下文里的思考 | 按输入 token 收费。留几轮看模型:有的全留,有的只留最近一轮 |
| 思考摘要 | 生成摘要不另外收费 |
三件容易想错的事:
- 看不到不等于没花钱。 默认的显示方式是
omitted,thinking 块里的文字是空的,但思考的 token 一个不少地收了。不显示省的是时间(流式时正文能更早出来),不是钱。 - 看到的字数和收费的数对不上。 把显示方式设成
summarized,拿到的是一段摘要,收费按的是模型内部实际想的量。没有哪种设置能拿到原始的思考过程。 max_tokens把思考也算在内。 上限给小了,可能全被思考用光,正文一个字没有,见《把代码升级到 Claude 5.5 这一代要改什么》第三节。
要知道这一次想了多少,看响应里的这一项:
"usage": {
"output_tokens": 345,
"output_tokens_details": { "thinking_tokens": 185 }
}
这是上面 Sonnet 5.5 用 high 的那一次:345 个输出 token 里有 185 个是思考。流式时这一项只出现在最后一个 message_delta 事件里。
成本的两道闸:max_tokens 是硬上限,模型绝不会超;effort 是软的引导。在带工具的循环里,每个请求各有各的 max_tokens,所以它管不住一整轮任务的总花费,那是第七节任务预算的事。
六、想让它多想或少想
顺序是:先调 effort,不够再用提示词。
提示词的做法是直接说。放在系统提示里对整场对话生效;加在某一条用户消息的末尾,只管那一轮。文档给的例句是英文的 Please think hard before responding. 和 Answer directly without deliberating.。
文档自己也说了它的局限:
- 效果对措辞敏感,要在自己的任务上量过再用。
- 在 Sonnet 5.5 和 Haiku 5.5 上,用提示词让它少想不可靠。 要少想,调低 effort。
- 让它少想可能降低需要推理的任务的质量。
实测在 Opus 5.5 的 medium 档上,同一道排期题换四种说法,各一次:
| 说法 | 思考 token |
|---|---|
| 原样 | 127 |
| 末尾加“请先仔细想清楚再回答。” | 165 |
| 末尾加“直接回答,不要推敲。” | 115 |
| 系统提示里写“直接给出答案,不需要在回答前展开思考” | 87 |
方向和文档说的一致,幅度不大,四次都答对了。每种只跑了一次,不足以说明有稳定的效果。
七、任务预算:给一整轮任务一个总量
max_tokens 只管单个请求。一个智能体任务要来回很多个请求,总共花多少没有人管。任务预算(测试版)填的是这个空:你告诉模型“这整件事你有多少 token”,它看着一个倒计时自己安排,快用完时收尾、汇报,而不是在动作中途被掐断。
"output_config": {
"effort": "medium",
"task_budget": { "type": "tokens", "total": 20000 }
}
请求要带上 beta 头 task-budgets-2026-03-13。
要知道的几点:
- 它是建议,不是硬上限。 模型可能略微超出。真正的硬上限仍然是每个请求的
max_tokens,两个要配合着用。 - 倒计时只有模型看得到。 响应里没有“还剩多少”的字段,要自己在客户端把每次的用量加起来。
- 预算给得太小,它可能干脆不干。 明显不够的预算会让模型拒绝开始、大幅缩小范围,或者早早交一个半成品。文档的建议是先量一下现在的任务实际用多少,再从那里往下调。
- 支持的模型:Fable 5.1、Opus 5.5、Opus 5、Opus 4.8、Opus 4.7、Sonnet 5.5、Haiku 5.5。Sonnet 5 和 4.6 那一代不支持。
- Claude Code 里用不了,只能直接调接口。
实测带着这个参数和 beta 头发了一次请求,返回 200,正常回答。单个简单的请求看不出预算的作用,本站没有在多步任务里验证它。
八、快速模式:同一个模型,出字更快,价格翻倍
快速模式(研究预览)用更快的推理配置跑同一个模型,能力不变,输出速度最高到 2.5 倍。它加快的是出字的速度,不是第一个字出来之前的等待。
| 支持的模型 | Opus 5.5、Opus 5、Opus 4.8 |
| 怎么开 | 请求里加 speed: "fast",带 beta 头 |
| 价格 | Opus 5.5 是每百万 token 8 美元和 40 美元,标准价的两倍 |
| 哪里能用 | 只在 Claude API 上,要申请 |
| 不能和什么一起用 | 批量接口 |
在快速和标准之间切换会让提示缓存失效。响应的 usage 里有一项 speed,写着实际用的是哪一种。
实测通过中转站请求快速模式:
HTTP 400 "本站暂不支持 claude-opus-5-5 的 speed="fast"(快速档),请使用标准速度。"
这家中转站没有开。
九、会话中途别随便改
effort 和思考的设置都是缓存前缀的一部分。 对话进行到一半改了其中任何一个,之前缓存的内容就对不上了,下一个请求要按全价重新处理整段对话。
- 靠缓存的长对话里,开头选定一档,中途保持不变。
- 确实需要某几轮用不同的档位,Fable 5.1、Opus 5.5、Opus 5、Sonnet 5.5、Haiku 5.5 支持“按消息改 effort”(测试版),这种改法不破坏缓存。
- 把参数明确设成默认值,和不设是等价的,不会让缓存失效。
文档里有一个完整的例子(Build an orchestration mode),用高档位的 effort、对话中间的 system 消息和一个编排工具,拼出一种“放手让它拆任务、派子代理”的模式。它强调这不是一个接口参数,是用几样现成的东西搭出来的,而且一个请求可能派生出很多个子对话,token 用量成倍增加。本站没有跑这个例子。
十、带工具时的四条规则
思考和工具一起用,文档列了四条:
- 一轮任务里只用一种思考配置。 一个工具循环算一轮,要改配置等这一轮结束。
- 把 thinking 块完整、原样地传回去。 交工具结果时,助手那条消息里的 thinking 块要一起回来。
- 助手的消息原样回放。 不要重组,不要按类型过滤。
redacted_thinking是另一种块,只过滤thinking会把它漏掉。 - 强制调用工具和思考不能随便搭。 Opus 5.5、Sonnet 5.5、Fable 5.1 上强制调用直接报 400;其他模型上强制调用会跳过思考,响应直接从工具调用开始。
十一、常见的现象对一下
| 你看到的 | 原因 | 怎么办 |
|---|---|---|
| thinking 块里的文字是空的 | 显示方式默认是 omitted |
设成 summarized |
| 有的轮次没有 thinking 块 | 自适应思考认为这一轮不用想,这是正常的 | 要它多想,调高 effort |
回答停在 max_tokens,正文很短或没有 |
思考占了输出的额度 | 调大 max_tokens,或者调低 effort |
| 缓存命中突然掉到零 | 改了思考配置或 effort | 同一场对话里保持不变 |
| 改了 effort,思考量没变 | 模型用的是旧的手动思考模式,那里管思考的是预算 | 换成自适应思考,或者调预算 |
| 400:thinking 块不能修改 | 传回去的助手消息和收到的不一样 | 原样回放 |
| 400:thinking 块的签名无效 | 它前面的系统提示、工具或更早的消息被改过 | 对话历史只增不改 |
| 回答的文字里冒出工具调用或 XML 标签 | Opus 5 关掉思考时会这样 | 把思考开回来,用低档 effort 控制花费 |
通过中转站还测到的
| 请求 | 结果 |
|---|---|
| effort 的五档 | 都接受,并且看得出差别(第三节) |
effort 写成不存在的值,或者写成 adaptive |
400,消息列出了五个合法的取值 |
speed: "fast" |
400,本站暂不支持 |
带 task_budget 和 beta 头 |
200 |
display 设成 updates(带 beta 头) |
200 |
不经过 SDK,非流式请求把 max_tokens 设成 64000 |
200 |
最后一条说明一件事:Python SDK 在 max_tokens 超过 21,333 时要求用流式,这是 SDK 在本地做的检查,不是接口的限制。直接发 HTTP 请求不受这个约束,但长时间没有数据的连接可能被网络掐断,所以长输出还是该用流式。
和 Claude Code 的关系
- Claude Code 的
/effort设的就是这个参数,档位的含义相同。怎么在 Claude Code 里省用量,见《Claude Code 怎么省用量》。 - 会话中途用
/effort换档,同样会让缓存失效一次。 - 任务预算在 Claude Code 里不可用。
花费
这一轮四十来次请求,按官方价估算合计约 0.16 美元。最贵的两次是两个模型的 max 档,加起来 0.04 美元。这是估算,不是中转站实际扣的金额。
这次实测没有覆盖到的
- 官方接口没有测。
- 只用了一道题。 档位之间的分界线换个任务就可能不同。Opus 5.5 的五档各只跑了一次。
- Haiku 5.5 和 Fable 5.1 没有测。
- 任务预算没有在多步任务里验证,按消息改 effort、
display: updates的实际效果、编排模式的例子,都没有跑。 - 快速模式测不了,中转站没有开。
- 带工具时的那几条规则在这家中转站上测不出来:升级清单那一篇里试过,删掉 thinking 块再传回去它也不报错。