多数团队都是从应用代码里直接调用模型提供商。API 密钥放在环境变量里,SDK 调用只有三行,第一次就跑通了。Cloudflare AI Gateway 之所以存在,是因为接下来会发生的事。账单来了,却没有人说得清是哪个功能花掉的。提供商度过了糟糕的一个下午,顺带把你的产品也拖了下去。系统提示词被改过一次,而旧的那一版返回过什么,没有任何记录。
网关就是放在应用与提供商之间的一个代理。所有请求都经过它,所以所有请求都可以被计数、记录、缓存、限流,并且在提供商出故障时改到别处重试。对于三个原本只会被拖到很晚、再用手工方式解决的问题来说,它是最便宜的结构性修法。
下面要讲的是它做什么,它除了观测之外还能强制什么,它在金钱和毫秒上分别要你付出什么,以及诚实地说,它的边界在哪里。
在模型 API 前面加一层网关,真的能省钱吗? 不会直接省。Cloudflare AI Gateway 的核心功能在所有套餐上都免费,也不对推理加价,所以省下来的钱来自它让你看见的东西,而不是它拦下的东西。按功能归集成本会告诉你产品的哪一部分贵,缓存会在安全的场景里消掉重复的相同调用,故障转移路由则让提供商的故障不至于变成你的故障。预算强制是有的,但预算用尽时要发生什么,是产品决策而不是配置项。
直接调用模型回答不了的三个问题
支持引入网关的所有论证,最后都会归到三个问题之一,而这三个问题只要还在直接调用 SDK 就答不上来。可见性与可控性这种抽象说法,说服不了任何一个需要为这项工作辩护的人。
没有人能把账单摊开
按 token 计费是按用量走的,而提供商的发票是汇总的。你拿到的是每个 API 密钥的月度总额,不是每个功能的总额。如果一个摘要功能、一个聊天助手和一个夜间分类任务共用一把密钥,发票不会告诉你其中哪一个翻了三倍。常见的应对是每个功能一把密钥,这招在你有十一个功能、再加上一套密钥轮换策略之前都还管用。
没有人能复现故障
当调用在应用代码里失败时,留下来的只有日志记录器抓到的那点内容,通常是一个状态码和一条被截断的消息。很少会留下确切的提示词、作答的模型版本,或者它是在多长的延迟之后放弃的。一天之后再想复现事故,就变成了对输入的猜谜。而在这段时间里,提供商的故障会径直传导到你的用户身上。
没有东西能给失控的循环设上限
一个会自己重试的智能体,一个失败就重新投递的队列消费者,或者一个终止条件被模型反复判定为未满足的循环:每一种都能在有人察觉之前产生成千上万次调用。如果路径上没有东西在计数,第一个信号就是账单。除非路径上有组件去强制,否则按用户的上限和硬性熔断根本不存在,而应用代码是个糟糕的存放位置,因为每一个调用点都得记得去写。
Cloudflare AI Gateway 是什么,它坐在请求路径的哪个位置
Cloudflare 的 AI Gateway 概览 把它描述为一项坐在你的应用与 AI 模型提供商之间的服务,让你可以监控用量并管理应用的扩展方式。功能包括分析、日志、缓存、限流,以及带故障转移的请求重试,所有 Cloudflare 套餐都能用。Cloudflare 声称一行代码就能开始,而从集成的形态就能看出这句话为什么接近事实。
集成就是改一个基础 URL
你不再把 SDK 指向提供商,而是把它指向一个带有账户标识、网关标识和提供商名称的网关地址。Cloudflare 把 OpenAI 的写法 记为 https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai,在构造客户端时作为 baseURL 传入。模型名称、参数、流式传输和响应解析都保持原样。Cloudflare 的 提供商列表 用同一套模式覆盖了二十多项服务,其中包括 OpenAI、Anthropic、Google Vertex AI、Amazon Bedrock、Azure OpenAI、Mistral、Groq、DeepSeek、xAI,以及 Cloudflare 自家的 Workers AI。
这种形态意味着什么
采用它确实便宜:每项服务一个配置值,改回去就等于撤销,这让它成为少数几个不需要立项就能试的基础设施改动之一。
代价是,你的提供商密钥从此要经过 Cloudflare,因为代理必须把它转发出去,除非你改用已存储的密钥或 Cloudflare 托管的凭据。这是一个关于信任的决定,不是一个细节。
而且它能提供的一切,都被代理看得见的东西所限定。它看得见请求和响应,看不见你的应用意图,这正是成本归集需要你自己给请求打标签的原因,而不是指望网关去猜某次调用是干什么用的。
真正省钱的功能是分析与日志
网关会给每一个请求计数。Cloudflare 的 日志文档 列出了一条记录里装着什么:用户提示词、模型响应、提供商、时间戳、请求状态、token 用量、成本、耗时,以及客户端的 user agent。是按请求而不是按月,而且可以查询。
关于钱为什么在这里、而不在那些强制类功能上,得说得直白些。拦住支出省下的,只是你叫停的那些调用的成本,这个数是有上限的。而知道钱花去了哪里会改变你要造什么,这件事没有上限。
归集不是自动的。自定义元数据可以附上你自己的标签,比如功能名或租户,让分析能按它们分组。跳过这一步,你拿到的就只是一个总数,而那正是发票早就给过你的东西。
缓存,以及缓存命中毁掉产品的那些情况
缓存是最常因为错误理由而被打开的功能,也是最有能力悄悄弄坏一个产品的功能。
缓存键是怎么构造的
Cloudflare 的 缓存文档 解释说,这个键是提供商、端点、模型、认证头以及完整请求体的 SHA-256 哈希。全部精确匹配才算命中,其余都是未命中。所以命中要求请求逐字节相同,而对一个带着累积历史的聊天端点来说,过了第一轮之后这种情况很少发生。生存时间最短 60 秒,最长一个月。按请求的控制来自 cf-aig-cache-ttl、cf-aig-skip-cache 和 cf-aig-cache-key,而 cf-aig-cache-status 会返回 HIT 或 MISS,让你能量出真实的命中率。
什么时候命中是安全的,什么时候不是
在相同输入本来就该产生相同输出、而且答案略旧也可以接受的地方,命中是安全的:分类、结构化抽取、固定字符串的翻译、未变更文档的向量化、评测流量。只要产品的价值依赖于回答之间的差异,命中就不安全。如果两个用户问了同一个问题,而第二个人收到的是为第一个人生成的回答,那你的 temperature 设置只是个摆设。
更糟糕的那种失败属于隐私。如果请求体里没有任何能区分用户的东西,一条缓存过的响应就可能越过用户边界,这属于信息泄露而不是质量问题。另外,缓存只覆盖文本和图像响应。
限流、重试与故障转移路由
这三样常常被合在一起当作可靠性功能来讲。真正在有意义地约束成本的,只有其中一样。
限流限的是请求数,不是 token
Cloudflare 提供 固定窗口和滑动窗口 两种方式,超出限额的请求会收到 429。请注意被计数的是什么:是请求。一次携带超大上下文的调用,成本远高于一次简短调用,而限流器分不出这两者。限流保护你不被失控的循环和被滥用的端点拖垮,但保护不了你免于一条昂贵的提示词,把它当成成本控制手段是常见的错误。
重试与超时
Cloudflare 的 请求处理头 允许用 cf-aig-max-attempts 设置最多 5 次尝试,用 cf-aig-retry-delay 设置最长 5000 毫秒的延迟,并用 cf-aig-backoff 选择恒定、线性或指数退避策略。cf-aig-request-timeout 这个头是从响应的第一部分抵达时开始计的,所以在流式调用上,它是首字节时间的上限,而不是总时长的上限。在最后一次尝试上,网关会一直等到请求完成,不管要花多久。
故障转移路由已经换了形态
那个接收提供商对象数组、失败时顺着往下走的 Universal Endpoint 已被弃用。Cloudflare 现在把新的集成引导到 OpenAI 兼容端点,而故障转移、重试和条件路由则引导到 Dynamic Routing。一条动态路由是带名称和版本的流程,可以在界面上搭也可以用 JSON 写,由模型节点、按请求体或请求头或元数据分支的条件节点、用于 A/B 测试的百分比节点,以及超出后转向备选方案的限流节点和预算上限节点组成。调用它的方式,是把路由名字填在本来写模型名字的位置。
检查送进去的和返回来的内容
因为代理同时握着这次交换的两半,它就能对它们做评估。Cloudflare 的 Guardrails 会拦下用户提示词和模型响应,把内容标记为待审查或直接阻止其继续,并且不管是哪个提供商作答,都套用同一份策略。
把策略放在路径上而不是放在代码里,理由是应用层的内容审核必须在每一个调用点各写一次,而上周新加的那个调用点正是会漏掉它的地方。代价是检查本身也是推理:Guardrails 按 Workers AI 的 token 用量计费,所以价格随你送去检查的内容长度而增长。数据防泄漏扫描在所有套餐上免费。
2026 年 8 月的 Agents Week 改变了什么
Cloudflare 在 2026 年 8 月 3 日到 7 日举办了第一届 Agents Week,并在最后一天发布了 Workers AI 与 AI Gateway 的统一,把两者合成单一控制平面。要把已经交付的和只是宣布的分开看。
已经交付的:绑定从两个变成一个,于是 env.AI.run() 同时覆盖 Workers AI 模型和外部提供商。对 Workers AI 来说,走网关的路由从可选变成了默认,写上 gateway: { id: 'default' } 就会在首次使用时自动创建网关,并且不用改别的就能拿到请求日志、token 追踪和成本归集。额度变成可以跨提供商花,所以 Workers AI 可以和 OpenAI 或 Anthropic 从同一份预付余额里扣。
没有交付的:模型优先路由,也就是你请求一个模型、由平台去挑提供商的那种方式,是接下来才有,而不是现在可用;对提示词做分类的智能路由器仍处于内部试点。这次是计费、绑定和仪表盘的整合,不是一项新能力。如果你本来就在不经网关的情况下调用 边缘上的 Workers AI,那么现在你默认就有了可观测性。
Cloudflare AI Gateway 要花多少钱
Cloudflare 的 AI Gateway 定价页 写明,目前提供的核心功能是免费的,涵盖所有套餐上的仪表盘分析、缓存和限流。下面所有数字都是 Cloudflare 公布的美元价格,按 Cloudflare 公布的币种原样列出。
费用实际出现在哪里
持久化日志本身免费,但按套餐设有上限:Workers Free 上是所有网关合计 100,000 条,Workers Paid 上是每个网关 1,000 万条。把这些日志导出到别处的 Logpush 属于付费套餐功能,每月 1,000 万条,超出部分每百万条 0.05 美元。Workers AI 本身按 它的定价页,每天含 10,000 个神经元免费额度,付费套餐上超出的部分按每 1,000 个神经元 0.011 美元收费,神经元是 Cloudflare 用来计量 GPU 算力的单位。
统一账单要收 5 个百分点
如果你用的是 Cloudflare 托管的凭据而不是自己的提供商密钥,那么购买额度要收 5 个百分点的费用。Cloudflare 自己举的例子是买 100 美元额度、按 105 美元结算。推理是原价透传,不加价。自带密钥的话统一账单就不适用,因为带着提供商认证信息或已存储密钥的请求会绕过它。
把成本控制做对
网关能可靠强制的只有三件事:请求速率、动态路由里的预算上限,以及某个请求是否由缓存来应答。它做的其他一切都是测量。把这两类混为一谈,正是有些团队装上网关、把每个选项都勾了一遍,最后仍然被账单吓一跳的原因。
一个硬性预算上限,在成为一项配置之前先是一项业务决策。触到上限时总得发生点什么,而每个选项都各有各的糟糕。让请求失败,会让最后一个提问的人体验变差,那看起来像个 bug。回退到更便宜的模型,会让质量悄悄下滑。放进队列,则把成本问题换成了延迟问题。在这几者之间做选择,才是真正的工作。
能落到账单上的节省,通常来自可观测性而不是强制。一旦支出按功能分好组,昂贵的那件事几乎总能在不换模型的前提下修好:每一轮都发过去的过大系统提示词、明明用滚动摘要就够却整份重发的会话历史、朝着一个本来就不可能成功的失败反复开火的重试循环。日志能把这些全找出来。限流器一个也找不出来。
你正在增加的延迟
多一跳不是免费的,而假装它免费,正是好决定因为坏理由被做出来的方式。你的请求现在会在某个 Cloudflare 数据中心落地、在那里被处理,然后转发给提供商,这就多出一次 TLS 握手和一段你原先不必付出的网络路程。
在常规情况下,相对于它所包裹的东西,这点开销很小。一次聊天补全从几百毫秒到几秒不等,主要时间花在生成上,而网关位于 Cloudflare 的边缘网络上,所以第一段路程会在离调用方很近的地方结束。相对于一次耗时 2 秒的补全,这点额外开销就是噪声。
它不再是噪声的地方,是那些短小、便宜、量大的调用。一个远低于 0.1 秒就返回的向量化请求,就属于固定开销会变成看得见的百分比的情形。另一种是流式传输,因为用户体感的数字是首个 token 的到达时间,而在那个 token 落地之前加进来的任何东西,都会落在最要紧的那个指标上。请用网关记录的耗时去量,并与直接发起的同一次调用做对照。
多提供商策略,以及你逃不掉的那种锁定
宣传语是网关让提供商变得可以互换,在传输层上这话是对的。OpenAI 兼容端点给你统一的请求形态,动态路由给你不必重新部署的故障切换,而改一个模型名字变成了配置而不是代码。
传输层从来就不是贵的那部分。换模型之所以贵,是因为模型的行为彼此不同。一条针对某个模型调了好几个月的系统提示词,换到另一个模型上会产生不同的输出。工具调用的格式和可靠程度不同。拒答行为不同,所以以前通得过的内容现在会被拒。对所要求的 JSON 结构的遵守程度不同,照着某个模型的习惯写出来的解析器,换到另一个模型上就会崩。上下文窗口大小也不同。
你真正买到的,是让一次切换变成一个下午的评估工作,而不是一个冲刺周期的管道工程,以及不必自己动手就已经存在的故障切换。这值得拥有,但它不是可移植性。有一项二阶依赖值得点名:网关现在坐在每一次模型调用的路径上,所以它的可用性就成了你的可用性。这与我们比较 Cloudflare Workers 与 AWS Lambda 时考察过的是同一笔交易。
记录提示词就等于处理个人数据
这一节最常被跳过,也是带着法律风险的一节。每个网关的日志默认都是开的,而一条记录会完整包含用户提示词和模型响应。只要你的用户打进任何关于自己的内容、粘贴一份文档,或者向助手描述一段医疗或财务状况,那些内容就是放在第三方日志存储里的个人数据,而在英国 GDPR 之下,你仍然是它的控制者。
在数据离开你的应用之前就抹掉
唯一可靠的删除位置,是在发送之前。网关提供了 cf-aig-collect-log-payload: false 来保留元数据但丢掉主体,以及 cf-aig-collect-log: false 来什么都不记。但数据最小化讲的是一开始就不要收集超出需要的东西,所以持久的修法在上游:在请求离开你的进程之前,就把账号、标识符以及模型并不需要的自由文本字段剥掉。
保留期限是你必须自己做的决定
ICO 关于 存储限制 的指引并没有规定固定期限。它要求的是:不要把个人数据保留得比你需要的更久,能够为所选的期限给出理由,有一份规定了标准期限的政策,以及定期复核并把不再需要的内容删除或匿名化。一个带着套餐级上限的日志存储不是保留政策,因为上限是存储容量的边界,而不是一段有理由的期限。
公平地列出替代方案
真正的替代方案有三个,而选择主要取决于由谁来运维这个东西。
自建的开源 LLM 代理给你同样的请求路径,只不过日志放在你自己控制的基础设施上,当提示词的敏感性本身就是问题时,这是对的选择。代价是你要运维一个位于每一次模型调用关键路径上的组件。
专做 LLM 可观测性的厂商,在评测、提示词版本管理和链路检查上走得更深。如果你的问题是输出不对而不是成本不透明,那边更合适,而且这两者并不互斥。
在需求很窄的时候,自己造也站得住脚。一个把请求、响应、token 数和一个功能标签写进你现有可观测性体系的封装层,大概两天工作量,就能回答归集这个问题。你不会便宜拿到的,是键构造正确的缓存,以及跨提供商的故障转移。
规则是这样:如果没人知道钱花去了哪里,网关是最快的修法,而免费额度足以证明这一点。如果提示词不能离开你的基础设施,就自建。如果输出本身就是错的,任何网关都帮不上忙,你需要的是评测工具。
实施要付出什么,又会带回什么
对于一个已经在调用单个提供商的单一服务,半天。创建网关,在配置里改掉基础 URL,放在开关后面部署,让回滚是改一个环境变量而不是发一次版,看着日志填起来,确认流式传输仍然表现正常。
对于一个真实产品,请预算 3 到 5 个工程师日,而其中大部分都不是网关本身的活。那些活是:定下一套元数据模式,好让归集能回答你真正会问的问题;审计每一个调用点,包括定时任务和一年没人打开过的代码;弄清哪些端点可以安全地缓存;以及写好脱敏这一步。故障转移路由再加一天,因为只有在你测过备选模型能给出可接受的输出之后,这个备选方案才值得拥有。
回报并不光鲜。你不再被账单吓一跳,而对多数团队来说,这一点胜过绝对的节省金额。提供商故障会变成一次降级的响应,而不是一次事故。受益最大的是在做 智能体工作流 的团队,因为用户的一次操作扇出成几十次模型调用,正是估算与现实分道扬镳的地方,这个模式我们在 AI 智能体的成本与失效方式 里谈过。
在不弄坏生产环境的前提下装上它
行得通的顺序是刻意无聊的。把网关放进路径,只开日志,别的什么都不开。收一周数据。读归集结果。然后只启用数据能证明其必要性的那些功能,并把缓存放到最后,只在你能说清一个重复答案为什么仍是正确答案的端点上开启。
Mecanik 把这一层的搭建与运维作为我们 AI 集成 工作的一部分,而我们的 OpenAI API 集成 服务负责提供商那一侧。合作几乎总是以同样的方式开始:先做一周的日志,别的什么都不改,因为归集数据通常会把优先级清单重新排一遍。
常见问题
Cloudflare AI Gateway 是免费的吗? 核心功能在所有套餐上都免费,Cloudflare 的定价页把这个范围描述为仪表盘分析、缓存和限流,数据防泄漏扫描同样免费。费用出现在边缘位置:Logpush 属于付费套餐功能,Guardrails 按 Workers AI 的 token 推理计费,而日志存储是按套餐设上限,而不是按每条日志定价。
AI 网关会给模型调用增加延迟吗? 会,它增加了一次 TLS 握手和一段网络路程。相对于一次耗时几百毫秒到几秒的聊天补全,这点开销通常可以忽略。它会在向量化或小型分类这类短小而量大的调用上变得明显,也会在流式响应上变得明显,因为那里用户体感的指标是首个 token 的到达时间,而不是总时长。
什么情况下缓存 LLM 响应是不安全的? 只要产品的价值依赖于回答之间的差异,或者请求体本身无法区分不同用户,缓存就不安全。Cloudflare 用提供商、端点、模型、认证头和完整请求体来构造缓存键,所以一次命中意味着逐字节相同的请求。缓存适合分类、抽取和向量化,不适合本应因人而异的对话式回答。
有了网关,切换模型提供商就容易了吗? 在传输层上是的:统一的请求形态、一处配置改动,以及不必重新部署的故障切换。但切换中真正贵的那部分丝毫未减:针对某个模型调好的提示词换到另一个模型上行为会变,工具调用格式和拒答行为不同,对 JSON 的遵守程度不同,上下文窗口也不同。网关拿掉的是管道工程,不是评测工作。
Cloudflare 在 2026 年 8 月改了什么? 2026 年 8 月 7 日,在 Agents Week 的最后一天,Cloudflare 把 Workers AI 和 AI Gateway 统一成单一控制平面:一个同时覆盖 Workers AI 与外部提供商的 AI 绑定,Workers AI 上默认开启的网关路由,以及可以从同一份预付余额跨提供商花的额度。模型优先路由被宣布为接下来才有,而不是已经交付。
评论