Claude Haiku 5.5 努力级别:中等为默认,低级通常足够

推理时代阅读约 7 分钟
Claude Haiku 5.5 努力级别:中等为默认,低级通常足够

Claude Haiku 5.5 是首个具有努力设置的 Haiku,而该设置比您控制的其他任何因素更能影响结果。在人工分析的独立测试中,Haiku 5.5 在最大努力下的智力指数得分为 43,而在低努力下得分为 29。最大努力还使用了 4.4 亿个输出令牌来完成该指数;低努力则使用了 3200 万个。

所以简短的答案是:将大部分工作保持在默认的 medium。将高容量、简单的路径降到 low。将知识工作和严格的指令遵循提高到 high。将 xhigh 和 max 视为需要证据的设置,并在您决定之前与 Sonnet 5.5 进行比较。

本文的其余部分展示了每个级别的成本、提升到更高级别的收益何时停止,以及在更改努力时哪些设置会失效或变得昂贵。

设置是什么

Claude Haiku 5.5 支持五个级别:low、medium、high、xhigh 和 max。默认值为 medium,这很不寻常:大多数当前的 Claude 模型默认值为 high,只有 Haiku 5.5 和 Opus 5.5 默认值比其他模型低一个级别。发送 medium 与省略该参数是一样的。

努力替代了 Haiku 4.5 使用的手动思考预算。现在,带有 thinking: {"type": "enabled", "budget_tokens": N} 的请求返回 400,因此没有旧的数字可以延续。根据 Anthropic 的 努力文档,您可以在 output_config 中设置它:

output_config={"effort": "low"}

以下三条事实框定了下面的所有内容:

  • 思考默认开启。 Haiku 5.5 在未另行说明的情况下运行自适应思考。较低的努力意味着较少的思考,在简单请求中,模型可以完全跳过思考。
  • 思考令牌是输出令牌。 它们计入 max_tokens,并按输出费率计费(每百万个提示 $0.50,最多 100K 令牌)。
  • 在提示中要求减少思考无效。 在 Anthropic 的测试中,当提示要求直接回答时,模型仍然进行了思考。努力是杠杆。

每个级别的成本

两个独立来源测量了 Haiku 5.5 在不同努力级别下的表现。指数数据来自 Artificial Analysis;FrontierCode 数据来自 Cognition 的公开结果文件,由 Kingy.ai 编制。两者都不涵盖您的工作负载,因此将其视为曲线的形状,而不是您的数据。

人工分析智力指数 v4.3.2(十次评估,从知识工作到终端任务):

努力 指数得分 用于指数的输出令牌 每个任务的成本 首次令牌的时间
low 29 3200万 $0.02 9.9秒
medium 34 5400万 $0.05 13.4秒
high 38 9700万 $0.08 28.0秒
max 43 4.4亿 $0.21 n/a

人工分析没有发布 xhigh 的运行数据。其最大努力的延迟数据看起来异常,因此被省略。

FrontierCode 1.1 主程序,Haiku 5.5 在 Claude Code 中运行:

努力 综合得分 每次推出的成本 每次推出的输出令牌
low 34.8% $0.06 23,868
medium 41.6% $0.13 36,172
high 41.9% $0.26 55,149
xhigh 45.8% $0.63 100,847
max 46.4% $1.33 181,387

成本四舍五入到分。

将这两张表一起阅读,有三件事突出。

从低到中是最便宜的提升。 在指数上,它以大约 1.7 倍的输出令牌购买了 5 分。在 FrontierCode 上,它以大约两倍的推出成本购买了 6.8 分。

从中到高可能是平坦的。 在 FrontierCode 上,高得分比中高 0.3 分,成本大约是中等的两倍。在更广泛的指数上,高确实增加了 4 分。您的工作负载是否像第一种情况或第二种情况,正是快速评估所告诉您的。

前两个级别很昂贵。 从高到最大,在指数上,输出令牌增加了大约 4.5 倍,得分增加了 5 分。在 FrontierCode 上,最大成本大约是中等成本的十倍,得分增加了 4.8 分,而从 xhigh 到 max 的提升大约使成本翻倍,得分增加 0.6 分。Anthropic 自己的指导以更简单的术语说明了同样的事情:仅在评估显示收益的地方使用 xhigh 和 max,并首先与 Sonnet 5.5 在性能、成本和速度上进行比较。

另一个理由说明默认设置的重要性:Anthropic 的启动基准是在最大努力下进行的。系统卡的中等努力结果较低(在 GDPval-AA 上为 1277,而不是 1620)。如果您以默认值进行部署,这些就是要比较的数字。

按工作负载开始的地方

工作负载 从哪开始 何时提升
分类、路由、标记 low 在困难案例中标签漂移
从短文档中提取 low 字段被遗漏或合并
聊天和实时支持 low 在长聊天中规则滑落
摘要和压缩 medium 关键细节丢失
在更大模型下的子代理工作 medium 主模型重新做工作
代理编码、狭义更改 medium 测试在第一次尝试时失败
知识工作、长代理任务 high 评估显示有提升空间

这些起始点遵循了 Anthropic 对 Haiku 5.5 的指导;“提升”信号是您在自己日志中需要关注的内容。

值得再次关注的一行是聊天。低级是最快的级别,适合实时支持。但 Anthropic 建议在指令遵循最重要时使用 high,例如一个必须在用户争论时保持其系统提示规则的支持助手。在过去出现问题的对话中测试这两者。

当努力变化时,什么会失效或变得昂贵

小的 max_tokens 可能会在回复开始之前结束回复。 思考计入 max_tokens。为单词分类设置的上限,例如 50 个令牌,可能会完全用于思考,导致响应以 stop_reason: "max_tokens" 结束而没有文本。提高上限以留出空间,或降低努力。

在对话中更改努力会重置缓存。 在请求之间更改顶级努力值会使该对话的消息的提示缓存失效。如果代理在 low 对话中需要一次 high 的困难转变,Anthropic 提供了每条消息的努力更改(测试版头 mid-conversation-output-config-2026-07-01,Claude API 和 Google Cloud),可以保持缓存。它需要思考开启。检查网关是否传递该测试版头是值得的,以便在依赖它之前确认。

关闭思考有其限制。 thinking: {"type": "disabled"} 在 low、medium 和 high 下被接受。在 xhigh 或 max 下返回 400。关闭思考时,每条消息的努力更改也会返回 400,并且模型可能会跳过它需要的工具调用,当同一请求要求 JSON 输出时。Anthropic 的建议是保持思考开启,而是使用较低的努力级别。

低努力可能会提前停止。 在 low 下使用长编码代理系统提示时,Haiku 5.5 有时会在工作完成之前停止并将任务交回。在 Anthropic 的测试中,从 low 提升到 medium 大约将提前停止的次数减少了一半,并且每次尝试的输出令牌增加了两倍多。Haiku 5.5 提示指南 中有一条简短的“继续工作直到完成”的指令,以较低的价格解决同样的问题。

低级和中级可能会跳过验证。 在编码任务中,模型有时会在未运行测试的情况下报告更改已完成。提示指南中对此有一个验证段落;它会消耗令牌,但会提高检查更改的比例。

xhigh 可能返回空回复。 在 xhigh 的多轮聊天中,模型有时会将整个答案写在思考中,并以没有可见文本结束该轮。如果您在 xhigh 下运行,请检查是否有空文本块。

强制工具调用会跳过思考。 Haiku 5.5 接受强制的 tool_choice,但响应将以工具调用开始,而没有思考。如果模型需要在调用工具之前进行推理,请使用 auto 并在提示中说明何时调用它。

通过 AIHubMix 进行自己的努力测试

选择的最快方法是以两个或三个级别运行相同的 20 到 50 个真实提示,并比较质量、输出令牌和延迟。通过 AIHubMix Claude 原生端点,设置 AIHUBMIX_API_KEY:

import os
import time
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    base_url="https://aihubmix.com",
)

prompts = [
    "将此支持票总结为一句话:...",
    "从中提取发票号码和总额:...",
]

for effort in ["low", "medium", "high"]:
    out_tokens, seconds = 0, 0.0
    for prompt in prompts:
        start = time.time()
        r = client.messages.create(
            model="claude-haiku-5-5",
            max_tokens=8000,
            output_config={"effort": effort},
            messages=[{"role": "user", "content": prompt}],
        )
        seconds += time.time() - start
        out_tokens += r.usage.output_tokens
        text = next((b.text for b in r.content if b.type == "text"), "")
        # 将 `text` 保存到提示旁边,并根据您自己的评分标准进行评分。
    print(f"{effort}: {out_tokens} 输出令牌, {seconds:.1f}秒总计")

如果在 low 和 high 之间输出令牌几乎没有变化,则该设置可能没有达到模型;检查您的网关转发的请求。在 AIHubMix 上的 Haiku 5.5 页面,每个令牌的价格在每个努力级别都是相同的,因此此测试的令牌计数可以直接转换为美元。

常见问题

Claude Haiku 5.5 的默认努力级别是什么?
中等。大多数当前的 Claude 模型默认值为高,因此依赖于其他模型默认值的代码将在 Haiku 5.5 中运行一个级别较低,除非明确设置努力。

我可以完全关闭思考吗?
在低、中和高努力下,可以通过将思考设置为禁用来实现。在 xhigh 和 max 下会返回错误。Anthropic 建议降低努力,因为模型可以在简单请求中自行跳过思考,并保持其工具调用行为不变。

哪个努力级别最便宜?
低。在人工分析的测试中,它使用了大约 3200 万个输出令牌来完成整个指数,而中等为 5400 万,最大为 4.4 亿。每个级别的每个令牌价格相同;区别在于生成了多少令牌。

在 Haiku 5.5 上最大努力值得吗?
只有在您自己的评估中有证据的情况下。根据 FrontierCode,最大成本大约是中等的十倍,得分增加 4.8 分。在这一点上,Anthropic 建议与 Sonnet 5.5 进行比较,后者可能以更低的成本达到相同的质量。

为什么我的响应在没有文本的情况下停止?
通常是因为思考在答案开始之前耗尽了 max_tokens。提高 max_tokens 或降低努力。在多轮聊天中,xhigh 也可能意味着模型将其答案放在思考中。

更改努力会影响提示缓存吗?
是的。在请求之间更改顶级努力会使该对话的缓存消息失效。每条消息的努力更改(目前处于测试版)可以避免这种情况。

为什么启动基准与我在默认情况下看到的结果不匹配?
启动数据是在最大努力下进行的。在中等努力下,系统卡报告的得分较低,例如在 GDPval-AA 上为 1277,而不是 1620。

继续阅读:Claude Haiku 5.5 系列

来源