OpenRouter 实测 Claude Opus vs Sonnet vs Haiku 5.5 该选哪个
Claude Opus vs Sonnet vs Haiku: Which Should You Use?
OpenRouter 实测 Claude Opus 5.5、Sonnet 5.5 与 Haiku 5.5 三档模型,建议默认用 Sonnet 5.5,高频与子智能体任务用 Haiku 5.5,长且容错成本高的任务用 Opus 5.5。
原文用同一批编码与基准任务实测三档模型,给出按工作负载选型的成本与可靠性结论。
把 Claude Sonnet 5.5 设为默认模型,高并发和子智能体任务用 Claude Haiku 5.5,任务耗时长、需求模糊或出错代价高时用 Claude Opus 5.5。
对多数团队来说,选择其实是在 Opus 和 Sonnet 之间做,问题在于 Opus 每 token 的价格是 Sonnet 的两倍,值不值。在我们测试的编程任务上,答案是不值。我们给每个模型都安排了同样的 11 个带隐藏测试的编程任务,以及 Claude Code 里同一个修 bug 任务。所有模型全部通过,所以拉开差距的是成本。按任务算,Haiku 比 Opus 便宜 19 到 30 倍,Sonnet 的成本则是 Opus 的一半到三分之二。
这些结果只说明三款模型在我们任务上的表现。要知道哪款最适合你的工作流,唯一的办法是在你自己的工作上测试。Ori Eval 可以帮你做这件事。你问编程智能体哪个模型最适合你的项目,它就会在你的代码里找测试素材、编写评测、运行你想对比的模型,并给出推荐,同时附上分数、耗时和成本。后面讲模型切换的那一节会说明如何让它指向这三个层级。
简要结论
- 把 Claude Sonnet 5.5 作为默认模型。在我们的 GPQA Diamond 和 τ-bench 测试中,它的得分与 Opus 5.5 持平或更高,通过了全部编程测试,而每 token 价格只有一半。
- 高并发和子智能体任务用 Haiku 5.5。它同样通过了全部编程测试,成本只有 Sonnet 的十二分之一到十六分之一。
- 任务耗时长、需求模糊、出错代价高于 token 成本时,保留 Opus 5.5。我们的短任务无法排除它在这类场景下的优势。
- 我们的任务不等于你的任务。选定之前,先用 Ori Eval 在你自己的工作里测试这三款模型。
- 在 OpenRouter 上,三者只差一个模型字符串,Claude Code 还可以为不同角色分别指定不同的模型。
Opus、Sonnet 和 Haiku 有什么区别?
Opus 5.5、Sonnet 5.5 和 Haiku 5.5 是同一代模型的三个层级。Anthropic 于 2026 年 9 月 22 日发布 Opus 5.5,9 月 28 日发布 Sonnet 5.5,10 月 7 日发布 Haiku 5.5。三者都有 100 万 token 上下文窗口,都接受文本、图片和 PDF。它们的主要差异在价格,另外 Haiku 的基准测试分数更低。
| 模型属性 / 指标 | Opus 5.5 | Sonnet 5.5 | Haiku 5.5 |
|---|---|---|---|
| 输入,每百万 token | $4.00 | $2.00 | $0.10 |
| 输出,每百万 token | $20.00 | $10.00 | $0.50 |
| 缓存读取,每百万 token | $0.20 | $0.10 | $0.01 |
| Artificial Analysis 智能指数 | 57.6 | 56.0 | 43.4 |
| GPQA Diamond(我们的测试) | 90.4% | 92.4% | 86.6% |
| τ-bench 航空(我们的测试) | 75.5% | 78.7% | 76.0% |
| OpenRouter 上的 token 量,10 月 12 日至 18 日 | 6.18T | 2.45T | 2.07T |
价格是 2026 年 10 月 21 日我们的标价,来自 Opus 5.5、Sonnet 5.5 和 Haiku 5.5 的模型页面。基准测试各行来自我们的 benchmarks 接口,数据于 10 月 21 日拉取(我们的测试运行于 10 月 17 日)。Artificial Analysis 智能指数是独立基准测试公司 Artificial Analysis 对 10 项评测给出的综合分数。T 表示万亿 token,数据来自我们的每日排名数据集。
Opus 比 Sonnet 更好吗?
在我们跑的基准测试里,Claude Opus 5.5 并没有胜过 Claude Sonnet 5.5。在我们跑的 GPQA Diamond 上 Sonnet 得分更高,这是一组 198 道研究生水平的科学题(92.4% 对 90.4%)。在 τ-bench airline 上它同样更高,这是一个多轮客服智能体基准(78.7% 对 75.5%)。在 Artificial Analysis 指数上 Opus 领先 1.6 分。在我们两次运行中,Sonnet 每个任务的成本都不到一半:GPQA 每题 $0.025,Opus 是 $0.054;τ-bench 每任务 $0.16,Opus 是 $0.34。
10 月 12 日那一周,Opus 5.5 在 OpenRouter 上的 token 用量约为 Sonnet 的 2.5 倍。Opus 还是 Claude Code 在多数套餐下的默认模型,在我们的测试中,没有指定模型时 Claude Code 会通过 OpenRouter 使用 Opus 5.5。如果你没改过模型,那你跑的就是 Opus。
Haiku 够不够格取代 Sonnet?
对于需求明确、常规性的工作,Haiku 5.5 可以取代 Sonnet。它在 τ-bench airline 上得分 76.0%,比 Opus 高半分,比 Sonnet 低 2.7 分,每任务成本 $0.011,约为 Sonnet 的十四分之一。我们每个模型跑了 100 到 200 个任务,所以这个基准上几分之差可能是噪声。在 GPQA Diamond 上 Haiku 落后 Sonnet 5.8 分,在 Artificial Analysis 指数上落后 12.6 分——该指数中智能体任务和通用知识各占 30%,编程和科学推理各占 20%。在常规编程上,我们下面的测试没有发现差距。
我们的编程测试说明了什么?
我们测了两件事:按规格写函数,以及用 Claude Code 修一个代码仓库。三个模型在两项测试中都通过了全部测试。
带隐藏测试的函数
我们写了 11 个 Python 任务,每个都配一个隐藏测试文件。8 个日常任务是:解析时长、合并区间、LRU 缓存、不用 eval 的算术求值器、cron 表达式的下次运行时间、自动换行、语义化版本排序,以及 JSON 路径读取器。3 个困难任务分别是:不用 re 模块的正则引擎、带三值 NULL 逻辑的 SQL WHERE 过滤器,以及夏令时切换日跨时区的空闲日程时段。每个模型对每个日常任务作答两次、每个困难任务作答三次,使用模型默认设置,每个模型共 25 次尝试。
| 指标 | Opus 5.5 | Sonnet 5.5 | Haiku 5.5 |
|---|---|---|---|
| 通过的尝试 | 25/25 | 25/25 | 25/25 |
| 每个日常任务成本 | $0.0211 | $0.0112 | $0.0007 |
| 每个困难任务成本 | $0.0739 | $0.0380 | $0.0027 |
| 每个困难任务耗时 | 32.1 | 25.7 | 22.6 |
Haiku 用的推理最多,却仍然最快完成困难任务。在困难任务上它平均用了 3,202 个推理 token,Opus 是 1,252 个。推理 token 是模型在写出答案之前用于推演问题的 token。即便推理更多,Haiku 每个困难任务的成本也只有 Opus 的二十七分之一。
在 Claude Code 里修 bug
我们给 Claude Code 一个小型发票库,里面有三个 bug 和五个测试。三个 bug 分别是:用了银行家舍入(四舍六入五成双)的舍入逻辑、在引号内的逗号处错误分割的 CSV 解析器,以及用覆盖而非累加数量的汇总逻辑。我们通过 OpenRouter 让每个模型跑了三次,用 ANTHROPIC_MODEL 环境变量选择模型。
| 指标 | Opus 5.5 | Sonnet 5.5 | Haiku 5.5 |
|---|---|---|---|
| 修复全部三个 bug 的运行次数 | 3/3 | 3/3 | 3/3 |
| 每次会话成本中位数 | $0.098 | $0.062 | $0.0052 |
| 轮次 | 5 | 5 | 6 到 8 |
| 实际耗时 | 24 到 30 秒 | 18 到 25 秒 | 22 到 31 秒 |
一轮指会话中的一次模型响应。我们按自己的价格、根据每个会话的 token 数计算会话成本,因为 Claude Code 自己给出的数字对 Haiku 来说是错的。
Claude Code 自己的total_cost_usd 字段不认识我们的 Haiku slug,报告每个会话 0.16 到 0.31 美元,是我们算出的中位数 0.0052 美元的 30 到 60 倍。在 print 模式(claude -p)下,Claude Code 遇到不认识的模型 slug 会记录一条警告。我们通过 Haiku 发一个单词的回复时又看到了它:Claude Code 报告 0.107 美元,而按我们的价格这次请求约花费 0.002 美元。
[claude-code:unrecognized_model] {"model":"anthropic/claude-haiku-5.5","query_source":"sdk"}如果你通过 OpenRouter 运行 Claude Code,请改到活动页面查看支出;如果需要设置上限,请使用我们的支出控制。
这些都是规模小、定义明确的任务。在这些任务上,三个档位同样可靠,成本却相差很大。它们并不覆盖 Anthropic 打造 Opus 所针对的工作,也就是长时间运行的智能体编程与知识工作,在那类工作中出错的代价比 token 更贵。
该用哪一个?
- 如果你想要一个默认选择,就用 Claude Sonnet 5.5。在我们两次基准测试中,它的得分与 Opus 持平或更高,在我们所有测试中也与 Opus 相当,而每 token 价格只有一半。
- 如果你要处理大量请求,比如分类、抽取、子智能体或批量代码修改,就用 Haiku 5.5。它通过了我们给它的每一项测试,成本只有 Sonnet 的 1/12 到 1/16、Opus 的 1/19 到 1/30。把提示词控制在 100,000 token 以内,以保持在较低价格档。在 Claude Code 之外,我们的子智能体服务器工具可以让较大的模型把独立完整的任务交给较小的模型。
- 对于出错代价高昂的长任务,请使用 Opus 5.5。这正是它为之打造的工作,我们的短任务无法排除它在这方面具有优势。
- 如果你分不清自己的工作负载属于哪一类,就按下一节所述,测试你自己的任务,而不是我们的任务。
如何在它们之间切换?
我们通过同一个 API、同一个密钥和同一种请求格式提供这三个模型,所以切换只需改动模型字符串。下面这个循环把同一个提示词发给每个档位,并打印输出 token 数以及我们在每次响应中返回的成本。
import os
import requests
for model in ["anthropic/claude-opus-5.5", "anthropic/claude-sonnet-5.5", "anthropic/claude-haiku-5.5"]:
r = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
json={"model": model, "messages": [{"role": "user", "content": "Write a Python function that merges overlapping intervals."}]},
timeout=300,
)
usage = r.json()["usage"]
print(f"{model}: {usage['completion_tokens']} output tokens, ${usage['cost']:.4f}")这是我们在 2026 年 10 月 13 日运行得到的输出。
anthropic/claude-opus-5.5: 1190 output tokens, $0.0239
anthropic/claude-sonnet-5.5: 876 output tokens, $0.0088
anthropic/claude-haiku-5.5: 852 output tokens, $0.0004用 Ori Eval 把你自己的任务在每个档位上各跑一遍。Ori Eval 测试是 TypeScript 的 *.eval.ts 文件。在同一个文件里把三个 slug 都传给 setupAgent({ model }),同样的测试就会在每个档位上运行。
在 Claude Code 中,你可以让 Opus 负责规划,把常规工作交给更便宜的模型。按我们的设置指南把 Claude Code 指向 OpenRouter,然后为每个角色设置模型。
export ANTHROPIC_DEFAULT_OPUS_MODEL="anthropic/claude-opus-5.5"
export ANTHROPIC_DEFAULT_SONNET_MODEL="anthropic/claude-sonnet-5.5"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="anthropic/claude-haiku-5.5"
export CLAUDE_CODE_SUBAGENT_MODEL="anthropic/claude-haiku-5.5"Claude Code 2.1.307 能识别 Opus 和 Sonnet 的 slug,并给它们 100 万 token 的上下文窗口。它还不认识 Haiku 的 slug,会假定为 200,000 token。要让 Haiku 获得完整窗口,请在其 slug 后加上 [1m]。我们会在路由前去掉这个后缀。不加后缀则会让 Haiku 会话保持在约 200,000 token 以内。
这些变量决定每个名称指向哪个模型,并不改变你实际使用的是哪一个。要把 Sonnet 设为主模型,可在会话中运行 /model sonnet,或在启动 Claude Code 前设置 ANTHROPIC_MODEL=sonnet。要用 Opus 规划、用 Sonnet 写代码,请改为运行 /model opusplan。由于设置了 CLAUDE_CODE_SUBAGENT_MODEL,没有指定自己模型的子智能体会运行在 Haiku 上。
如果你更希望由我们按请求逐个挑选,Auto Router(openrouter/auto)会为每个提示词选择一个模型。用于编程时,Pareto Router 会挑选一个达到你设定的最低编程分数的模型。
常见问题
Claude Haiku 比 Sonnet 便宜吗?
是的。在 OpenRouter 上,对于 10 万 token 以下的提示词,Haiku 5.5 的每输入和输出 token 成本比 Claude Sonnet 5.5 低 20 倍,每百万输入 token 为 0.10 美元,而后者为 2.00 美元。在我们的 Claude Code 运行中,每次会话的差距更小,约为 12 倍,部分原因是 Haiku 需要更多轮次才能达到相同结果。
在编程方面,Sonnet 5.5 比 Opus 5.5 更好吗?
在我们的 Claude Sonnet 与 Opus 编程测试中,两者表现相当。两者都通过了全部 25 次隐藏测试尝试,以及通过 OpenRouter 进行的全部三次 Claude Code 运行,而 Sonnet 更快,成本只有后者的二分之一到三分之二。Opus 在 Artificial Analysis 指数上领先 1.6 分,Anthropic 将其定位为长时间运行的智能体编程,因此对于漫长且模糊的会话,它是更稳妥的选择。
Claude Haiku 适合做什么?
Haiku 5.5 适合高吞吐、定义明确的工作,例如分类、提取、路由、子智能体任务和常规代码修改。在我们通过 OpenRouter 进行的测试中,它通过了所有编程任务,包括正则表达式引擎和 SQL 三值 NULL 逻辑,并在 τ-bench 航空任务上比 Opus 高出半分。
Claude Code 使用哪个 Claude 模型?
根据Anthropic 的模型配置文档,Claude Code 在 Pro、Max、Team、Enterprise 和 Anthropic API 账户上默认使用 Opus 5.5。当你通过 OpenRouter 运行 Claude Code 时,可以用 ANTHROPIC_MODEL 更改主模型,并用上面的环境变量设置每个角色。
后续步骤
- Ori Eval 会在你自己的任务上运行 Opus、Sonnet 和 Haiku,并推荐其中一个。要开始,请给你的编程智能体这条指令:
run curl -fsSL https://openrouter.ai/skills/spawn-ori-eval and follow the instructions in its output to get started。 - 我们的设置指南涵盖按角色配置模型,教程Claude Code with OpenRouter:设置、模型与成本涵盖模型选择和成本。
- Opus 5.5、Sonnet 5.5 和 Haiku 5.5 的模型页面显示当前价格、提供商和正常运行时间。我们的Opus 5.5 vs Sonnet 5.5 对比页面将其中两者并排比较。
- 提示词缓存解释了上表中的缓存读取价格。
- 如果你要从较旧的 Claude 模型迁移,Claude 5.5 迁移指南涵盖了 API 变更。
- 智能体模型的成本与质量权衡框架和模型升级路由的置信度阈值涵盖了何时将请求提升一个层级。
来源:OpenRouter:Announcements · openrouter.ai