大数跨境

Claude 模型怎么选:Fable、Opus、Sonnet 还是 Haiku

Claude 模型怎么选:Fable、Opus、Sonnet 还是 Haiku AINLP
2026-11-13
2
导读:官方指南

Claude 的模型越来越多,该从哪款用起,什么时候值得升级?Addy Osmani 在 Claude 开发者博客里,把 Fable、Opus、Sonnet、Haiku 的任务分工、费用和混用方法放在一起讲清楚了。以下是全文翻译。


该选哪款 Claude 模型,各自要花多少钱,又该怎样搭配使用。

当前 Claude 产品线有四款普遍可用的模型:Claude Haiku 5.5、Claude Sonnet 5.5、Claude Opus 5.5 和 Claude Fable 5.2。Claude Mythos 5.2 是我们在网络安全和生命科学研究领域能力最强的模型,可通过我们的验证计划获取。

如果你在 Claude Platform 上开发,或者使用 Claude Code,可能会想:日常这些任务,到底应该选哪款模型?本文会回答这个问题,也会介绍该怎样考虑其中的取舍。

视频A:同一张小巷照片,分别由 Claude Haiku 5.5、Sonnet 5.5、Opus 5.5 和 Fable 5.2 用代码绘制。每幅图都来自模型编写的 Python 程序,它调用的绘图引擎也由模型编写。演示展示了从第一层到完成的过程。演示作者:Lance Martin。

先说结论

简短的答案是:大多数工作,都可以先用 Opus 5.5,并把 effort 设为默认的 medium。

它成为 Claude Code 的默认模型是有原因的。它的输入和输出 token 单价都是 Fable 5.2 的一半;对于大多数编程和知识工作,我们都建议从它开始。

在此基础上:

  • 范围清楚的日常工作,可以降到 Sonnet 5.5,比如修复 bug,或按明确规格开发功能。不过,规格清楚并不意味着一定该用 Sonnet。迁移或性能优化即便有清晰规格,仍可能难到需要 Opus 5.5;规模较大的任务,甚至需要 Fable 5.2。
  • 最简单、调用量又大的工作,可以进一步降到 Haiku 5.5,比如分类、路由和信息提取。让子 Agent 分担大模型的辅助任务时,Haiku 5.5 也很合适。
  • 编程、金融和科学领域最困难的技术项目,可以升到 Claude Fable 5.2。当 Opus 5.5 开到 high 仍达不到要求,或者需要长时间无人值守运行时,也可以升级。

换模型之前,先试着调整 effort。对于成本和能力,它是一个更细的调节旋钮。超过 high 后,再升一级的成本,可能已经相当于换用更大的模型,所以两种方案都应放到自己的工作上比较。如果已经超过 high,不妨试试更高一档模型配较低的 effort。反过来,effort 降一级,也可能以更低的费用拿到你需要的结果。

模型需要更长时间思考、调用更多工具,或者更充分地检查自己的工作时,提高 effort 会有帮助。但也要记住,这会增加延迟。另外,提高 effort 并不会赋予模型原本不具备的知识或技能。要补上这部分能力,仍然需要换更强的模型。

按任务选模型

任务
起步模型
起步 effort
原因
日常工程与调试,跨多个 PR 的功能开发
Opus 5.5
medium
(默认),再按需升到 high
在日常任务的成本与能力之间取得平衡。
分类、路由、打标签和大批量信息提取
Haiku 5.5
medium
(默认)
模型家族中成本和延迟最低。
搜索文件、读取日志或生成摘要的子 Agent
Haiku 5.5 或 Sonnet 5.5
模型默认值
错误容易被发现,而需要判断的部分仍由主模型处理。
聊天和交互会话
Sonnet 5.5;大量简单聊天也可用 Haiku 5.5
low
 或 medium
Sonnet 5.5 速度快,尤其是在 low 或 medium 下。
范围清楚的编程任务,例如修 bug、迭代功能和按规格开发
Sonnet 5.5
medium
,较难时再升到 high
擅长边界清楚的任务,token 单价是 Opus 5.5 的一半。
日常文档、幻灯片和电子表格
Sonnet 5.5
high
(默认;Claude Code 中为 medium)
迭代快,也有较强的设计能力。复杂财务模型,或基于大量来源材料制作的文档,应从 Opus 5.5 开始。
反复执行的 Agent 任务,例如调查、审查或起草
Sonnet 5.5
medium
定义清楚、重复执行的任务,很少需要更大的模型。
电脑操作和大量依赖视觉的工作流
Opus 5.5
medium
这类任务会围绕大量截图和图片运行很长的 Agent 循环,正是 Opus 5.5 面向的长程工作。
大型重构与迁移、架构规划,以及统筹多个子 Agent
Fable 5.2
medium
,再升到 high(API 默认是 high)
这是 Anthropic 在技术领域能力最强的普遍可用模型。
深度研究,以及科学或定量分析
Fable 5.2
medium
,再升到 high(API 默认是 high)
面向编程、金融和科学领域最困难的技术项目。
你还不确定
Opus 5.5
medium
(默认)
Claude Code 在 Pro、Max、Ultra、Team、Enterprise 及 Anthropic API 上默认使用它,平台文档也建议以它为起点。

四款模型放在一起看

对比项
Haiku 5.5
Sonnet 5.5
Opus 5.5
Fable 5.2
定位
高调用量、成本敏感的任务
快速处理范围清楚的任务
复杂编程与知识工作的日常主力
难度最高、开放性最强的技术工作
相对延迟
最低
低
中等
中等
每百万 token 的输入/输出价格
提示词不超过 100K token:$0.10/$0.50;超过 100K:$0.50/$2.50
$2/$10
$4/$20
$8/$40
每百万 token 的缓存读取价格
不超过 100K:$0.01;超过 100K:$0.05
$0.10
$0.20
$0.20
上下文窗口
1M token
1M token
1M token
1M token
最大输出
128K token
128K token
128K token
128K token
API 中的思考模式
自适应,默认开启,可以关闭
自适应,默认开启;between_tools 跳过最开始的思考
自适应,始终开启
自适应,始终开启
API 默认 effort;Claude Code 可能不同,可用 /effort status 查看
medium high
;Claude Code 中为 medium
medium high
;Claude Code 中为 medium
快速模式
无
无
有
有

以上为 Claude API 的公开标价。基准测试结果可参阅 Fable 5.2 产品页。


视频B:Claude Fable 5.2、Opus 5.5、Sonnet 5.5 和 Haiku 5.5 分别构建同一个作品集网站,并排展示结果。演示作者:Addy Osmani。

需要权衡什么

选模型就是在做取舍。例如,选择更大的模型,就是把能力放在延迟之前。下面是需要考虑的主要取舍。

能力与完成任务的成本

通常,更大的模型 token 单价更高,能力也更强。但具体到一项任务,成本与能力之间并不总是这样的关系。

token 单价更高,并不一定意味着单个任务的成本更高,或者结果更好。我们在《Spending your effort》中展示过:在 Anthropic 运行的 Terminal-Bench 3.0 测试里,上一代 Fable 5.1 在 max 下得分为 58.0%;Opus 5.5 在 high 下得分为 58.9%,消耗的 token 却只有一半。

在最难的工作上,价格差距可能缩小。FrontierCode 2.0 上,Fable 5.2 在 high 下的得分与 Opus 5.5 在 max 下大致相当,分别为 45.3% 和 45.5%,但前者每个任务的成本约为后者的一半。所以,面对困难任务,在把 Opus 5.5 提高到 high 以上之前,先测试 Fable 5.2。日常工作仍然适合从 Opus 5.5 的 medium 开始。基准测试结果可参阅发布文章。

不过,Claude Platform 的成本与智能水平测量也显示了小模型的局限。它们通常适合输出可检查的大批量工作,不太适合很长的 Agent 循环。

比较两款模型时,除了典型任务,也要给任务集中最难的那些任务算一笔账,因为它们可能占掉大部分开销。在一项包含 20 道题的搜索基准中,两道题就占了 43% 的费用。

视频 C:Fable 5.2 展示游戏引擎怎样构建世界。它用 16 种风格绘制同一个 3D 场景,从线框、像素画到光线追踪,并标注每种技术。演示作者:Dan Fein。

延迟与准确率

更快的配置会更早完成任务,也可能漏掉更多东西。选择模型和 effort 之前,先想清楚用户能等多久。对于需要用户等待的回复,可以先从 Sonnet 5.5 的 low 或 medium 开始。

新一代模型通常比上一代更快。Fable 5.2 的输出生成速度比 Fable 5.1 最高快 30%;Sonnet 5.5 的运行速度比 Sonnet 5 快 30%。

effort 与延迟大体相关。你需要判断,准确率的提升是否值得额外等待。例如,在 SWE-bench Pro 上,Opus 5.5 的 medium 比 high 低约 2.5 个百分点,成本约为 high 的 70%;low 低约 8 个百分点,成本约为三分之一;xhigh 高约 1.4 个百分点,成本则是 high 的 2.5 倍。

很多时候,给模型提供自我验证的办法,比调整 effort 更划算,增加的延迟也更少。当模型还不能胜任任务时,按以下顺序尝试:

  1. 确认模型能检查自己的工作,例如运行测试、执行构建,或运行调用目标端点的脚本。
  2. 把 effort 提高一级。
  3. 换到更高一档模型,起步 effort 设得比之前的小模型低一些。

如果可以自动检查结果,可以先把所有任务都设为较低的 effort,只把失败的任务拿到较高的 effort 重跑。在同一个 SWE-bench Pro 子集上,Opus 5.5 先用 low,失败后再用 high,通过了约 97% 的任务,每个任务约 $0.17;所有任务一开始就用 high,通过率为 95.3%,每个任务 $0.29。

如果想让同一款模型更快回复,也可以付费换速度,而不是牺牲能力。在 Claude API 上,Opus 5.5 和 Fable 5.2 都提供快速模式,以更高价格换取更快的输出。

上下文与成本

这一代的所有模型都有 1M token 上下文窗口。大上下文有助于模型完成任务,但每一轮都要重新发送,因此每一轮都会产生费用。不过,在长时间运行中,大部分输入会按缓存读取计费。

Opus 5.5 每百万 token 的缓存读取价格为 $0.20,Sonnet 5.5 为 $0.10。Fable 5.2 同样是 $0.20,因此在大量依赖缓存的长时间运行中,Fable 与 Opus 的差价主要来自未缓存的输入和输出:这两项上,Fable 的 token 单价都是两倍。

《What a task costs on Opus 5.5》中算过,上下文为 150K token 时,一轮缓存读取约 $0.03;20K token 时约 $0.004。

由此可以得到一个启示:主模型越大,保持主上下文精简就越重要。把昂贵模型的上下文留给决策,让便宜的子 Agent 承担大量阅读。

Haiku 5.5 是唯一一款 token 单价随提示词长度变化的模型。不超过 100K token 的提示词按较低档计费,超过 100K 则按五倍的费率计费。即使进入长提示词档,它的 token 单价仍只有 Sonnet 5.5 的四分之一。因此,Haiku 5.5 在短提示词上的成本优势最大,输入单价只有 Sonnet 5.5 的二十分之一。

每次调用都需要很长的提示词时,比较 Haiku 5.5 和 Sonnet 5.5,应看完成一个任务的成本,而不是价目表上的单价。

搭配使用不同模型


视频D:一个项目、四款模型,各负责一种工作。Claude Fable 5.2 把在线商店从 JavaScript 迁移到 TypeScript,Opus 5.5 开发月度订阅功能,Sonnet 5.5 编写产品页,Haiku 5.5 给客户消息分类。Fable 5.2 的新代码就位后,Opus 5.5 才开始开发自己的功能。演示作者:Dan Fein。

在自然的阶段节点切换

提示词缓存属于创建它的模型。切换模型后的第一轮,整段对话都要按缓存写入价格计费。要缩小这一轮的输入,可以先在 Claude Code 中运行 /compact,或开启新会话,并提供一份简短的书面计划。使用 API 时,让新模型的对话从此前工作的摘要开始,而不是带上完整历史。

每个思考块都会记录生成它的模型,而每款模型只能读取部分其他模型的思考块。在 Claude API 和 Claude Models on Google Cloud(Google 托管)上,Opus 5.5 可以读取 Sonnet 5.5 和 Haiku 5.5 的思考块;Sonnet 5.5 可以读取 Haiku 5.5 的;Fable 5.2 可以读取 Opus 5.5、Sonnet 5.5 和 Haiku 5.5 的。在 Claude API 上,Fable 5.1 可以读取 Opus 5.5 的思考块。

降一档会丢失先前的推理,因为模型不会读取比自己更高一档模型的思考块。其他切换也可能丢失。当新模型无法读取原模型的思考块时,API 会丢弃这些块,但请求仍会成功。新模型随后就在没有这些推理的情况下继续工作。

《Preserved thinking》文档列出了所有情况。从 Fable 5.2 切换到其他任何普遍可用模型,都会丢失它的推理。

让子 Agent 使用较小的模型

子 Agent 在自己的上下文窗口里运行,最后返回摘要。它消耗的 token 按所用模型的价格计费。在 Claude Code 中,可以在子 Agent 定义里设置 model: haiku 或 model: sonnet。环境变量 CLAUDE_CODE_SUBAGENT_MODEL 则为未指定模型的子 Agent 设置默认值。

将下面的内容保存为 .claude/agents/log-reader.md:

---
name: log-reader
description: Reads test output and logs, and reports each failing case. Use after a test run.
tools: Read, Grep, Glob, Bash
model: haiku
---

Read the logs you're given. For each failure, report the file, the test name and the first error line. Don't edit any files.

让小模型做错误容易被发现的工作,例如查找文件、运行测试和阅读日志。代码修改和需要判断的部分,留给主模型。小模型如果误读了搜索结果,主模型可能就会打开错误的文件,并继续在上面消耗 token。

视频E:用户指定一个图层,比如高程、自行车路线、雾或温度。Opus 5.5 规划任务,多个并行运行的 Haiku 5.5 子 Agent 在同一张地图上绘制各自的部分。温度只是示意,雾是视觉表现,不是天气预报。地图数据 © OpenStreetMap 贡献者;高程数据来自 USGS 3DEP 激光雷达。演示作者:Lance Martin。

当前版本的 Claude Code 中,内置 Explore 子 Agent 使用会话所选模型,不再总是使用 Haiku。在 Claude API 上,它最高使用 Opus。要降低探索成本,可以自行定义一个名为 Explore 的子 Agent,并设置 model: haiku。还可以用 ANTHROPIC_DEFAULT_HAIKU_MODEL 固定 haiku 别名实际指向的模型。

在 Anthropic API 上,haiku 别名现在指向 Haiku 5.5,需要 Claude Code v2.1.293 或更新版本。在 Amazon Bedrock、Google Cloud、Microsoft Foundry 和 Claude Platform on AWS 上,它仍指向 Haiku 4.5。具体情况可参阅 Claude Code 的模型配置文档。

Claude Code 还有 opusplan 别名:在规划模式中用 Opus 制订计划,再由 Sonnet 执行。这意味着代码修改会由 Sonnet 完成。上面的建议恰好相反:把代码修改留给主模型,只让较小的模型做那些错误容易被发现的工作。将 opusplan 设为默认之前,先在自己的任务上测一测。

把困难决策交给顾问

顾问工具(advisor tool,beta)把速度更快、价格更低的执行模型与更强的顾问模型配在一起。执行模型负责运行任务,也可以在执行过程中向顾问求助。大部分 token 按执行模型的价格计费。只有顾问能补上执行模型缺少的能力,而且执行模型确实去咨询时,它才有帮助;effort 较低时,执行模型求助的频率也更低。

可能划算的场景,是大部分步骤都比较常规的 Agent 工作。平台成本指南对此持谨慎态度:顾问配对表中的四种组合,没有一种明显优于单独使用执行模型,而顾问也只有在被咨询时才帮得上忙。先测量执行模型实际向顾问求助的频率,也要检查它支持哪些顾问。例如,Sonnet 5.5 执行模型支持 Fable 5.2、Opus 5.5、Opus 5 和 Sonnet 5.5;Fable 5.2 执行模型只支持 Fable 5.2 或 Mythos 5.2。

收益有限的一个例子,是在一项内部编程基准上,让 Opus 5.5 执行模型使用 high,搭配 Fable 5.1 顾问。它的得分为 90.1%,每次尝试花费 $2.92,比单独使用 high 的 Opus 5.5 高 1.7 个百分点,费用却约为 2.1 倍。这样的增益接近不同运行间的波动幅度,也大致相当于提高 effort 所能带来的提升。

把大批量工作交给便宜的执行模型

前面说的子 Agent 模式,是由一个主模型保持整体线索,子 Agent 处理辅助任务。这里的模式则面向一个上下文窗口容纳不下的工作:由顶级模型统筹、拆分任务,把各部分并行交给许多更便宜的执行模型,再合并结果。在一项涉及约 2200 万 token 源代码的内部缺陷搜索基准中,Opus 5.5 统筹 Sonnet 5.5 执行模型,最多同时运行 25 个,成本比单独使用默认 effort 的 Opus 5.5 低约三分之一,得分大致相同。

在 Claude Platform 上,Claude Managed Agents 的多 Agent 编排提供一个协调 Agent 和一组执行 Agent。如果工作只有一条相互依赖的步骤链,或者一个上下文窗口就放得下,就不必使用它。这种情况下,规划和合并结果花的钱,会超过省下来的钱。《When to fold subagents into your main agent loop》讨论了什么时候一个 Agent 循环比子 Agent 团队更合适。

迁移前检查兼容性

选模型主要是在权衡能力与成本,但并不是任何时候都只改一个模型名称就行。这一代的所有模型都支持工具调用和图片输入,不过在把请求从一个模型迁到另一个模型之前,有些差异需要测试。

  • Fable 5.2 将思考保留(preserved thinking)扩展到了所有 API 账户。如果 Fable 5.2 某个思考块之前的任何内容发生变化,包括系统提示词、工具或更早的消息,API 都会返回 400 错误,除非你明确选择丢弃受影响的思考。如果通过 Claude Code、Claude Agent SDK 或 Claude Managed Agents 构建请求,就不需要改动。如果自己的代码会编辑历史,应保持只追加的方式,并在切换前测试。
  • 思考模式。Opus 5.5 和 Fable 5.2 始终开启思考,关闭思考的请求会报错。Sonnet 5.5 默认思考,between_tools 会把思考限制在工具调用之间的间隙。Haiku 5.5 默认思考,在 high 或更低的 effort 下可以关闭。使用任何一款模型时,都应按 type 读取内容块,因为响应开头可能是思考块。
  • 强制工具调用。在 Sonnet 5.5、Opus 5.5 和 Fable 5.2 上,将 tool_choice 设为 any 或 tool 会返回 400 错误。应发送 auto,给工具标记 strict: true,并在提示词中说明何时使用它。
  • 电脑操作。Opus 5.5、Sonnet 5.5、Haiku 5.5 和 Fable 5.2 仅通过 Claude API 和 Claude Models on Google Cloud(Google 托管)上的 computer_toolset_20260801 工具集支持电脑操作。
  • 从 Haiku 4.5 迁移到 Haiku 5.5。用 effort 等级替换 budget_tokens,删除非默认的 temperature、top_p 和 top_k 值,否则会返回 400 错误。让 messages 以用户轮次结尾;如果最后一轮是让模型继续补写的 assistant 消息,也会返回 400 错误。
  • 安全回退。Opus 5.5、Sonnet 5.5 和 Fable 5.2 都有安全分类器,最常标记网络安全和生物学内容。在 Claude Code 中,被标记的请求可能会在较旧模型上重新运行,对话记录会提示实际用了哪款模型。Fable 5.2 沿用 Fable 5.1 的回退模型:被标记的网络安全请求回退到 Opus 4.8,生物学请求回退到 Opus 5。

如果同一个系统运行多款模型,就按其中要求最严格的那款构建所有请求:历史只追加,发送 tool_choice: auto 并使用严格工具,按 type 读取内容块,提示词和工具描述也要精确到足以让最按字面理解的模型正确执行。这样,某个步骤升档或降档时就不需要改代码。如果路由规则很简单,比如每种步骤固定对应一款模型,就让代码选模型,不要再请模型来选。

在自己的工作上测量

公开结果,比如前面的 SWE-bench Pro 和 Terminal-Bench 数据,只能帮助你确定一个起步模型。真正选定之前,还要在自己的任务上测试候选方案。

  1. 抽取一批真实任务,为每个任务写好结果检查,例如测试通过、工单关闭,或行数正确。
  2. 每款候选模型测试两到三个 effort 等级,每次使用独立会话,避免运行之间共享缓存。从每个响应的 usage 字段记录完成任务的成本。
  3. 把得分与花费画在一张图上。只有当多模型方案优于图中每一个单模型方案时,才保留它。
  4. 正式切换之前,先把胜出的方案放到一部分真实流量上做影子运行。

想在 Claude Code 中快速检查,可以从待办里挑一个任务,用 /model 分别选择两款模型运行,再比较 /usage 报告。

延伸阅读

  • 《Building with Claude Sonnet 5.5》介绍何时应选 Sonnet 而不是 Opus,以及价格、迁移和调优。
  • 《Getting the most out of Opus 5.5 in Claude and Claude Code》介绍 Opus 5.5 的提示方法,以及怎样引导长时间运行。
  • 《What a task costs on Opus 5.5》分析 effort、模型选择和子 Agent 的费用。
  • Claude 博客中的《Choosing the best Claude model for your use case》和《Picking a model and effort level in Claude Code》有更深入的讨论。
  • 文档部分可参阅《Choosing a model》《Optimizing for cost and intelligence》《Effort》,以及 Claude Code 的模型配置和子 Agent 文档。

参考链接

  • 原文:https://claude.dev/blog/which-claude-model-should-you-build-with/
  • Fable 5.2 产品页:https://www.anthropic.com/claude/fable
  • 怎样分配 effort:https://claude.dev/blog/spending-your-effort/
  • Fable 5.2 与 Mythos 5.2 发布文章:https://www.anthropic.com/claude-fable-and-mythos-5-2
  • 成本与智能水平优化:https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence
  • 快速模式:https://platform.claude.com/docs/en/build-with-claude/fast-mode
  • Opus 5.5 长上下文编程会话:https://claude.com/blog/claude-opus-5-5-built-for-coding-sessions-that-use-more-context
  • Opus 5.5 完成任务的成本:https://claude.dev/blog/what-a-task-costs-on-opus-5-5/
  • 思考保留:https://platform.claude.com/docs/en/build-with-claude/preserved-thinking
  • Claude Code 模型配置:https://code.claude.com/docs/en/model-config
  • 顾问工具:https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool
  • 多 Agent 编排:https://platform.claude.com/docs/en/managed-agents/multiagent-orchestration
  • 何时把子 Agent 并入主 Agent 循环:https://claude.com/resources/articles/building-agents-when-to-fold-subagents-into-your-main-agent-loop
  • 使用 Claude Sonnet 5.5 开发:https://claude.dev/blog/building-with-claude-sonnet-5-5/
  • 充分发挥 Opus 5.5 的能力:https://claude.dev/blog/getting-the-most-out-of-opus-5-5/
  • 按用途选择 Claude 模型:https://claude.com/blog/claude-models-explained-choosing-the-best-model-for-your-use-case
  • 在 Claude Code 中选择模型与 effort:https://claude.com/blog/claude-model-and-effort-level-in-claude-code
  • 模型选择:https://platform.claude.com/docs/en/about-claude/models/choosing-a-model
  • 成本与智能水平优化:https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence
  • effort 设置:https://platform.claude.com/docs/en/build-with-claude/effort
  • Claude Code 子 Agent:https://code.claude.com/docs/en/sub-agents

【声明】内容源于网络
0
0
AINLP
一个有趣有AI的自然语言处理公众号:关注AI、NLP、大模型LLM、机器学习、推荐系统、计算广告等相关技术。公众号可直接对话双语聊天机器人,尝试对对联、作诗机、藏头诗生成器、自动写作等,查询相似词,测试NLP相关工具包。
内容 6120
粉丝 0
AINLP 一个有趣有AI的自然语言处理公众号:关注AI、NLP、大模型LLM、机器学习、推荐系统、计算广告等相关技术。公众号可直接对话双语聊天机器人,尝试对对联、作诗机、藏头诗生成器、自动写作等,查询相似词,测试NLP相关工具包。
总阅读40.5k
粉丝0
内容6.1k