Choosing a Claude Model and Effort Level in Claude Code(在 Claude Code 中选择模型与 effort 级别)
- 原文标题
- Choosing a Claude Model and Effort Level in Claude Code(在 Claude Code 中选择模型与 effort 级别)
- 原文链接
- https://claude.com/blog/claude-model-and-effort-level-in-claude-code
- 作者
- Lydia Hallie(Claude Code 团队)
- 发布日期
- 2026-07-07
🎯 一句话
模型决定能力上限,effort(思考预算)决定这次用多少力气。⭐ 很多人只会换模型,忽略了 effort——而「同一个模型 + 更高 effort」常常比「换更强的模型」更划算。
控制 Claude 输出质量有两个独立的旋钮:模型选择(决定能力上限)和 effort 级别(决定投入的彻底程度)。两者不可互换——理解各自的作用才能同时优化效果和成本。
模型选择 = 能力,不是上下文
模型选择决定的是「用哪一组冻结的权重」处理你的请求。训练时模型学习模式并把知识编码进参数;推理时这些权重是只读的。你的提示词能引导模型,但无法扩展它的底层知识。
- 更大的模型(如 Fable)适合真正困难的问题:隐蔽的 bug、不熟悉的领域、架构决策
- 更小的模型(如 Sonnet)擅长常规工作:精确编辑、机械性改动、熟悉的代码
「如果 Claude 已经拿到了全部相关上下文、明显认真尝试过但仍然做错了,这就是该换更大模型的信号。」
Effort 级别 = 彻底程度与工作范围
与直觉相反,effort 不只是「思考时间」。它控制的是 Claude 整体投入多少工作——读多少文件、用多少工具、做多少验证步骤。更高的 effort 会在思考、工具调用和解释上产生更多 token,然后才回来找你确认。
Effort 是模型权重中习得的行为;该设置随每次请求传递,效果类似提示词的一部分。
决策框架
Claude 没做好时,先问:是知识不够,还是投入不够?
| 症状 | 该调什么 |
|---|---|
| 跳过了文件、跳过了测试、任务做一半就放弃 | 提高 effort |
| 上下文完整却自信地做错了 | 换更大的模型 |
默认 effort 级别代表大多数人希望 token 消耗落在的位置。把 effort 当作总体偏好来设置,而不是逐任务调整。
形象类比
- Fable = 专科医生(specialist)
- Opus = 专家(the expert)
- Sonnet = 非常好的通才(really good generalist)
Effort 级别决定各自愿意在你的问题上花多少时间。
成本动态
Token 消耗随任务复杂度变化,结论并不直观: - 常规工作: 小模型 + 默认 effort 最省钱 - 复杂工作: 大模型虽然单价高,但因为步骤更少就能到达解,总成本反而可能更低
结语
「先用默认值,再去拧旋钮。」
大多数工作不需要调整。只有结果不理想时才系统性诊断——而且要先确认上下文和任务表述本身没问题,再去动模型和 effort。
✅ 检查点
- 模型和 effort 分别控制什么?
- 什么情况下该调 effort 而不是换模型?
- 高 effort 的代价是什么?
👀 答案
- 模型决定能力上限(它最好能做到什么),effort 决定这次投入多少思考预算(这次实际用多少力)。⭐ 两者是独立的旋钮。
- ⭐ 当模型偶尔能做对、但不稳定时——这说明能力是够的,缺的是思考深度,调高 effort 通常比换模型便宜且有效。反过来,如果无论试多少次都做不对,那是能力上限问题,才该换模型。
- 延迟和成本都上升,而且不是线性的。⚠️ 更值得注意的是:简单任务上高 effort 不但浪费,还可能变差——模型会把简单问题想复杂,产生过度设计的答案。⭐ effort 要按任务难度匹配,不是越高越好。
🛑 可以停在这里
⚡ 走神救援
⭐两个独立旋钮:模型决定能力上限,effort 决定这次用多少思考预算。⭐⭐很多人只会换模型忽略 effort,但「同一模型+更高 effort」常比「换更强模型」划算。判据:偶尔能做对但不稳定 → 能力够、缺思考深度 → 调 effort;试多少次都做不对 → 能力上限 → 换模型。⚠️代价不只是延迟和成本上升(且非线性),更要注意简单任务上高 effort 不但浪费还可能变差——模型会把简单问题想复杂、过度设计。effort 要按任务难度匹配,不是越高越好。