用 Vercel AI Gateway 搞模型路由比自己写 API 适配层快得多
直接给结论:如果你需要给客户提供多种 AI 模型选择,且必须处理计费透明度、数据零留存(ZDR)和权限隔离,不要试图自己写一套 API 适配层。用 Vercel AI Gateway 这种中间层,能把原本需要写几个月、维护无数个 Provider 价格表的工程量,缩短到几个周甚至几天就能跑通。
我之前尝试过给几个小项目做模型路由,最痛苦的不是接 API,而是处理不同供应商的响应格式差异,以及实时计算 Token 成本。Tailscale 在做 Aperture 产品时踩过的坑非常典型,他们原本想自研路由和执行层,结果发现这活儿根本没那么简单。
为什么不要自己写模型路由适配层
很多人觉得接个 OpenAI 或 Anthropic 的 API 也就是写个 HTTP 请求的事,但当你面对成百上千个模型且要面向客户收费时,复杂度会呈指数级增长。
- 响应格式不统一: 虽然大家都在学 OpenAI 格式,但细节上依然有坑。如果你想在响应里实时告诉用户这次请求花了多少钱,你自己得维护一套极其庞大的价格表,并且要实时追踪每个模型的 Token 计费逻辑。
- 计费透明度: Tailscale 的经验是,AI Gateway 能直接在 Response 里带上成本数据,而自研系统需要自己去算,这部分逻辑极其繁琐且容易出错。
- ZDR(零数据留存)的动态性: 这是一个巨大的坑。哪些模型支持 ZDR,哪些不支持,这个名单是动态变化的。如果自研,你得时刻盯着所有供应商的更新公告;而用 AI Gateway,只需要传一个
zeroDataRetention标志位,它会自动帮你过滤掉不合规的供应商。
解决 Agent 安全问题的 Sandbox 方案
如果你的 AI Agent 能读取私有数据、能执行操作且能访问外网,这就是所谓的「致命三要素」,极易造成安全漏洞。
Tailscale 没选择自己写沙箱,而是用了 Vercel Sandbox。这种方案的核心逻辑是:将身份验证(Identity)与访问控制(Access Control)直接绑定在网络层(tailnet)。只要用户在网络名单里,就能用模型;一旦移除,访问权瞬间消失。这种把 AI 访问权限交给网络层而不是交给 API Key 的做法,在企业级场景下非常高效,避免了在数据库里管理成千上万个临时 Key 的混乱。
实操层面的关键细节
如果你打算参考这个架构,有几个点必须核对:
- 成本控制: AI Gateway 不会对 Token 成本进行加价(Markup)。这意味着如果客户自带 Key,他们支付的价格和直接调用供应商是一样的,这消除了客户对「中间商赚差价」的顾虑。
- 路由逻辑:
{
"model": "gpt-4o",
"zeroDataRetention": true,
"prompt": "your request here"
}
通过在请求中加入 zeroDataRetention 标志,可以在不修改后端逻辑的情况下,强制路由到合规模型。
- 部署周期: 从原型到产生付费客户,Tailscale 仅用了几个月。对比自研基础设施,这种速度的提升主要来自于省去了维护 Provider 适配层的时间。
最终判断与避坑指南
这种架构最适合「提供 AI 能力的 B 端产品」。如果你只是做一个简单的单模型 Wrapper,直接接 API 即可。但如果你满足以下条件,建议直接上 AI Gateway 类的路由层:
1. 需要支持 5 个以上不同的模型供应商。
2. 必须向用户展示精确到分的调用成本。
3. 客户对隐私要求极高,必须强制执行 ZDR。
4. 需要快速迭代,没时间去维护一个庞大的模型参数映射表。
风险点在于,你把路由权交给了第三方,如果 Vercel 挂了,你的所有模型访问都会中断。但在大多数商业场景下,这种可用性风险远低于自研适配层带来的维护成本和 Bug 率。
吹得太过了吧,几天怎么可能跑通?光是对齐不同厂商的 Token 计算方式就得掉层皮,这玩意儿真能搞定计费精度?