effort 参数允许您控制 Claude 在响应请求时花费 token 的积极程度。这使您能够在响应全面性和 token 效率之间进行权衡,且只需使用单一模型。effort 参数已在所有支持的模型上正式可用,无需 beta 头。
effort 参数由 Claude Opus 4.6 和 Claude Opus 4.5 支持。
对于 Claude Opus 4.6,effort 取代 budget_tokens 成为控制思考深度的推荐方式。将 effort 与自适应思考(thinking: {type: "adaptive"})结合使用可获得最佳体验。虽然 Opus 4.6 仍然接受 budget_tokens,但它已被弃用,将在未来的模型版本中移除。在 high(默认)和 max effort 级别下,Claude 几乎总是会进行思考。在较低的 effort 级别下,它可能会跳过对简单问题的思考。
默认情况下,Claude 使用高 effort——花费尽可能多的 token 以获得出色的结果。您可以将 effort 级别提高到 max 以获得绝对最高的能力,或者降低它以更保守地使用 token,优化速度和成本,同时接受一些能力上的降低。
将 effort 设置为 "high" 与完全省略 effort 参数产生完全相同的行为。
effort 参数影响响应中的所有 token,包括:
这种方法有两个主要优势:
| 级别 | 描述 | 典型使用场景 |
|---|---|---|
max | 绝对最高能力,对 token 消耗没有限制。仅限 Opus 4.6——在其他模型上使用 max 的请求将返回错误。 | 需要最深层推理和最全面分析的任务 |
high | 高能力。等同于不设置该参数。 | 复杂推理、困难的编码问题、智能体任务 |
medium | 平衡方法,适度节省 token。 | 需要在速度、成本和性能之间取得平衡的智能体任务 |
low | 最高效。显著节省 token,但能力有所降低。 | 需要最佳速度和最低成本的简单任务,例如子智能体 |
Effort 是一个行为信号,而非严格的 token 预算。在较低的 effort 级别下,Claude 仍然会对足够困难的问题进行思考——只是对于同一问题,它的思考量会比在较高 effort 级别下更少。
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=4096,
messages=[{
"role": "user",
"content": "Analyze the trade-offs between microservices and monolithic architectures"
}],
output_config={
"effort": "medium"
}
)
print(response.content[0].text)max 的请求将返回错误。使用工具时,effort 参数同时影响工具调用周围的解释和工具调用本身。较低的 effort 级别倾向于:
较高的 effort 级别可能会:
effort 参数与扩展思考协同工作。其行为取决于模型:
thinking: {type: "adaptive"}),其中 effort 是控制思考深度的推荐方式。虽然 Opus 4.6 仍然接受 budget_tokens,但它已被弃用,将在未来版本中移除。在 high 和 max effort 级别下,Claude 几乎总是会进行深度思考。在较低级别下,它可能会跳过对简单问题的思考。thinking: {type: "enabled", budget_tokens: N}),其中 effort 与思考 token 预算协同工作。根据您的任务设置 effort 级别,然后根据任务复杂度设置思考 token 预算。effort 参数可以在启用或不启用扩展思考的情况下使用。在不使用思考时,它仍然控制文本响应和工具调用的整体 token 消耗。
Was this page helpful?