模型选择 · 完整中文译文
Claude Code 模型怎么选?Opus、Sonnet、Fable 与 Effort 完整选择指南
Choosing a Claude model and effort level in Claude Code
本文为 Claude by Anthropic 官方博客完整中文译文。版权归原作者及 Anthropic 所有;如译文与原文存在差异,请以英文原文为准。
模型:问题难度太高
当问题确实很难时,应选择更大的模型。例如隐蔽的 bug、不熟悉的领域或架构决策。如果无论你提供多少 Context,较小的模型都会自信地给出错误答案,那么更大的模型会很有帮助。
更大的模型也更擅长处理歧义;而对于较小的模型,通过具体指令明确指导执行过程,更容易取得成功。
当工作比较常规时,应选择较小的模型。例如可以精确描述的编辑、机械性修改,或有关已经位于 Context 中的代码的问题。没有理由为任务并不需要的能力付费。
如果 Claude 已拥有所有相关 Context,显然也认真尝试过,但依然答错,这就是应该选择更大模型的信号。如果你正在使用较大的模型,而近期工作一直比较常规,那么切换到较小的模型可以提高速度,通常也能降低成本,同时不会影响输出质量。
Effort:Claude 不够努力
如果 Claude 因为漏看文件、没有运行测试或没有复查自己的工作而出错,请选择更高的 Effort 级别。如果你选择的 Effort 级别低于模型默认值,这一点尤其适用。
Fable、Opus 与 Sonnet:专家型人才、资深专家和通才
我喜欢用这种方式理解这两项设置之间的关系:Fable 是一位见过几乎无人遇到过的问题的专家型人才,Opus 是资深专家,而 Sonnet 是一位非常优秀的通才。Effort 级别决定他们中的任何一位会在你的任务上花费多少时间。
采用 low Effort 的 Opus,就像获得与一位在同类问题上拥有深厚经验的专家交流五分钟的机会。他们能带来代码库中根本不存在的知识:以前见过的模式、知道需要检查的陷阱,以及只有解决过大量类似问题才能积累的经验。不过,只给他们五分钟,意味着他们只能快速浏览你的代码,而无法仔细阅读。
采用 high Effort 的 Sonnet,就像让一位非常优秀的通才用整个下午来处理问题。他们会阅读所有内容、运行程序、复查自己的工作,最终彻底理解你的这份具体代码。他们相对欠缺的是那种“我以前见过一模一样的问题”的识别能力。
Fable 即使采用 low Effort,也像是那位专家型人才扫了一眼其他所有人都束手无策的问题,仍然发现了无人察觉的关键。你支付的最高费用主要就是为了这种识别能力,因此值得把它留给真正需要它的任务。
这些选择没有任何一个在所有情况下都更好。模型设置大致决定能力有多强;Effort 设置大致决定工作有多全面。大多数真实任务对两者都有一定要求。
Effort、模型与 Token 消耗
那么,模型选择、Effort 和 Token 消耗之间究竟如何相互影响?这取决于任务。
对于相同 Effort 级别下的常规工作,两种模型通常都能正确完成。较大的模型会执行额外的验证步骤,从而消耗更多 Token,而且每个 Token 的价格也更高。因此,在长时间处理常规工作时切换到较小的模型,可以在不损失质量的情况下切实节省费用。

曲线仅用于说明,展示的是一项简单到两种模型都能迅速完成的任务。它们并不代表真实的基准测试数据。
对于难度更高、包含多个步骤的工作,情况则有所不同。较小的模型必须在能力极限附近艰难推进,消耗大量迭代,而较大的模型只需更少步骤就能达到同等质量标准。
使用较大的模型时,每个 Token 的费用更高;但对于确实会让较小模型面临能力极限的任务,较大模型的单项任务总成本反而可能更低。更重要的是,较大的模型可以完成一些较小模型即使采用最高 Effort 设置也无法完成的任务。
这一点在 Fable 上最为明显。在耗时较长、包含多个步骤的工作中,它的领先幅度最大。在我们的测试中,它完成了 Opus 和 Sonnet 在任何 Effort 级别下都无法完成的任务。它的每 Token 成本也是最高的,这也是应该把它留给真正需要这类能力的工作的另一个原因。

曲线仅用于说明,展示的是一项难度足以让两种模型都接近能力极限的任务。它们并不代表真实的基准测试数据。
上图的关键在于,Effort 级别决定 Claude 愿意在曲线上走多远;但再次强调,这并不意味着 Claude 为了完成任务一定需要走那么远。
这里还有一个细微之处:Effort 会影响 Token 消耗,但不会限制它。系统中唯一的硬性上限是 max_tokens,达到该上限时,回答会在输出过程中被截断。这是一种比较生硬的手段,主要与 API 开发者相关。更柔性的控制方式会更有帮助,例如任务预算,或在 Prompt 中要求 Claude 保持简洁。这些方式属于模型在训练中学会遵循的指导——如果接近限制,它会设法结束任务——而不是一堵会让模型直接撞上的墙。
从默认设置开始,再按需调节
大多数时候,你都不需要考虑这两项设置中的任何一项。当结果没有达到预期时,请问:“Claude 是能力或知识不足,还是不够努力?”然后根据需要进行调整。
如需了解专门用于提升效率的完整技巧,请参阅最大化 Claude Code 会话的价值。
本文由 Claude Code 团队技术人员 Lydia Hallie 撰写。
