Kimi K3 现已上线查看 Kimi K3
Claude Opus 5 通过 EvoLink 统一 API 接入并路由到不同生产工作负载
教程

如何调用 Claude Opus 5 API:从首个请求到生产部署

Jessie
Jessie
COO
2026年7月24日
更新于 2026年7月25日
24 分钟阅读
Claude Opus 5 已经可以通过 EvoLink 调用,请求 model ID 为 claude-opus-5。如果你想知道如何使用 Claude Opus 5 API,创建 EvoLink API key 后,直接向 EvoLink Messages 直连 endpoint 发送 Claude Messages 请求即可。它沿用现有的 EvoLink Claude Messages API 文档所定义的请求结构,已经接入 Claude 路由的团队不需要再增加第二套供应商集成。
路由可用不等于所有应用路径都可以未经验证直接放量。Model ID 仍应保存在配置层,并使用自己的账户核验 response.model、usage、billing、streaming 和 tool use,再按工作负载逐步切换流量。这样可以区分“路由已经上线”和“具体业务已经通过生产验收”。
这篇指南不只演示一次 Hello World 调用。我们还会解释 thinking、effort 和 max_tokens 如何相互影响,从 Opus 4.8 迁移时有哪些行为变化,如何处理 refusal 和传输故障,以及怎样把 Opus 5 放进一套兼顾质量与成本的生产路由策略。

Claude Opus 5 API 快速了解

Anthropic 于 2026 年 7 月 24 日发布 Claude Opus 5,主要面向复杂 Agent 编码和企业级工作。Opus 5 官方文档给出了以下核心 API 契约。
字段已核验信息对接入的影响
Anthropic model IDclaude-opus-5必须使用 API 提供方实际支持的准确标识
上下文窗口100 万 token可以容纳大型代码库和文档集,但把所有上下文都发送给模型通常不是最经济的方案
最大输出128K tokenmax_tokens 仍会同时限制 thinking 和可见输出
Thinking默认开启迁移后,原本省略 thinking 的 Opus 4.8 请求会出现行为变化
Effort 等级lowmediumhighxhighmaxEffort 是控制能力、延迟和 token 消耗的主要参数
官方基础价格输入每百万 token 5 美元,输出每百万 token 25 美元与 Opus 4.8 的基础单价相同
EvoLink Messages endpointMessages 直连 endpoint更适合耗时较长的 Claude 请求
EvoLink 路由状态已可用通过 EvoLink Messages API 调用 claude-opus-5,并用真实工作负载完成生产验收

最重要的判断原则是:Claude Opus 5 现在已经可以通过 EvoLink 调用;具体参数兼容性、计费和运行表现,仍应以 EvoLink 当前契约和真实账户请求为准。

为什么通过统一 API 使用 Claude Opus 5

调用一个新模型并不难。难的是发布热度过去之后,应用仍能灵活选择模型,而不是被一次接入绑定。

如果团队只使用 Claude,并且必须立即获得每一个 Anthropic 原生功能,直接接入 Anthropic 可能更合适。如果应用需要在多个模型之间选择、控制成本、保留 fallback,或者避免在产品代码中散落不同供应商的接入逻辑,统一 API 网关的价值会更明显。

因此,EvoLink 的价值不是让每个请求都使用 Opus 5,而是把模型选择留在路由层:

应用任务
  -> 路由策略
  -> 选定模型
  -> Messages API 请求
  -> 核验实际模型与用量
  -> 记录质量与成本
  -> 提升、重试、回退或回滚

这套架构能带来四项具体价值:

  1. 统一接入面。 应用通过同一个有文档记录的 endpoint 发送 Claude Messages 风格请求。
  2. 模型选择可配置。 业务逻辑只描述 routine_codingarchitecture_escalation 之类的任务,配置层决定当前使用哪个模型。
  3. Fallback 可测量。 重试或切换模型会成为明确的运行事件,不会悄悄污染 benchmark。
  4. 迁移更灵活。 下一次模型升级主要是路由与评测决策,不需要同时重写 prompt、业务代码和用户设置。
如果需要做 Claude 家族级选型,可以查看 EvoLink 的 Claude 模型集合页;如果需要当前路由、模型详情和价格入口,请查看 Claude Opus 5 API 价格与模型详情。本文只负责具体接入和生产迁移。

第一次调用 Claude Opus 5 API

1. 修改生产代码前,先确认账户权限

EvoLink 路由已经可用。修改生产流量前,应确认自己的账户可以调用,并且完整应用链路符合预期:

  • EvoLink 账户中已经列出 claude-opus-5
  • 最小请求返回 HTTP 200。
  • response.model 指向预期模型。
  • usage 记录和扣费金额符合 EvoLink 当前价格入口的说明。
  • streaming、tool use 等必要功能在同一路由上可以正常运行。

如果账户没有显示该路由,或者必要功能测试失败,应保留现有模型作为 fallback,先解决账户权限或兼容性问题,再开始放量。

2. 只在服务端保存 API key

创建 EvoLink API key,并通过服务端环境变量加载:

export EVOLINK_API_KEY="your_api_key_here"
不要把 API key 暴露在浏览器 JavaScript、Client Component、公开仓库或 NEXT_PUBLIC_* 环境变量中。

3. 发送最小请求

可以按照 EvoLink Claude Messages API 的结构发送最小请求:

curl --request POST \
  --url https://direct.evolink.ai/v1/messages \
  --header "Authorization: Bearer $EVOLINK_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "claude-opus-5",
    "max_tokens": 4096,
    "messages": [
      {
        "role": "user",
        "content": "Review this service architecture and identify the three highest-risk failure points."
      }
    ]
  }'

第一次请求先不要加入可选参数。小请求更容易单独验证鉴权、路由可用性和基础请求结构,避免 effort、tools、streaming 或缓存引入额外故障点。

4. 不要只看 HTTP 状态码,还要核验实际响应

HTTP 请求成功只能证明 endpoint 返回了结果,不能证明目标模型确实处理了请求,也不能证明这条数据可以纳入 Opus 5 评测。

至少应该记录:

  • response.model
  • response.stop_reason
  • 输入和输出用量
  • 请求延迟
  • 可用时记录 request ID
  • 应用内部的 task ID
  • 重试和 fallback 次数
下面的服务端 TypeScript 示例会区分不可重试的客户端错误与可以重试的容量错误,并在不使用 any 的前提下核验返回模型:
type Usage = {
  input_tokens: number
  output_tokens: number
  cache_creation_input_tokens?: number
  cache_read_input_tokens?: number
}

type TextBlock = {
  type: 'text'
  text: string
}

type MessageResponse = {
  id: string
  model: string
  stop_reason: string | null
  content: TextBlock[]
  usage: Usage
}

const RETRYABLE_STATUS = new Set([429, 500, 503, 524])

function isMessageResponse(value: unknown): value is MessageResponse {
  if (typeof value !== 'object' || value === null) return false

  const record = value as Record<string, unknown>
  return (
    typeof record.id === 'string' &&
    typeof record.model === 'string' &&
    Array.isArray(record.content) &&
    typeof record.usage === 'object' &&
    record.usage !== null
  )
}

async function callClaudeOpus5(prompt: string): Promise<MessageResponse> {
  const credential = process.env.EVOLINK_API_KEY
  if (!credential) throw new Error('EVOLINK_API_KEY is not configured')

  for (let attempt = 0; attempt < 3; attempt += 1) {
    const response = await fetch('https://direct.evolink.ai/v1/messages', {
      method: 'POST',
      headers: {
        Authorization: `Bearer ${credential}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        model: 'claude-opus-5',
        max_tokens: 4096,
        messages: [{ role: 'user', content: prompt }],
      }),
      signal: AbortSignal.timeout(120_000),
    })

    if (response.ok) {
      const payload: unknown = await response.json()
      if (!isMessageResponse(payload)) {
        throw new Error('Unexpected Claude Messages API response')
      }

      if (payload.model !== 'claude-opus-5') {
        throw new Error(`Unexpected response model: ${payload.model}`)
      }

      return payload
    }

    if (!RETRYABLE_STATUS.has(response.status) || attempt === 2) {
      throw new Error(`Claude request failed with HTTP ${response.status}`)
    }

    const backoffMs = 1_000 * 2 ** attempt + Math.floor(Math.random() * 250)
    await new Promise((resolve) => setTimeout(resolve, backoffMs))
  }

  throw new Error('Claude request exhausted its retry policy')
}

这只是参考实现,不能替代账户级真实测试。对于高并发服务,还应该增加结构化日志、request correlation、并发控制,以及由路由策略决定的 fallback。

Thinking、effort 和 max_tokens 如何联动

Opus 5 会改变看似熟悉的请求行为:thinking 默认开启,effort 决定模型可以投入多少计算资源。

Claude Opus 5 thinking 与 effort 工作流,从较低计算档位逐步提升到通过验收的输出
Claude Opus 5 thinking 与 effort 工作流,从较低计算档位逐步提升到通过验收的输出
Thinking 配置EffortAnthropic Opus 5 原生契约是否允许生产影响
默认或 adaptivelow成本最低的评测档位
默认或 adaptivemedium适合作为成本和延迟基线
默认或 adaptivehighAPI 默认值,适合对能力敏感的通用任务
默认或 adaptivexhigh复杂编码和 Agent 任务的推荐起点
默认或 adaptivemax用于能力优先、可以接受额外 token 消耗的任务
关闭lowmediumhigh需要额外检查可见输出与工具调用
关闭xhighmax请求会返回 400
Anthropic 建议复杂编码和 Agent 工作从 xhigh 开始,其他对能力敏感的工作从 high 开始;如果评测质量仍能达标,再测试 lowmedium 以降低成本和延迟。在 xhighmax 下,Anthropic 建议先给至少 64K 的 max_tokens,为 thinking、subagent 和工具调用留出空间。

这里有三个容易踩坑的细节:

  1. max_tokens 同时覆盖 thinking 和可见输出。 如果直接沿用 Opus 4.8 关闭 thinking 时的上限,Opus 5 任务可能更早被截断。
  2. Effort 不能可靠控制可见答案长度。 如果需要简短回答或固定篇幅,应该直接在 prompt 中说明。
  3. 不同 API 提供方支持范围可能不同。 只有 EvoLink 当前路由文档或真实测试确认接受该字段后,才能发送 output_config.effort

条件允许时应保持 thinking 开启。Anthropic 提醒,关闭 thinking 偶尔会使工具调用以普通文本出现,或者在可见回答中暴露类似内部 XML 的标签。

从 Claude Opus 4.8 迁移:不要把旧行为一起复制过去

更换 model ID 是最简单的一步:

- "model": "claude-opus-4-8"
+ "model": "claude-opus-5"
Anthropic 官方迁移指南列出了必须在真实应用中重新检查的行为变化。如果要判断是否替换上一代模型,可以查看 Claude Opus 5 vs Claude Opus 4.8;本文继续聚焦迁移实现。

请求层迁移

  • 不传 thinking 字段的请求,现在会默认开启 thinking。
  • 原来未使用 thinking 的工作流需要重新评估 max_tokens
  • 不要同时使用“关闭 thinking”和 xhighmax
  • 确认没有从 4.8 之前的配置遗留 temperaturetop_ptop_k——Opus 4.8 起这些参数已被拒绝,Opus 5 行为不变。
  • 如果重复 prompt 以前短到无法缓存,需要测试新的 512-token prompt cache 最低长度。
  • stop_reason: "refusal" 作为一种应用结果处理。

Prompt 迁移

Opus 5 更可能主动验证工作、汇报进度并委派 subagent。为旧模型设计的 prompt 可能会无意中放大这些行为。

建议从四个方面调整 prompt:

  • 明确目标答案或文档长度。
  • 删除无条件要求模型重复检查或额外增加 verifier 的指令。
  • 对窄任务设定清晰范围。
  • 除非任务确实需要独立并行工作,否则限制 subagent 委派数量。
Anthropic 的 Opus 5 prompting 指南建议:复杂编码任务应尽量一次给出完整任务说明,让模型持续执行;同时避免堆叠重复的验证脚手架。

Agent harness 迁移

不要只测试裸模型调用,要让代表性任务经过完整应用链路。至少核验:

  • 工具选择和参数
  • streaming parser 行为
  • timeout 和 retry 上限
  • refusal 处理
  • 实际返回模型
  • token 和缓存用量
  • 输出长度
  • 真实审核者或下游检查是否接受结果

应该按工作负载逐步放量。Opus 5 可能显著改善复杂架构任务,却给常规抽取任务增加没有必要的成本。

处理工具调用、流式输出、拒绝和传输故障

EvoLink Messages API 暴露 streaming、tools、tool choice、usage 和 stop reason。生产循环应根据响应分支处理,不能假设每个 HTTP 200 都包含最终答案。

发送消息
  -> end_turn:返回答案
  -> tool_use:执行获准工具并继续
  -> refusal:执行拒绝与 fallback 策略
  -> max_tokens:将结果标记为不完整
  -> 传输错误:仅在错误可重试时重试

必须限制最大工具循环次数,校验每个工具参数,并保留足以解释失败任务的 trace。未经应用层授权和 schema 校验,绝不能直接执行模型生成的工具调用。

按类型处理故障:

结果建议操作
400 invalid request修正 model、thinking、effort、sampling 或 schema 字段,不要盲目重试
401 authentication修正服务端凭证
402 billing补充余额,或调整产品端响应
404 model not found重新检查 EvoLink model enum 和账户权限
429 rate limit使用有次数上限、带 jitter 的指数退避
503 overloaded在严格重试预算内重试,或切换到已批准的 fallback
524 timeout使用直连 endpoint,为长任务设置合适 timeout,并防止重复提交未追踪任务
stop_reason: "refusal"记录结果,执行该工作负载的 fallback 或用户提示策略

Refusal 不是 HTTP 请求失败。Anthropic 将它定义为 Opus 5 的一种正常响应结果。Anthropic 原生 API 可能提供自动 fallback,但在网关请求中加入供应商特有字段前,必须先确认 EvoLink 是否有等价支持。

不要只看 token 单价,要计算“成功任务成本”

Claude Opus 5 的官方基础 token 单价与 Opus 4.8 相同,但生产团队不能仅凭标价判断哪条路由更省钱。

应该使用下面的决策指标:

成功任务成本 =
  输入 token 成本
  + 输出 token 成本
  + 重试成本
  + fallback 成本
  + 工具执行成本
  + 人工审核或修复成本
用同一套脱敏评测集测试 mediumhighxhigh,记录任务是否通过,而不只是回答听起来是否流畅。如果更高 effort 能减少重试和人工修复,即使单次请求更贵,也可能更经济;如果任务在 medium 就能稳定通过,继续使用高 effort 只会浪费预算。

评测表至少应该包含:

指标为什么需要
任务验收率衡量结果是否真正可用
输入与输出 token 总量反映完整模型账单
缓存读写判断重复上下文是否被复用
工具调用与失败暴露 Agent loop 额外开销
Retry 和 fallback避免多请求成本被隐藏
端到端延迟区分交互式任务和后台任务适配性
人工审核时间计算 token 价格没有覆盖的清理成本

不要根据一次 prompt 就给出所有任务通用的 effort 建议。每类工作负载都应该选择能达到质量门槛的最低档位,只在失败代价较高的任务上提升模型或 effort。

按工作负载路由 Sonnet、Opus 和 Fable

Anthropic 将 Opus 5 定位为复杂 Agent 编码与企业级工作的起始选择;Fable 5 仍是已广泛发布的最高能力 Claude 模型。可通过 Opus 5 vs Fable 5 选型指南 把产品层级转化为明确的工作负载规则。
EvoLink 中 Claude Opus 5 与其他模型档位的生产路由、验收和 fallback 工作流
EvoLink 中 Claude Opus 5 与其他模型档位的生产路由、验收和 fallback 工作流
工作负载建议起始路由什么时候升级
分类、抽取和短文本改写成本更低的模型Schema 或质量失败超过允许阈值
日常编码和生产助手Claude Sonnet 5重复调试失败、代码库范围过大或决策风险提高
复杂调试、架构和长 Agent loopClaude Opus 5任务仍未解决,且预期价值足以支持更高成本
最高难度的自主任务或知识工作Claude Fable 5仅在实测任务价值能够支持更高价格时使用

把模型路由保存在配置层:

type Workload =
  | 'routine_text'
  | 'everyday_coding'
  | 'complex_agent'
  | 'frontier_escalation'

const modelByWorkload: Record<Workload, string> = {
  routine_text: 'configured-low-cost-model',
  everyday_coding: 'claude-sonnet-5',
  complex_agent: 'claude-opus-5',
  frontier_escalation: 'claude-fable-5',
}

应用应该同时记录 requested model 和 returned model。如果发生 fallback,应将该 trace 从纯 Opus 5 benchmark 中排除,或者单独标记。

这正是统一 API 的核心价值。真正有价值的不是获得某一个新模型,而是每次模型发布后,都能在不重写应用的情况下调整生产决策。如果需要跨供应商选型,可以先看 Claude Opus 5 与 GPT-5.6 对比,再调整路由策略。

Claude Opus 5 上生产前检查清单

在把真实流量切换到 Opus 5 之前,逐项确认:

  • EvoLink 账户已经列出 claude-opus-5
  • 最小请求返回预期的 response.model
  • Usage 和 billing 与当前路由文档一致。
  • 如果产品依赖 streaming,已经完成真实流式测试。
  • 每个必要工具路径都有完整请求和结果 trace。
  • 应用能够区分 refusal 与 HTTP failure。
  • 可重试和不可重试错误使用不同策略。
  • 已经准备并实际运行过 fallback 路由。
  • 使用代表性任务测试过多个 effort 档位。
  • 放量门槛同时考虑任务验收率、延迟和成功任务成本。
  • Model ID 保存在配置层,而不是业务逻辑中。
  • 回滚条件明确。

常见问题

Claude Opus 5 API 的 model ID 是什么?

EvoLink 请求使用的 model ID 是 claude-opus-5。应将它保存在配置层,并在生产评测中核验实际返回模型。
可以。通过 EvoLink Claude Messages API 使用 claude-opus-5 即可。当前模型与价格入口请查看 Claude Opus 5 模型页
使用 EvoLink Messages 直连 endpoint。对于耗时较长、容易遇到 timeout 的请求,EvoLink 文档建议使用 direct base URL。

Claude Opus 5 默认开启 thinking 吗?

是。Opus 5 请求省略 thinking 字段时,会保持 adaptive thinking 开启。这与 Opus 4.8 中省略该字段就不使用 thinking 的行为不同。

Effort 应该选择哪个等级?

复杂编码和 Agent 工作可以从 xhigh 开始,其他对能力敏感的任务从 high 开始,再把 mediumlow 作为成本和延迟控制组进行评测。只有任务价值足够高时才使用 max

如何从 Claude Opus 4.8 迁移到 Opus 5?

更新 model ID 后,还要重新测试 thinking 默认值、max_tokens、sampling 参数、prompt 长度、验证指令、subagent 行为、refusal 处理、usage 和成本。不要把迁移理解成一次字符串替换。

Claude Opus 5 API 多少钱?

Anthropic 官方基础价格为输入每百万 token 5 美元、输出每百万 token 25 美元,与 Opus 4.8 相同。EvoLink 路由价格以 Claude Opus 5 模型页的当前价格入口为准,并按成功任务成本而不是 token 单价选择模型。

资料来源

准备好把 AI 成本降低 89% 吗?

现在就开始使用 EvoLink,体验智能 API 路由的强大能力。