AI 产品出海的网络架构:模型调用、AI 网关与边缘缓存怎么配合
出海 AI 产品的延迟大头在跨境链路与模型推理,不在页面渲染。把调用层、AI 网关与精确匹配缓存在边缘分层部署,可同时压延迟与 token 账单——但缓存只对完全相同的请求生效,语义级去重仍要自己做。
直接回答: 出海 AI 产品的网络架构要点是三件事分开部署:用户接入层放在离用户近的边缘,模型调用层收敛到 AI Gateway(AI 网关)统一出口,缓存与回退策略按请求的可重复性分层。AI Gateway 的缓存默认关闭、且只对「逐字节完全相同」的请求生效(缓存键由 provider、端点、模型、鉴权头与完整请求体做 SHA-256 拼接得到),所以它压得住 FAQ 类、模板类请求的延迟与 token 账单,压不住个性化请求——那部分去重必须在自己的应用层做语义判断。多模型回退用 Dynamic Routing 配置,不要把回退逻辑硬编码进业务代码;早期的一体化 Universal Endpoint 已标记弃用,新接入应走 OpenAI 兼容端点。
出海 AI 产品的延迟,时间花在哪
先说结论:用户感知慢的主因是「跨境往返 + 模型推理」,两者都发生在 HTML 渲染之后。CDN 优化不了它们,因为 AI 响应默认不可缓存。
| 链路环节 | 典型耗时量级 | 传统 CDN 能否优化 |
|---|---|---|
| 静态资源(页面、JS、模型列表) | 几十毫秒,CDN 命中即可 | 能,这是 CDN 的本职 |
| 用户到推理入口的往返 | 跨境链路下数百毫秒波动 | 部分能:接入点靠近用户可消除国际链路抖动 |
| 模型推理(LLM 流式生成) | 数百毫秒到数十秒,与输出 token 数成正比 | 不能缓存,只能靠更近的算力或更小的模型 |
| 重复请求再次推理 | 与首次相同 | 能,命中缓存则完全跳过推理 |
一个常见误判是把「出海慢」归因于源站性能,然后去扩容源站。如果用户在全球分布而模型调用集中在单一区域的第三方供应商,瓶颈在链路与推理,不在源站 CPU。扩容只会让账单变厚,让首字节时间纹丝不动。
Cloudflare 的网络覆盖 100 多个国家和地区的 330 多个城市,接入层的意义是让「用户 → 网关」这一段尽量短,把不确定的国际链路收敛到网关为止。
三层怎么配合:边缘接入、AI 网关、模型层
把架构拆成三层,每层只解决自己的问题:
| 层 | 放什么 | 解决什么 | 不要放什么 |
|---|---|---|---|
| 边缘接入层 | CDN、人机验证(Turnstile)、基础速率限制 | 挡掉扫描器、恶意爬虫与明显滥用,静态内容就近返回 | 不要在这层做按 token 成本的精确配额 |
| AI 网关层 | AI Gateway:缓存、限流、支出上限、模型回退、日志与分析 | 统一出口、可观测、账单可归因 | 不要把业务语义(用户等级、套餐)只存在网关里 |
| 模型层 | Workers AI / 自托管推理 / 第三方模型 | 真正的推理算力 | 不要让应用直连多个供应商并各自维护重试逻辑 |
AI Gateway 对全套餐可用,这意味着验证架构的最小成本接近于零:把推理调用的 base URL 指到网关,日志与费用归因立刻出现。
分层的判断标准只有一条:可重复的请求往前推(缓存),不可重复的请求往后收敛(统一出口与回退)。很多团队反过来做——把缓存挂在应用层内存里,结果多实例之间互不命中,多区域部署后命中率进一步腰斩。
边缘缓存能省什么、不能省什么
AI Gateway 的缓存规则先核实再使用,三个事实决定了它的适用面:
- 默认关闭,需要在网关设置里显式开启。
- 只支持文本与图片响应,且只对完全相同的请求生效;缓存键是 provider、API 端点、模型名、鉴权头与完整请求体拼接后的 SHA-256 哈希。请求体里差一个字段、时间戳或随机数,就是另一条缓存。
- 命中与否看响应头
cf-aig-cache-status(HIT/MISS),上线后第一件事是确认这个头的实际命中率,而不是凭感觉判断。
由此推出的适用边界:
| 请求类型 | 缓存效果 | 替代方案 |
|---|---|---|
| 固定选项的引导类对话(客服开场、菜单问答) | 好,选项集合有限,天然重复 | 直接缓存即可 |
| 文档类 RAG,同一段检索上下文反复问 | 部分有效 | 精确缓存 + 应用层语义缓存叠加 |
| 个性化摘要、代码生成、长上下文写作 | 几乎无效,缓存键天然不同 | 应用层语义去重,或对共享前缀做复用 |
| 流式响应(SSE) | 谨慎评估 | 先确认你的调用形态是否在支持范围内 |
语义级去重不在网关能力里。官方文档明确说明目前是精确匹配,语义检索式缓存属于后续规划。所以「相似问题合并」必须在应用层做:对输入做归一化与嵌入,命中相似度阈值时返回已有结果。不要假设开了缓存开关就万事大吉——那是最常见的高估。
支出上限与回退:网关真正该干的活
比缓存更普适的是两个控制面能力:
支出上限(Spend Limits):按模型、供应商或自定义元数据维度设美元预算,超限返回 429,时间窗重置后恢复。每个网关最多 20 条规则。两个注意点:它按官方模型定价折算每次请求成本,计的是钱不是请求数;且扣账是最终一致的,并发突发可能在生效前短暂超限——把「熔断兜底」放在应用层账本,别假设网关预算是硬实时墙。
动态路由(Dynamic Routing):用可视化或 JSON 配置编排条件、配额与模型回退,支持按用户分层路由、按比例灰度、预算超限自动切备用模型。早期通过 Universal Endpoint 实现的链式回退已标记弃用,新接入应该用 OpenAI 兼容端点 + Dynamic Routing 的组合。这一点对出海团队尤其相关:第三方模型供应商的可用性波动不在你的控制内,回退策略必须可配置、可秒级变更,而不是发版才能改。
如果需要在自有算力和托管推理之间取舍:Workers AI 按量计费为每 1,000 Neurons 0.011 美元,每天有 10,000 Neurons 的免费额度(每日 00:00 UTC 重置);以 llama-3.3-70b-instruct-fp8-fast 为例,每百万输入 token 0.293 美元、每百万输出 token 2.253 美元。轻量、波动大的调用放 Workers AI 可以省掉自建 GPU 的固定成本;大流量、可预测的负载,自托管加上网关统一入口通常更划算。
落地顺序
- 先接网关再谈优化:把所有模型调用的出口收敛到 AI Gateway,一周内就能拿到真实的请求量、token 分布与费用归因,后续每个决策都靠这份数据。
- 给每类端点挂上支出上限:先粗后细,全局预算一条,昂贵端点(长上下文、图像、视频)单独一条。
- 从日志里找出「天然可缓存」的请求:看请求体分布,选项集合有限的对话类接口优先开缓存,并盯
cf-aig-cache-status的实际命中率。 - 配置模型回退:主模型故障或超预算时切备用模型,用 Dynamic Routing 而不是应用代码。
- 应用层补语义去重:只有命中率高、确认真有重复流量之后,再投入做嵌入与相似度缓存,顺序反了是白干。
常见误区
- 以为开了缓存就能省钱:精确匹配缓存对个性化请求的命中率接近零,省钱靠的是先识别哪些流量天然重复。
- 把网关当防火墙用:AI Gateway 解决的是调用治理,不是 Bot 防护;恶意流量要在边缘接入层拦,两件事别混在一层做。
- 多区域部署但缓存只在单区域生效的记忆里:缓存挂在网关侧而不是应用实例内存里,才不会随扩容被稀释。
- 回退逻辑写死在代码里:供应商涨价、限流、故障都会发生,回退是运维动作,不该绑在发版节奏上。
边界与不适用情况
- 强个性化的生成业务(每条请求都不同):网关缓存贡献有限,这套架构的价值集中在可观测、回退与预算控制,别指望缓存数字。
- 数据驻留有严格法域要求的业务:请求经过的边缘与日志存储位置需要逐项评估合规,不是默认满足的。
- 单一大区域用户 + 自建 GPU 集群:如果用户和算力都在同一区域,引入跨区网关反而多一跳,直连更简单。
- 低延迟硬实时场景(实时语音、互动游戏推理):网关代理会增加一跳延迟,此类场景应该评估算力部署位置而不是套用本架构。
- 长任务异步接口(视频生成、批量推理):回退与缓存的语义都和同步请求不同,需要单独设计队列与幂等,不要直接套用。
FAQ
源站放在境外哪里,模型调用才不绕路? 原则上源站和模型供应商在同一大区(例如都放美西),用户接入交给边缘网络。最糟的组合是源站在一个区域、模型供应商在另一个区域、用户在第三个区域,每个请求跑三段国际链路。
AI Gateway 收费吗,要换套餐吗? AI Gateway 对所有套餐开放,验证架构可以先零成本接入。真正产生费用的是它背后的模型调用本身:Workers AI 超出每日 10,000 Neurons 免费额度后按 0.011 美元/千 Neurons 计费,第三方模型按各自供应商计费。
缓存键包含鉴权头,BYOK 场景是不是永远不命中? 是的。缓存键由 provider、端点、模型、Authorization 头与请求体共同决定,鉴权头不同就是不同键。要提升命中率,用统一的网关鉴权方式,而不是每个调用方自带供应商密钥。
模型回退切换时用户会感知吗? 会。不同模型的输出风格与延迟不同,切换瞬间体验有变化。所以回退规则应该按「哪些端点允许降级、降级到什么模型」提前定义,而不是故障时临时决定。
相关阅读
参考来源
以下为 Cloudflare 官方文档页面,本文涉及的功能可用性、配额与限制以此为准;功能会随产品更新变化,以控制台实际可见项为准。
- developers.cloudflare.com/ai-gateway/
- developers.cloudflare.com/ai-gateway/features/caching/
- developers.cloudflare.com/ai-gateway/features/spend-limits/
- developers.cloudflare.com/ai-gateway/features/dynamic-routing/
- developers.cloudflare.com/ai-gateway/usage/universal/
- developers.cloudflare.com/workers-ai/platform/pricing/
- www.cloudflare.com/network-page/