GPT Image 2.5 Flare 与 Sunburst 已上线 EvoLink立即体验
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 等级low、medium、high、xhigh、maxEffort 是控制能力、延迟和 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_coding 或 architecture_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是适合作为成本和延迟基线
默认或 adaptivehigh是API 默认值,适合对能力敏感的通用任务
默认或 adaptivexhigh是复杂编码和 Agent 任务的推荐起点
默认或 adaptivemax是用于能力优先、可以接受额外 token 消耗的任务
关闭low、medium 或 high是需要额外检查可见输出与工具调用
关闭xhigh 或 max否请求会返回 400
Anthropic 建议复杂编码和 Agent 工作从 xhigh 开始,其他对能力敏感的工作从 high 开始;如果评测质量仍能达标,再测试 low 或 medium 以降低成本和延迟。在 xhigh 或 max 下,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”和 xhigh 或 max。
  • 确认没有从 4.8 之前的配置遗留 temperature、top_p、top_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 成本
  + 工具执行成本
  + 人工审核或修复成本
用同一套脱敏评测集测试 medium、high 和 xhigh,记录任务是否通过,而不只是回答听起来是否流畅。如果更高 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 开始,再把 medium 或 low 作为成本和延迟控制组进行评测。只有任务价值足够高时才使用 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 单价选择模型。

资料来源

通过统一 API 接入 AI 模型

比较模型能力与当前价格,再按 API 文档接入适合你任务的模型。