Cloudflare 改变了 AI Gateway 的一个不起眼但重要的部分:当上游 AI 提供商拒绝客户凭据时会发生什么。
根据 Cloudflare 的 AI Gateway 变更日志,POST /ai/run 现在在提供商拒绝凭据时返回更一致的响应。最具体的例子是Google Vertex。之前生成 HTTP 500 响应的被拒绝的 Vertex 凭证在上游重试后,现在返回 HTTP 401,并带有 Cloudflare 错误代码 2009。Cloudflare 表示应用程序应将 HTTP 401 解释为无效或被拒绝的提供商凭证。相比之下,Cloudflare 管理的统一计费中的提供商拒绝映射到 HTTP 503.
这听起来像是一个狭隘的错误合同更新。对于运营 AI 网关的团队来说,意义远不止于此。错误的提供者密钥不应被视为暂时性基础设施故障。如果出现这种情况,应用程序会重试无法成功的工作,回退系统可能会出于错误原因转移流量,并且客户支持团队必须在事后将身份验证失败与提供商不稳定分开。
网关合同发生了什么变化
此更改标准化了生产中重要的区别:谁可以修复故障。
如果用户携带自己的提供商密钥,但该密钥无效、已撤销、已过期、缺少正确的项目权限或被提供商拒绝,则客户或平台管理员必须修复凭据。返回 401 就可以看出这一点。它告诉应用程序身份验证在提供商边界失败,盲目重试不太可能有帮助。
之前,至少对于被拒绝的 Google Vertex 凭据,Cloudflare 表示失败可能会显示为 HTTP 500 并触发上游重试。 500 响应通常意味着服务器端故障或可能自行清除的上游问题。许多客户端库和网关包装器将此类错误视为可重试。在 AI 流量中,这可能会很昂贵,因为请求可能包括长提示、工具上下文或大批量批处理工作。
新的划分还阐明了统一结算行为。 Cloudflare 表示,统一计费下的提供商拒绝映射到 HTTP 503。这会将错误保留在服务可用性系列中,而不是将其视为客户自己的关键问题。对于同时支持自带密钥和网关计费流量的软件,这种区别应影响重试规则和面向用户的消息。
为什么 BYOK 和经销商产品很重要
此次更新面向的市场中,越来越多的 AI 平台将网关计费访问与客户提供的凭据混合在一起。用于团队的多模型API网关可以通过平台帐户路由一个请求,通过客户的OpenAI密钥路由另一个请求,通过企业买家控制的Google云项目路由第三个请求。 HTTP 状态代码通常是控制平面出现问题时看到的第一个信号。
对于 BYOK 工作流程,将提供商凭据拒绝视为 401 可以实现更简洁的操作路径。仪表板可以将凭证标记为被拒绝,仅暂停受影响的路由,通知正确的所有者,并避免在将再次失败的请求上花费重试预算。它还有助于将关键卫生与模型可用性分开。撤销 Vertex 凭证与提供商中断或速率限制事件不同。
转销商和合作伙伴平台也存在类似的问题,但会带来更多面向客户的后果。 AI API 经销商平台 可以管理许多下游客户端的密钥、计费状态和提供商路由。如果被拒绝的凭据看起来像一般服务器错误,支持团队可能会报告错误的根本原因、故障转移到更昂贵的路由,或者承担本应归因于客户错误配置的凭据的成本。
因此,实际的更改不仅仅在于错误解析。操作员应重新审视重试策略、警报标签、仪表板副本和事件分类。来自网关路径的 401 通常应停止提供程序自动重试,并将问题移至凭证修复。托管结算下的 503 仍可能需要提供商运行状况检查、故障转移逻辑或状态页事件,具体取决于产品的架构。
开发者应更新哪些内容
使用 Cloudflare AI Gateway 的开发人员应通过广泛的 HTTP 类检查处理提供程序故障的任何客户端逻辑。如果 401 响应当前仅作为网关令牌问题进行处理,则该代码可能需要区分应用程序的 Cloudflare 凭证和由 Cloudflare 错误代码 2009 表示的上游提供商凭证。
团队还应审查后备路由。当提供程序不可用、过载或超出延迟目标时,回退非常有用。当最初的故障是客户凭证问题时,风险更大。自动将流量从被拒绝的 BYOK 路由转移到平台计费路由可能会产生意外费用、策略违规或数据处理更改。具有统一 AI API结算的产品需要明确该行为。
支持工具也应该变得更加精确。有用的仪表板状态可能会表明提供商拒绝了配置的凭据,识别受影响的提供商路由并显示上次失败时间。这比一般的上游错误更具可操作性。对于企业客户,审核日志应保留状态代码、提供商、凭据参考和路由决策,以便团队可以解释请求是否失败、重试或移至另一个结算路径。
尚不确定的事情
Cloudflare 的变更日志将 Google Vertex 标识为特定的更正案例,并在更广泛的提供商凭证上下文中命名 ElevenLabs,但公开说明读起来并不像每个提供商和每个可能的凭证故障的完整矩阵。网关运营商应该测试他们所依赖的提供商,而不是假设所有被拒绝的密钥场景现在都表现相同。
对于基于 AI Gateway 构建的平台,还存在一个产品设计问题:应向最终客户公开多少 Cloudflare 错误词汇?原始代码对开发者很有用,但转销商门户通常需要更持久的面向客户的类别,例如“提供商凭据被拒绝”,与“网关结算不可用”或“提供商暂时不可用”分开。
大方向很明确。 AI网关不再是模型调用的简单直通代理。它们是政策和计费控制平面,错误语义上的微小差异可以决定系统是否重试、故障转移、向客户收费或要求管理员重新连接提供商帐户。