跳到正文
OpenRouter Announcements·· 2 小时前AI 评分58

OpenRouter 实测 Claude Opus、Sonnet、Haiku 5.5 该如何选

Claude Opus vs Sonnet vs Haiku: Which Should You Use?

AI 导读

OpenRouter 用 11 个隐藏测试编码任务和 Claude Code 修 bug 任务对比 Claude Opus 5.5、Sonnet 5.5、Haiku 5.5,三者在所有测试中全部通过,差异主要在成本。

正文 · AI 翻译

将 Claude Sonnet 5.5 作为你的默认模型,Claude Haiku 5.5 用于高并发和子代理任务,而当任务耗时长、存在歧义或出错代价高昂时,则使用 Claude Opus 5.5。

对大多数团队来说,选择是在 Opus 和 Sonnet 之间,问题在于 Opus 是否值 Sonnet 每 token 价格的两倍。在我们测试的编码任务上,并不值。我们给每个模型相同的 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 的十二分之一到十六分之一。
  • 将 Opus 5.5 保留给耗时长、存在歧义且出错代价高于 token 成本的任务。我们的短任务无法排除它在这方面的优势。
  • 我们的任务不是你的任务。在做出选择之前,用 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.5Sonnet 5.5Haiku 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.656.043.4
GPQA Diamond(我们的运行)90.4%92.4%86.6%
τ-bench 航空(我们的运行)75.5%78.7%76.0%
OpenRouter 上的 token 量,10 月 12 日至 18 日6.18T2.45T2.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 上,Sonnet 的得分也更高,这是一个多轮客服智能体基准测试(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 的两倍半。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 任务,每个都有一个隐藏测试文件。八个日常任务是解析时长、合并区间、LRU 缓存、不使用 eval 的算术求值器、cron 表达式的下次运行时间、自动换行、语义化版本排序顺序,以及 JSON 路径读取器。三个困难任务是不使用 re 模块的正则引擎、带三值 NULL 逻辑的 SQL WHERE 过滤器,以及夏令时转换日跨时区的空闲日历时段。每个模型对每个日常任务回答两次,对每个困难任务回答三次,使用模型的默认设置,每个模型共 25 次尝试。

指标Opus 5.5Sonnet 5.5Haiku 5.5
通过的尝试次数25/2525/2525/25
每个日常任务成本$0.0211$0.0112$0.0007
每个困难任务成本$0.0739$0.0380$0.0027
每个困难任务耗时(秒)32.125.722.6

Haiku 使用的推理最多,却仍最快完成困难任务。在困难任务上,它平均使用 3,202 个推理 token,而 Opus 为 1,252 个。推理 token 是模型在写出答案之前用于思考问题的 token。即使有额外的推理,Haiku 每个困难任务的成本也只有 Opus 的二十七分之一。

Claude Code 中的缺陷修复

我们给 Claude Code 一个小型发票库,其中包含三个缺陷和五个测试。缺陷分别是:使用银行家舍入法(四舍六入五成双)的舍入、在引号内按逗号拆分的 CSV 解析器,以及用覆盖数量而不是累加数量的汇总。我们通过 OpenRouter 对每个模型运行三次,使用 ANTHROPIC_MODEL 环境变量选择模型。

指标Opus 5.5Sonnet 5.5Haiku 5.5
修复全部三个缺陷的运行次数3/33/33/3
每次会话成本中位数$0.098$0.062$0.0052
轮次556 到 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,请改为在你的 Activity 页面 上查看支出,如果需要设置上限,请使用我们的 支出控制。

这些是规模小、定义明确的任务。在这些任务上,三个层级同样可靠,而它们的成本差异很大。它们并不涵盖 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 之外,我们的 Subagent 服务器工具 允许较大的模型将自包含的任务交给较小的模型。
  • 对于出错代价高昂的长时间任务,请使用 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 上,对于 100,000 个 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 更改主模型,并用上述环境变量设置每个角色。

后续步骤

来源:OpenRouter Announcements · openrouter.ai