← 返回全部文章
Field guide · 2026年8月6日 · 11 分钟阅读

Claude 模型档位与 effort(用力档位)指南:每个组合该用在什么任务上

选择 Claude Opus 5 还是 Sonnet 5,是一个决定。把同一个模型跑在 `low` 还是 `xhigh`,是另一个决定;同一任务的 token 花费可能相差约 7×。Anthropic 给出的判断方法很实用:模型决定 Claude 懂多少,effort 决定它多用力。下面把每个模型档位、每个 effort 档位、它们真正适合的任务,以及该拧哪个旋钮的诊断问题一次讲清。

一次 Claude 编程会话上其实有两个旋钮,多数人只拧其中一个。

第一个是模型档位:Claude Fable 5Claude Opus 5Claude Sonnet 5Claude Haiku 4.5。它最显眼,也最容易被讨论。第二个是 effort(用力档位)。它决定同一个模型在这次请求上花多少力气。Anthropic 说,在复杂任务上,只改 effort,不改模型能力,token 花费可能相差约 7×(约 7 倍)

这两个设置彼此独立。把它们混在一起,就会出现两种浪费:本来只需要更认真执行,却换了更贵的模型;或者花 Fable 的价格,处理 Sonnet 本来就能完成的活。本文把地图摊开:每个模型档位、每个 effort 档位、它们分别适合什么,以及每个组合对应的工程场景。事实依据来自 Anthropic 的文档和说明,来源统一放在文末。

30 秒版

  1. 模型 = 懂多少。effort = 多用力。 前者是训练带来的固定能力,后者是这次回答愿意花多少 token。Anthropic 把它们当作两个独立控制项,你也应该这样看。
  2. 最有用的诊断问题来自 Anthropic: Claude 做错时,它是不够懂,还是不够用力?漏看文件、没跑测试、没复查,调高 effort。上下文给足了,也明显认真做了,还是错,换更高模型档位。
  3. 四个模型档位: Claude Fable 5($10/$50)处理最难、最长的任务;Claude Opus 5($5/$25)是代理式编码默认值;Claude Sonnet 5($3/$15)处理常规工作;Claude Haiku 4.5($1/$5)处理高频简单调用。
  4. 五个 effort 档位: lowmediumhigh(默认)、xhighmax。显式设置 high 和什么都不设完全一样
  5. effort 不只是思考。 它会影响所有 token,包括工具调用。低 effort 会让 Claude 做更少工具调用,也省掉铺垫话。所以它比单纯限制思考更适合作为成本控制旋钮。
  6. 档位名不能跨模型硬套。 Anthropic 说明 effort 刻度按模型校准。Claude Sonnet 5medium 约等于 Claude Sonnet 4.6highClaude Haiku 4.5 则完全没有 effort 参数。

四个模型档位

Claude Fable 5Claude Opus 5Claude Sonnet 5Claude Haiku 4.5
价格 /MTok$10 / $50$5 / $25$3 / $15*$1 / $5
上下文窗口1M1M1M200K
最大输出128K128K128K64K
延迟较慢中等最快
知识截止时间Jan 2026(2026 年 1 月)May 2026(2026 年 5 月)Jan 2026(2026 年 1 月)Feb 2025(2025 年 2 月)
effort 档位全部五个全部五个全部五个没有
思考始终开启,不能关闭自适应思考,默认开启自适应思考仅扩展思考
Anthropic 模型概览,2026 年 8 月。*Claude Sonnet 5 在 2026 年 8 月 31 日前使用首发价:每 MTok $2/$10。Claude Fable 5 还要求 30 天数据留存,并且不能用于零数据留存协议;非价格差异见Claude Opus 5 对比 Claude Fable 5

Claude Fable 5:Anthropic 给它的定位是:面向长时间运行代理的下一代智能(原文:“next-generation intelligence for long-running agents”)。付双倍价格的理由不是某个评测多几分,而是 Anthropic 明确说过:Fable 能完成 OpusSonnet 在任何 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 少。

支持情况也不统一。xhighmax 更新,所以有些模型支持 max,但没有 xhigh

模型支持的 effort 档位
Claude Fable 5Claude Opus 5Claude Sonnet 5Claude Opus 4.8Claude Opus 4.7low medium high xhigh max
Claude Opus 4.6Claude Sonnet 4.6low medium high max,没有 xhigh
Claude Haiku 4.5不支持

判断该拧哪个旋钮的问题

Anthropic 的说明里,最有价值的其实是一句话。Claude 做错时,先问:

它是不够懂,还是不够用力

  • 漏看文件、没跑测试、没有复查、过早停下:这是 effort 问题。提高 effort 档位。
  • 上下文已经给足,它也明显认真做了,仍然出错:这是模型问题。换更高模型档位。

这件事搞反了,两边都贵。用 Fable 的价格去补浅层执行问题,是浪费钱;让 Sonnetmax 上硬磨一个它根本解不了的问题,是浪费下午,而且最后还是失败。

每个组合对应什么场景

Anthropic 发布了按模型区分的 effort 建议。下面先保留这套建议,再补上每个组合的具体工程场景。也就是说:推荐来自 Anthropic,例子是我们写的。

Claude Opus 5:从默认值开始,有意识地调整

Anthropic 的建议是:从 high(默认值)开始,再根据自己的评测调整。困难的编码和代理式工作升到 xhigh;任务值得不受约束地花 token 时才用 max。只要质量守得住,就把 lowmedium 当作控制成本和响应时间的主手段。

effort场景
low一个子代理只负责找出所有导入某个模块的文件,并列出清单。范围窄,可验证,不需要判断。
medium熟悉代码库里一个定义清楚的功能:设计已经定了,只剩实现。
high日常默认值:跨几个文件实现改动,跑测试,修掉失败。
xhigh一个要跑三小时的重构,子代理分头扫多个包,代理必须一直记住计划。
max两个人盯了一天还没抓住的隐蔽并发 bug。只把它留给这种事。

Opus 5 上跑 xhighmax 时,max_tokens 也要一起调大。Anthropic 给的起步值是64k 开始,再按实际情况调,这样模型才有足够空间在子代理和工具调用之间思考、行动。同样的建议也适用于 Opus 4.8Opus 4.7

Claude Opus 5 有一个细节要记住:effort 控制思考量,不等于控制可见回答长度。 Anthropic 说明,在 Opus 5 上,改 effort 不一定会让回答可靠变短。想要短输出,要在提示里直接说。另一个限制是:xhighmax 下不能关闭思考;这两个档位里设置 thinking: {"type": "disabled"} 会返回 400。

Claude Sonnet 5:effort 最值钱的地方

Claude Sonnet 5 在 API 和 Claude Code 里都默认 high。它还有 Anthropic 给出的一个很有用的校准点:Claude Sonnet 5medium,大致相当于 Claude Sonnet 4.6high。换句话说,新一代能力可以让你把 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 还有两个自己的限制。第一,思考完全不能关闭:会话开关、alwaysThinkingEnabledMAX_THINKING_TOKENS=0 都不起作用。第二,在 highxhigh 上要把 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:接受 lowmediumhighxhighmax 只能用于会话,不接受写进这里
  • 技能和子代理的 frontmattereffort 字段会在该技能或子代理激活时覆盖会话档位

优先级是:CLAUDE_CODE_EFFORT_LEVEL 环境变量高于一切,然后是当前激活的技能或子代理 frontmatter,然后是会话级档位,最后是模型默认值。当前档位会显示在会话头部的模型名旁边,例如 with low effort,这是确认自己到底跑在哪个档位上最快的方法。

同一个菜单里还有两个东西,但它们不是 effort 档位:

  • ultracode:这是 Claude Code 设置,不是模型档位。它会发送 xhigh,并让 Claude 为子代理编排动态工作流。可通过 /effort ultracodeclaude --effort ultracode 或设置文件里的 "ultracode": true 启用;需要 v2.1.203 或更高版本。它只作用于会话,持久化的 effortLevel 和环境变量都不接受它。如果工作流关闭,它会退化成普通 xhigh
  • ultrathink:把这个词放进任意提示里,就能让当前这一轮请求更深地推理,不会改变会话设置。

模型选择也有自己的简写:sonnetopusfablehaikubest(组织可用 Claude Fable 5 时选它,否则选最新 Opus)、default,以及 opusplanopusplan 会在计划模式用 Opus,执行时换 Sonnet。它本质上是一个双旋钮预设:思考阶段花贵模型,执行阶段用便宜模型。

四个坑

1. 静默降档。 请求模型不支持的 effort 档位时,Claude Code 不会报错,而是回退到不高于请求值的最高支持档位。在 Claude Opus 4.6 上请求 xhigh,实际会静默跑成 high。如果你经常切模型,不要假设设置一定带过去,直接看会话头部。

2. 改 effort 会让提示词缓存失效。 effort 会改变渲染后的提示词,所以两次请求之间改 effort,缓存前缀不能继续复用。Anthropic 的建议很明确:会话开始时选一个档位,然后保持不变;把 effort 用在不同工作负载之间,而不是同一个缓存会话内部来回切。长会话里,这会变成真实账单,叠在你已经要付的 Claude Code 基线 token 开销上。

3. 模型默认值的锁定。 第一次运行 Claude Fable 5Claude Opus 4.8Claude Opus 4.7 时,Claude Code 会套用该模型自己的默认 effort。即使你之前为另一个模型设过别的值,它也会先锁住这个模型默认值,并跨会话保持,直到你显式选择。Claude Opus 5 没有这种锁定,你设过的档位会带过去。所以“我几周前设过 low”不是可靠判断。

4. effort 救不了错模型。 Anthropic 说明里最重要的一句是:Fable 完成了 OpusSonnet 在任何 effort 档位都够不到的工作。有一类问题,把旋钮拧到 max 只是用更多的钱换同一个失败。这时该换模型档位。也正因为如此,前面的诊断问题值得在花钱之前先问一遍。

配套阅读

来源

  1. Anthropic 文档:Effort
  2. Anthropic 文档:Models overview
  3. Claude Code 文档:Model configuration
  4. Anthropic Blog:Choosing a Claude model and effort level in Claude Code
  5. Anthropic 文档:Thinking
  6. 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 说它能完成 OpusSonnet 在任何 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 接受 lowmediumhighxhighmax 只能在会话里使用,不能写进设置。技能和子代理的 frontmatter 可以设置 effortCLAUDE_CODE_EFFORT_LEVEL 环境变量优先级最高,其次是当前激活的技能或子代理 frontmatter,然后是会话级设置,最后是模型默认值。会话头部会在模型名旁显示当前档位。

同名 effort 档位在每个模型上含义一样吗? 不一样。Anthropic 说明 effort 刻度会按模型校准,所以同一个档位名不代表跨模型的同一个底层值。Claude Sonnet 5medium 大致相当于 Claude Sonnet 4.6highClaude Fable 5 的低 effort 档位也经常超过上一代模型的 xhigh 表现。支持情况也不一致:Claude Opus 4.6Claude Sonnet 4.6 没有 xhigh。如果请求了模型不支持的档位,Claude Code 会静默回退到不高于请求值的最高支持档位,所以在 Opus 4.6 上请求 xhigh 会无报错地跑成 highClaude Haiku 4.5 完全不支持 effort 档位。

这篇对你有帮助吗?

相关阅读


文章独立产出 · 编辑政策

继续阅读 →