cd ../返回博客
$Review//2026年6月4日//7 min read

Claude Opus、Sonnet 还是 Haiku:哪一档、什么时候用

拆解 Claude 三档模型各自擅长什么、在 Brievio 上各值多少钱,以及一套默认往下分层、按需向上升级的选型与路由模式。

Claude 不是单一一个模型 —— 它是一份分层榜单。Opus 是推理最深的那个, Sonnet 是均衡的主力,Haiku 是又快又便宜的那个。团队最常犯的错,就是 「为了保险」凡事都挑最顶配的那一档,然后眼睁睁看着账单为本可以由更小 模型轻松搞定的活而不断攀升。反过来的错 —— 为了省钱硬把每个硬活都塞给 Haiku —— 则会悄悄让你在重试、错误答案和人工善后上付出代价。正确答案 几乎从来都不是「只用一个模型」。而是 让分层匹配任务

本文会讲清楚每一档 Claude 到底擅长什么、三档在 Brievio 上各值多少钱、 一份具体的「什么时候该用 X」指引,以及一种把简单活路由给 Haiku、只把 最硬的活升级给 Opus 的分层模式。Brievio 上的每一档都是越过 AWS Bedrock 的真正第一方模型 —— 完整 200K 上下文、原生工具、视觉与缓存一应俱全 —— 定价比 Anthropic 的官方价目表 大约低 15%。

三档一览

这里把整套取舍放在一处 —— Brievio 费率(并附上 Anthropic 官方价目表 作参考),每 100 万 token,输入 / 输出:

  • Claude Opus 4.7 —— $4.25 / $21.25 (官方 $5 / $25)。最深的推理、最强的智能体行为:多步长链的规划、 棘手的重构、含糊的规格、研究级别的分析。最强、也最贵 —— 按设计, 它就是你最后才会去碰的那一档。
  • Claude Sonnet 4.6 —— $2.55 / $12.75 (官方 $3 / $15)。均衡的生产主力,也是一流的编码模型。对大多数团队 来说,这就是默认之选:强到足以应付绝大部分真实工作,快到 让人感觉响应灵敏,价格也定得让你不必在用量上心疼。
  • Claude Haiku 4.5 —— $0.85 / $4.25 (官方 $1 / $5)。又快又便宜,为大批量的活而生:分类、抽取、路由、 打标签、短文本转换。输入价是 Opus 的五分之一 —— 而在窄任务上,正确 程度毫不逊色。

留意这个差距。Opus 的输入是 Haiku 输入的 5 倍;Opus 的输出是 Haiku 输出的 5 倍。在一条要跑上数百万次调用的流水线上,这个倍数就是「四舍五入 误差」和「财务团队会追问的一行支出」之间的区别。本事不在于挑出那个 「最好」的模型 —— 而在于知道哪些活真正需要顶配档,哪些不需要。

什么时候该用 Haiku……

只要任务是窄的、输出是短的,而且你要跑很多次,Haiku 就是正确选择。 每次调用的判断分量很小;真正要紧的是量。

  • 分类与路由 —— 给工单打标签、为内容打标、意图识别、 垃圾信息过滤、情感分析。答案就是少数几个选项之一;Haiku 答得对, 每千次也只要几美分。
  • 结构化抽取 —— 按固定 schema,把发票、邮件或日志里的 字段抽成 JSON。再配上对 schema 的缓存,单次调用的成本就趋近于零。
  • 大规模的短转换 —— 概括一个段落、改写一句话、归一化 一个值、生成一个 slug。高频,但每次调用都无关大局。
  • 分层流水线里那便宜的第一道筛选 —— 由它来判断更大的 模型到底需不需要跑(下面会细讲)。

Haiku 吃力的地方:多步推理、微妙的判断、长链规划,以及任何「错得不 显眼但代价高昂」的场景。如果你发现自己开始在 Haiku 的输出周围加重试 逻辑和校验器,那就是该把这个活往上挪一档的信号。

什么时候该用 Sonnet……(大多数团队的默认)

Sonnet 是大部分生产流量该待的地方。它是一流的编码模型,能可靠地遵循 复杂指令,价格也定得让你可以把它当成日常默认来跑、不必精打细算。当你 拿不准该挑哪一档时,就从这里起步 —— 然后把走量的活往下降到 Haiku,把 少数真正需要的活往上升到 Opus。

  • 日常编码 —— 写功能、修 bug、生成测试、代码评审。 Sonnet 4.6 在这里是真的强,很少成为瓶颈。
  • 面向客户的助手与 RAG 聊天机器人 —— 判断力好、长 答案连贯、工具调用可靠,速度也足够撑起交互式延迟。
  • 内容与文档工作流 —— 起草、概括长文档、转换结构化 内容,质量要紧、但又不需要 Opus 级别的推理。
  • 大多数智能体循环 —— Sonnet 能很好地驾驭多工具 智能体。把规划负担重或高度含糊的那些留给 Opus。

说句实在话:相当一部分团队其实几乎所有活都用 Sonnet 跑也没问题。之所以 要分层,是因为两个极端 —— 数以百万计的琐碎调用,或者寥寥几个硬到残忍的 活 —— 才是让「模型匹配任务」回报最大的地方。

什么时候该用 Opus……

Opus 之所以是顶配档自有其道理,但它是要刻意去取用、而非默认就上的那 一档。当难度真正配得上成本时再用它 —— 当一个错误或浅薄的答案比多花的 那点 token 更昂贵时。

  • 硬核的长链智能体工作 —— 那些必须在许多次工具调用 之间始终保持连贯的多步规划,正是 Sonnet 开始走偏、或丢掉线索的 地方。
  • 棘手的重构与架构 —— 大型的跨文件改动、麻烦的迁移、 调试一个横跨多个系统的问题。
  • 含糊的规格与深度分析 —— 研究级别的综合、细致入微的 判断,以及那些你会愿意交给最资深工程师去办的问题。
  • 升级的目标档 —— 当更便宜的一档把某个案例标记为「硬」 时,你的流水线回退到的那个模型。

如果在你的任务上 Opus 和 Sonnet 给出的答案难分高下,那这个任务本就不 需要 Opus —— 而你刚刚为此白白多付了约 1.7 倍的 Sonnet 费率。要弄清楚, 办法是在你自己的提示上真刀真枪地比一比,而不是想当然地认为贵的那个总 是更好。

这套模式:默认往下分层,按需向上升级

杠杆最大的一招,是别再用「一个模型」去思考,而开始用「一架阶梯」去 思考。先做便宜的事;只有当便宜的不够用时才升级。由于 Brievio 的每一档 共用同一个 base_url、同一个 SDK,切换分层就是一行改动 —— 只有模型字符串挪一下。

tiering.py
# 一种模型分层模式:先做便宜的事,需要时才向上升级。
# base_url 相同、SDK 相同 —— 每一层只改动模型字符串。
from openai import OpenAI

client = OpenAI(
    api_key="sk-brievio-...",
    base_url="https://api.brievio.com/v1",
)

# Brievio 每 100 万 token 的费率(输入 / 输出):
#   Haiku 4.5   $0.85 / $4.25    —— 快、便宜、适合大批量
#   Sonnet 4.6  $2.55 / $12.75   —— 均衡的生产主力
#   Opus 4.7    $4.25 / $21.25   —— 最深的推理,应对最硬的活

def triage(ticket: str) -> str:
    """Haiku 来判断:便宜的模型能不能搞定,还是要升级?"""
    resp = client.chat.completions.create(
        model="claude-haiku-4-5",
        max_tokens=20,
        messages=[
            {"role": "system", "content": "Reply only EASY or HARD."},
            {"role": "user", "content": ticket},
        ],
    )
    return resp.choices[0].message.content.strip()

def answer(ticket: str) -> str:
    tier = "claude-sonnet-4-6" if triage(ticket) == "EASY" else "claude-opus-4-7"
    resp = client.chat.completions.create(
        model=tier,
        max_tokens=800,
        messages=[{"role": "user", "content": ticket}],
    )
    return resp.choices[0].message.content

# 大多数工单在 Haiku + Sonnet 上就能解决。Opus 只在真正棘手的那一小部分上
# 才会触发 —— 于是每个工单的平均成本,远远低于全程用 Opus 的流水线。

这笔账很简单:一次 Haiku 上的分诊调用,成本是几分之一美分。如果它把简单 的大多数路由给 Sonnet、只把硬核的少数交给 Opus,那你每个任务的平均成本 就会远低于全程用 Opus 的流水线 —— 而在那些真正需要顶配档的案例上,质量 毫无损失。同样的逻辑反过来也适用于纯大批量的活,那里 Haiku 一手包办:

classify.py
# Haiku 真正发挥价值的地方:大批量的分类 / 抽取。
# 按每 100 万输入 token $0.85 算,一百万篇短文档花的是几美分,而不是几美元。
import json

LABELS = ["bug", "feature_request", "billing", "spam", "other"]

def classify(text: str) -> str:
    resp = client.chat.completions.create(
        model="claude-haiku-4-5",
        max_tokens=10,
        messages=[
            {"role": "system",
             "content": f"Classify into exactly one of: {LABELS}. Reply with the label only."},
            {"role": "user", "content": text},
        ],
    )
    return resp.choices[0].message.content.strip()

# 100 万条入站消息,每条约 300 个输入 token、约 3 个输出 token:
#   输入:  300M token × $0.85 / 1M  = $255
#   输出:    3M token × $4.25 / 1M  = ~$13
# 同样的活放到 Opus 上,输入约贵 5 倍、输出约贵 5 倍,而在这么窄的任务上
# 准确率毫无提升。让分层去匹配难度。

两套模式,一个理念:让分层匹配难度。 走量和简单的活交给 Haiku,生产的大头交给 Sonnet,而 Opus 留给那些配得 上它的活。由于失败的 4xx/5xx 调用在 Brievio 上免费,一次报错的 升级重试不会让你花一分钱 —— 计费表只在真正完成时才会走动。

按任务快速选型

当你只是需要一个答案时,就从这里起步,再在自己的提示上测过之后做调整:

  • 大批量的分类 / 打标签 / 路由 / 抽取 → Haiku 4.5。
  • 日常编码、修 bug、测试、代码评审 → Sonnet 4.6。
  • 面向客户的聊天机器人 / RAG 助手 → Sonnet 4.6。
  • 起草、概括、内容工作流 → Sonnet 4.6。
  • 大多数多工具智能体 → Sonnet 4.6;把规划负担重的 步骤升级给 Opus。
  • 棘手的重构、含糊的规格、深度分析 → Opus 4.7。
  • 拿不准? → Sonnet 4.6,然后把走量的往下降到 Haiku、 把最硬的活往上升到 Opus。

这一切都不需要你一开始就锁定某一档。在 Brievio 上把同一个提示在三档上 都跑一遍,比一比答案和 token 数,让结果替你挑分层。完整的费率卡在 定价页上;至于「在不丢质量的前提下压成本」 这套更大的策略,可参见 成本优化手册 以及我们关于 如何挑选 AI API 网关的指南。把分层做好,是你手上最大的那根杠杆 —— 而它的代价不过是一个 模型字符串。