Claude 模型档位与 effort(用力档位)指南:每个组合该用在什么任务上
选择 Claude Opus 5 还是 Sonnet 5,是一个决定。把同一个模型跑在 `low` 还是 `xhigh`,是另一个决定;同一任务的 token 花费可能相差约 7×。Anthropic 给出的判断方法很实用:模型决定 Claude 懂多少,effort 决定它多用力。下面把每个模型档位、每个 effort 档位、它们真正适合的任务,以及该拧哪个旋钮的诊断问题一次讲清。
一次 Claude 编程会话上其实有两个旋钮,多数人只拧其中一个。
第一个是模型档位:Claude Fable 5、Claude Opus 5、Claude Sonnet 5、Claude Haiku 4.5。它最显眼,也最容易被讨论。第二个是 effort(用力档位)。它决定同一个模型在这次请求上花多少力气。Anthropic 说,在复杂任务上,只改 effort,不改模型能力,token 花费可能相差约 7×(约 7 倍)。
这两个设置彼此独立。把它们混在一起,就会出现两种浪费:本来只需要更认真执行,却换了更贵的模型;或者花 Fable 的价格,处理 Sonnet 本来就能完成的活。本文把地图摊开:每个模型档位、每个 effort 档位、它们分别适合什么,以及每个组合对应的工程场景。事实依据来自 Anthropic 的文档和说明,来源统一放在文末。
30 秒版
- 模型 = 懂多少。effort = 多用力。 前者是训练带来的固定能力,后者是这次回答愿意花多少 token。Anthropic 把它们当作两个独立控制项,你也应该这样看。
- 最有用的诊断问题来自 Anthropic: Claude 做错时,它是不够懂,还是不够用力?漏看文件、没跑测试、没复查,调高 effort。上下文给足了,也明显认真做了,还是错,换更高模型档位。
- 四个模型档位: Claude Fable 5($10/$50)处理最难、最长的任务;Claude Opus 5($5/$25)是代理式编码默认值;Claude Sonnet 5($3/$15)处理常规工作;Claude Haiku 4.5($1/$5)处理高频简单调用。
- 五个 effort 档位:
low、medium、high(默认)、xhigh、max。显式设置high和什么都不设完全一样。 - effort 不只是思考。 它会影响所有 token,包括工具调用。低 effort 会让 Claude 做更少工具调用,也省掉铺垫话。所以它比单纯限制思考更适合作为成本控制旋钮。
- 档位名不能跨模型硬套。 Anthropic 说明 effort 刻度按模型校准。Claude Sonnet 5 的
medium约等于 Claude Sonnet 4.6 的high。Claude Haiku 4.5 则完全没有 effort 参数。
四个模型档位
| Claude Fable 5 | Claude Opus 5 | Claude Sonnet 5 | Claude Haiku 4.5 | |
|---|---|---|---|---|
| 价格 /MTok | $10 / $50 | $5 / $25 | $3 / $15* | $1 / $5 |
| 上下文窗口 | 1M | 1M | 1M | 200K |
| 最大输出 | 128K | 128K | 128K | 64K |
| 延迟 | 较慢 | 中等 | 快 | 最快 |
| 知识截止时间 | Jan 2026(2026 年 1 月) | May 2026(2026 年 5 月) | Jan 2026(2026 年 1 月) | Feb 2025(2025 年 2 月) |
| effort 档位 | 全部五个 | 全部五个 | 全部五个 | 没有 |
| 思考 | 始终开启,不能关闭 | 自适应思考,默认开启 | 自适应思考 | 仅扩展思考 |
Claude Fable 5:Anthropic 给它的定位是:面向长时间运行代理的下一代智能(原文:“next-generation intelligence for long-running agents”)。付双倍价格的理由不是某个评测多几分,而是 Anthropic 明确说过:Fable 能完成 Opus 和 Sonnet 在任何 effort 档位都够不到的工作。判断标准很简单:Opus 5 拧到 max 仍然失败,才是 Fable 任务。例子:在陌生代码库里做多小时迁移,连方案本身都要先摸出来,而且走错一步会浪费整个下午。
Claude Opus 5:Anthropic 的说法是:用于复杂代理式编码和企业级工作(原文:“for complex agentic coding and enterprise work”),并且文档建议从它开始。它也是 Claude Max 的默认模型。四个模型里,它的知识截止时间最新:May 2026(2026 年 5 月),比 Fable 晚四个月。例子:日常主会话,跨几个文件实现功能、跑测试、修掉失败。
Claude Sonnet 5:Anthropic 的定位是速度和智能的最好组合(原文:“the best combination of speed and intelligence”)。只要任务是常规而不是困难,它就是更合适的选择。例子:机械重构、跨包改名、给已有代码补测试、转换配置格式。
Claude Haiku 4.5:Anthropic 称它是具备近前沿智能的最快模型(原文:“the fastest model with near-frontier intelligence”)。它也是例外:没有 effort 参数,上下文窗口是 200K 而不是 1M,知识截止时间停在 Feb 2025(2025 年 2 月)。例子:分类、抽取,以及高并发简单调用,单次延迟比深度更重要。
五个 effort 档位
| 档位 | 含义 | Anthropic 给出的用途 |
|---|---|---|
max | 最高能力,不限制 token 花费 | 尽可能深的推理和最彻底的分析 |
xhigh | 面向长周期任务的扩展能力 | 超过 30 分钟的代理式编码运行,token 预算达到百万级 |
high | 默认值,和省略参数完全一样 | 复杂推理、困难编码、代理式任务 |
medium | 均衡降档,适度节省 token | 在速度、成本和表现之间取平衡的代理式工作 |
low | 效率最高,显著省 token,但会损失部分能力 | 需要速度和低成本的简单任务;Anthropic 点名子代理 |
这张表有两点很容易漏掉。
effort 不是思考设置。 它影响回答里的所有 token:正文、思考、工具调用,以及工具调用参数。Anthropic 说得很直白:低 effort 会让 Claude 做更少工具调用,合并操作,省掉开场铺垫,确认也更短;高 effort 会带来更多工具调用、行动前说明计划,以及更详细的总结。所以,即便思考关闭,effort 仍然生效;它也比思考上限更适合作为成本控制手段。
这是行为倾向的信号,不是硬性的 token 预算。 按 Anthropic 的说法,在 low 上,Claude 遇到足够难的问题仍然会思考,只是比同一问题上的 high 少。
支持情况也不统一。xhigh 比 max 更新,所以有些模型支持 max,但没有 xhigh:
| 模型 | 支持的 effort 档位 |
|---|---|
| Claude Fable 5、Claude Opus 5、Claude Sonnet 5、Claude Opus 4.8、Claude Opus 4.7 | low medium high xhigh max |
| Claude Opus 4.6、Claude Sonnet 4.6 | low medium high max,没有 xhigh |
| Claude Haiku 4.5 | 不支持 |
判断该拧哪个旋钮的问题
Anthropic 的说明里,最有价值的其实是一句话。Claude 做错时,先问:
它是不够懂,还是不够用力?
- 漏看文件、没跑测试、没有复查、过早停下:这是 effort 问题。提高 effort 档位。
- 上下文已经给足,它也明显认真做了,仍然出错:这是模型问题。换更高模型档位。
这件事搞反了,两边都贵。用 Fable 的价格去补浅层执行问题,是浪费钱;让 Sonnet 在 max 上硬磨一个它根本解不了的问题,是浪费下午,而且最后还是失败。
每个组合对应什么场景
Anthropic 发布了按模型区分的 effort 建议。下面先保留这套建议,再补上每个组合的具体工程场景。也就是说:推荐来自 Anthropic,例子是我们写的。
Claude Opus 5:从默认值开始,有意识地调整
Anthropic 的建议是:从 high(默认值)开始,再根据自己的评测调整。困难的编码和代理式工作升到 xhigh;任务值得不受约束地花 token 时才用 max。只要质量守得住,就把 low 和 medium 当作控制成本和响应时间的主手段。
| effort | 场景 |
|---|---|
low | 一个子代理只负责找出所有导入某个模块的文件,并列出清单。范围窄,可验证,不需要判断。 |
medium | 熟悉代码库里一个定义清楚的功能:设计已经定了,只剩实现。 |
high | 日常默认值:跨几个文件实现改动,跑测试,修掉失败。 |
xhigh | 一个要跑三小时的重构,子代理分头扫多个包,代理必须一直记住计划。 |
max | 两个人盯了一天还没抓住的隐蔽并发 bug。只把它留给这种事。 |
在 Opus 5 上跑 xhigh 或 max 时,max_tokens 也要一起调大。Anthropic 给的起步值是从 64k 开始,再按实际情况调,这样模型才有足够空间在子代理和工具调用之间思考、行动。同样的建议也适用于 Opus 4.8 和 Opus 4.7。
Claude Opus 5 有一个细节要记住:effort 控制思考量,不等于控制可见回答长度。 Anthropic 说明,在 Opus 5 上,改 effort 不一定会让回答可靠变短。想要短输出,要在提示里直接说。另一个限制是:xhigh 和 max 下不能关闭思考;这两个档位里设置 thinking: {"type": "disabled"} 会返回 400。
Claude Sonnet 5:effort 最值钱的地方
Claude Sonnet 5 在 API 和 Claude Code 里都默认 high。它还有 Anthropic 给出的一个很有用的校准点:Claude Sonnet 5 的 medium,大致相当于 Claude Sonnet 4.6 的 high。换句话说,新一代能力可以让你把 effort 往下拧一档。
| effort | 场景 |
|---|---|
low | 聊天和非编码轮次;高频或延迟敏感调用,周转速度比润色更重要。 |
medium | 有预算约束的日常代理式编码:降一档后,仍能达到上一代默认高档的水平。 |
high | 默认值。质量比速度和成本更重要的复杂推理与编码。 |
xhigh | 你仍愿意交给 Sonnet,而不是切到 Opus 的最难编码和代理式任务。 |
max | 这一档位少用:你要最高能力,但有理由不换模型,比如部署被固定,或者每 token 成本有上限。 |
Claude Fable 5:effort 是主旋钮
在 Fable 上,Anthropic 说 effort 是权衡智能、延迟和成本的主控制项。最值得注意的一句是:Claude Fable 5 的低 effort 档位仍然表现很好,并且经常超过上一代模型的 xhigh 表现。所以把 Fable 调低档位并不算将就,它可能仍然高于你以前用的上限。
| effort | 场景 |
|---|---|
low / medium | 只是因为会话已经在 Fable 上,才顺手跑的常规任务;你不想为这种活付 high 的钱。 |
high | 默认值,也是大多数 Fable 工作应该落的位置。 |
xhigh | 队列里对能力最敏感的任务:这正是你愿意为 Fable 付钱的理由。 |
max | 真正前沿的问题。也要记住 Anthropic 在 Opus 线上的提醒:多数工作负载里,max 会显著增加成本,但收益相对小;结构化输出任务上还可能过度思考。 |
Fable 还有两个自己的限制。第一,思考完全不能关闭:会话开关、alwaysThinkingEnabled 和 MAX_THINKING_TOKENS=0 都不起作用。第二,在 high 和 xhigh 上要把 max_tokens 设大一点,因为它是思考和最终文本合在一起的硬上限。
Claude Haiku 4.5:没有这个旋钮
Claude Haiku 4.5 不在支持 effort 的列表里。Claude Code 文档也说得很直接:未列出的模型不支持 effort。它用的是经典扩展思考:thinking.type: "enabled" 搭配 budget_tokens。例子:每次提交都会跑的 hook,或者批量分类器。你要的是快、便宜、可预测,并且用思考预算控制深度,而不是用 effort 档位。
在 Claude Code 里设置 effort
入口有五个,并且有明确优先级:
/effort:不带参数会打开交互滑块;/effort low直接设置;/effort auto回到模型默认值- 在
/model里:支持 effort 的模型旁边会出现滑块,用左右方向键调整 - 启动时用
--effort <level>:只作用于当前会话 - 设置文件里的
effortLevel:接受low、medium、high、xhigh。max只能用于会话,不接受写进这里 - 技能和子代理的 frontmatter:
effort字段会在该技能或子代理激活时覆盖会话档位
优先级是:CLAUDE_CODE_EFFORT_LEVEL 环境变量高于一切,然后是当前激活的技能或子代理 frontmatter,然后是会话级档位,最后是模型默认值。当前档位会显示在会话头部的模型名旁边,例如 with low effort,这是确认自己到底跑在哪个档位上最快的方法。
同一个菜单里还有两个东西,但它们不是 effort 档位:
ultracode:这是 Claude Code 设置,不是模型档位。它会发送xhigh,并让 Claude 为子代理编排动态工作流。可通过/effort ultracode、claude --effort ultracode或设置文件里的"ultracode": true启用;需要v2.1.203或更高版本。它只作用于会话,持久化的effortLevel和环境变量都不接受它。如果工作流关闭,它会退化成普通xhigh。ultrathink:把这个词放进任意提示里,就能让当前这一轮请求更深地推理,不会改变会话设置。
模型选择也有自己的简写:sonnet、opus、fable、haiku、best(组织可用 Claude Fable 5 时选它,否则选最新 Opus)、default,以及 opusplan。opusplan 会在计划模式用 Opus,执行时换 Sonnet。它本质上是一个双旋钮预设:思考阶段花贵模型,执行阶段用便宜模型。
四个坑
1. 静默降档。 请求模型不支持的 effort 档位时,Claude Code 不会报错,而是回退到不高于请求值的最高支持档位。在 Claude Opus 4.6 上请求 xhigh,实际会静默跑成 high。如果你经常切模型,不要假设设置一定带过去,直接看会话头部。
2. 改 effort 会让提示词缓存失效。 effort 会改变渲染后的提示词,所以两次请求之间改 effort,缓存前缀不能继续复用。Anthropic 的建议很明确:会话开始时选一个档位,然后保持不变;把 effort 用在不同工作负载之间,而不是同一个缓存会话内部来回切。长会话里,这会变成真实账单,叠在你已经要付的 Claude Code 基线 token 开销上。
3. 模型默认值的锁定。 第一次运行 Claude Fable 5、Claude Opus 4.8 或 Claude Opus 4.7 时,Claude Code 会套用该模型自己的默认 effort。即使你之前为另一个模型设过别的值,它也会先锁住这个模型默认值,并跨会话保持,直到你显式选择。Claude Opus 5 没有这种锁定,你设过的档位会带过去。所以“我几周前设过 low”不是可靠判断。
4. effort 救不了错模型。 Anthropic 说明里最重要的一句是:Fable 完成了 Opus 和 Sonnet 在任何 effort 档位都够不到的工作。有一类问题,把旋钮拧到 max 只是用更多的钱换同一个失败。这时该换模型档位。也正因为如此,前面的诊断问题值得在花钱之前先问一遍。
配套阅读
- Claude Opus 5 对比 Claude Fable 5:深入看模型档位选择,包括决定它的非价格差异
- Claude Code 的 token 开销:effort 设置会乘上的基线成本
- Claude Code 定价拆解:套餐、用量权重,以及哪些动作会消耗额度
- Claude Code 代理团队值不值得烧 token:低 effort 子代理什么时候划算,什么时候不划算
- Anthropic 删除了 Claude Code 系统提示词的 80%:另一个经常花 token 却没有买到能力的地方
来源
- Anthropic 文档:Effort
- Anthropic 文档:Models overview
- Claude Code 文档:Model configuration
- Anthropic Blog:Choosing a Claude model and effort level in Claude Code
- Anthropic 文档:Thinking
- Anthropic 文档:Prompt caching
常见问题
Claude 里模型和 effort 有什么区别? 它们是两个相互独立的设置。模型代表训练带来的固定能力,也就是 Claude 懂多少、推理能力到哪里。effort 控制 Claude 为一次回答花多少 token,实际表现为做事有多仔细:思考多深、工具调用多不多、解释写得多完整。Anthropic 的诊断问题是:Claude 做错时,是不够懂,还是不够用力。漏看文件、没跑测试、没复查,通常该提高 effort;上下文已经给足,也确实认真做了,仍然失败,才该换更高的模型档位。
写代码该用哪个 Claude 模型? Claude Opus 5 是代理式编码的合理默认值。Anthropic 文档建议复杂代理式编码和企业级工作从它开始,它也是 Claude Max 的默认模型。常规和机械任务用 Claude Sonnet 5,因为速度和成本更重要,价格是每百万 token $3/$15,低于 Opus 5 的 $5/$25。最难、最长的任务再用 Claude Fable 5,价格是 $10/$50;Anthropic 说它能完成 Opus 和 Sonnet 在任何 effort 档位都够不到的工作,这才是付双倍价格的理由。Claude Haiku 4.5 是 $1/$5,适合高频简单任务,而且它是当前唯一完全没有 effort 参数的模型档位。
五个 effort 档位分别做什么?
low 最省 token,但会损失一部分能力;Anthropic 举的典型用途是子代理。medium 是均衡降档,省一些 token。high 是默认值,显式设置 high 和不写参数完全一样。xhigh 面向超过 30 分钟、token 预算达到百万级的长时间代理式编码任务。max 是最高能力,没有 token 花费约束。effort 影响回答里的所有 token,不只是思考,所以低档位也会带来更少的工具调用和更短的总结。它是行为倾向的信号,不是硬性的 token 预算:在 low 上,Claude 遇到真正困难的问题仍然会思考,只是比 high 少。
在 Claude Code 里怎么修改 effort?
/effort 会打开交互滑块,/effort <level> 可以直接设置,/effort auto 会回到模型默认值。/model 里面也有 effort 滑块,可用左右方向键调整。启动时可以用 --effort 给当前会话设置。设置文件里的 effortLevel 接受 low、medium、high、xhigh;max 只能在会话里使用,不能写进设置。技能和子代理的 frontmatter 可以设置 effort。CLAUDE_CODE_EFFORT_LEVEL 环境变量优先级最高,其次是当前激活的技能或子代理 frontmatter,然后是会话级设置,最后是模型默认值。会话头部会在模型名旁显示当前档位。
同名 effort 档位在每个模型上含义一样吗?
不一样。Anthropic 说明 effort 刻度会按模型校准,所以同一个档位名不代表跨模型的同一个底层值。Claude Sonnet 5 的 medium 大致相当于 Claude Sonnet 4.6 的 high;Claude Fable 5 的低 effort 档位也经常超过上一代模型的 xhigh 表现。支持情况也不一致:Claude Opus 4.6 和 Claude Sonnet 4.6 没有 xhigh。如果请求了模型不支持的档位,Claude Code 会静默回退到不高于请求值的最高支持档位,所以在 Opus 4.6 上请求 xhigh 会无报错地跑成 high。Claude Haiku 4.5 完全不支持 effort 档位。
这篇对你有帮助吗?