跳到正文
原文
OpenRouter:Blog(Announcements)·· 3 天前精选AI 评分63

Claude Opus、Sonnet 与 Haiku 5.5 怎么选,OpenRouter 实测对比

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

文章要点
  • 1OpenRouter 实测三档 Claude 5.5,编码与基准任务全部通过,差距集中在成本而非正确率
  • 2Sonnet 5.5 在 GPQA Diamond 与 τ-bench 跑分中高于 Opus 5.5,每 token 价格仅其一半
  • 3Haiku 5.5 同样通过全部测试,单任务成本为 Opus 的 1/19 到 1/30,适合批量与子智能体任务
  • 4Claude Code 计费字段不识别 Haiku 型号,报出的会话成本比计算值高 30 到 60 倍
决策要点

三档 Claude 5.5 在规格明确的任务上表现同样可靠而成本相差数十倍,模型选型的实质是按任务风险与时长分档,而不是默认沿用最贵档位。

  • 影响:规格明确的分类、抽取、批量编码换用 Haiku 可把单任务成本降到 Opus 的几十分之一;Claude Code 多数套餐默认 Opus,未改配置的团队在同等任务上多付一倍以上 token 费;长且出错代价高的智能体任务仍是 Opus 的定位。
  • 参考:可考虑用自己的真实任务跑一轮三档对比再定默认模型,OpenRouter 的 Ori Eval 即为此设计;值得盘点 Claude Code 与批量请求的默认档位,把常规任务指向 Haiku 并保持提示词在 10 万 token 内以留在低价区间。
  • 依据:结论基于 OpenRouter 自测的 11 项隐藏测试编码任务、Claude Code 修 bug 会话及 GPQA Diamond 与 τ-bench 跑分,价格为 2026 年 10 月 21 日牌价,属平台独立实测口径。
正文 · AI 翻译

将 Claude Sonnet 5.5 作为默认选择,Claude Haiku 5.5 用于高吞吐量和子代理工作,而当任务耗时长、含义模糊或出错代价高昂时,则使用 Claude Opus 5.5。

对大多数团队来说,选择是在 Opus 和 Sonnet 之间,问题在于 Opus 按 token 计价是否值 Sonnet 的两倍价格。在我们测试的编码任务上,它并不值得。我们在 Claude Code 中给每个模型同样的 11 个带隐藏测试的编码任务和同样的 bug 修复任务。所有模型全部通过,因此区分它们的是成本。Haiku 每个任务比 Opus 便宜 19 到 30 倍,Sonnet 的花费是 Opus 的一半到三分之二。

这些结果告诉你在我们的任务上三者表现如何。要知道哪个最适合你的工作流,唯一的办法是在你自己的工作上测试它们。Ori Eval 可以替你完成这件事。你问你的编码代理哪个模型最适合你的项目,它会在你的代码中找到测试素材,编写评测,运行你想比较的模型,并根据背后的分数、耗时和成本推荐其中一个。关于在三者之间切换的章节介绍了如何让它指向全部三个层级。

要点速览

  • 将 Claude Sonnet 5.5 作为默认选择。在我们的 GPQA Diamond 和 τ-bench 测试中,它的得分与 Opus 5.5 相当或更好,并通过了所有编码测试,而每 token 价格只有一半。
  • 将 Haiku 5.5 用于高吞吐量和子代理工作。它同样通过了所有编码测试,而成本仅为 Sonnet 的 1/12 到 1/16。
  • 把 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 Intelligence Index57.656.043.4
GPQA Diamond(我们的运行)90.4%92.4%86.6%
τ-bench airline(我们的运行)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 的模型页面。基准测试数据行来自我们的基准测试端点,于 10 月 21 日拉取(我们的运行时间为 10 月 17 日)。Artificial Analysis Intelligence Index 是独立基准测试公司 Artificial Analysis 对 10 项评估的综合得分。T 表示数万亿 token,数据来自我们的每日排名数据集。

Opus 比 Sonnet 更好吗?

在我们运行的基准测试中,Claude Opus 5.5 并没有胜过 Claude Sonnet 5.5。在我们这轮 GPQA Diamond(一套 198 道研究生水平的科学问题)测试中,Sonnet 得分更高(92.4% vs 90.4%)。它在 τ-bench airline(一个多轮客服代理基准测试)上也得分更高(78.7% vs 75.5%)。在 Artificial Analysis 指数上,Opus 领先 1.6 分。在我们这两轮测试中,Sonnet 的单任务成本不到 Opus 的一半:GPQA 每题 $0.025 对 $0.054,τ-bench 每任务 $0.16 对 $0.34。

在 10 月 12 日那一周,OpenRouter 上 Opus 5.5 承载的 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 个任务,所以这个基准上几分的差距可能只是噪声。Haiku 在 GPQA Diamond 上落后 Sonnet 5.8 分,在 Artificial Analysis 指数上落后 12.6 分,该指数对代理任务和通用知识各赋予 30% 的权重,对编程和科学推理各赋予 20% 的权重。在例程编程方面,我们在下面的测试中未发现差距。

我们的编程测试显示了什么?

我们测试了两件事:按照规格编写一个函数,以及用 Claude Code 修复一个代码仓库。三个模型在两者中都通过了每一项测试。

带隐藏测试的函数

我们编写了 11 个 Python 任务,每个任务都有一个隐藏的测试文件。八个日常任务分别是:解析时长、合并区间、LRU 缓存、不带 eval 的算术求值器、cron 表达式的下次运行时间、自动换行、Semantic Versioning 排序,以及 JSON 路径读取器。三个困难任务分别是:不带 re 模块的正则表达式引擎、带三值 NULL 逻辑的 SQL WHERE 过滤器,以及在夏令时切换日期上跨时区的空闲日历时段。每个模型在每个日常任务上作答两次,在每个困难任务上作答三次,均使用模型默认设置,每个模型共 25 次尝试。

指标Opus 5.5Sonnet 5.5Haiku 5.5
通过的尝试次数25 次中的 25 次25 次中的 25 次25 次中的 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 中的 bug 修复

我们给 Claude Code 一个带有三个 bug 和五个测试的小型开票库。这些 bug 分别是:使用了银行家舍入(半数取偶)的舍入、会在引号内的逗号处拆分的 CSV 解析器,以及覆盖而非累加数量的汇总。我们通过 OpenRouter 对每个模型各运行三次,用 ANTHROPIC_MODEL 环境变量选择模型。

指标Opus 5.5Sonnet 5.5Haiku 5.5
修复全部三个 bug 的运行3 次中的 3 次3 次中的 3 次3 次中的 3 次
每次会话的成本中位数$0.098$0.062$0.0052
轮数556 到 8
实际耗时24 到 30 秒18 到 25 秒22 到 31 秒

一轮(turn)是指会话中模型的一次响应。我们根据每个会话的 token 数按我们的价格计算了会话成本,因为 Claude Code 自己的数字对 Haiku 是错的。

Claude Code 自己的total_cost_usd字段未能识别我们的 Haiku slug,报告每会话成本为 0.16 至 0.31 美元,是我们计算出的中位数 0.0052 美元的 30 到 60 倍。在打印模式(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 相当或更好,并在我们所有测试中与之持平,而每 token 价格只有一半。
  • 如果你运行大量请求,例如分类、信息提取、子智能体或批量代码编辑,请使用 Haiku 5.5。它通过了我们给它的所有测试,成本仅为 Sonnet 的十二分之一到十六分之一、Opus 的十九分之一到三十分之一。将提示保持在 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,而 Sonnet 为 $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 airline 上比 Opus 高出半分。

Claude Code 使用哪个 Claude 模型?

根据 Anthropic 的模型配置文档,Claude Code 在 Pro、Max、Team、Enterprise 和 Anthropic API 账户上默认使用 Opus 5.5。当您通过 OpenRouter 运行 Claude Code 时,可以用 ANTHROPIC_MODEL 更改主模型,并通过上面的环境变量设置各个角色。

后续步骤

来源:OpenRouter:Blog(Announcements) · openrouter.ai