这篇不做具体产品排名,只回答一个问题:怎么判断一个 AI 网关好不好。
我的结论是:好的 AI 网关不是功能最多的那个,而是能在你的生产边界里长期稳定运行的那个。它至少要同时满足四件事:
- L7 网关基本功扎实:代理、路由、LB、超时、TLS、限流、认证、观测都不能短板明显;
- 真正理解 AI 流量:能处理模型路由、body 改写、token 治理、SSE 流式、协议转换、Agent / Tool Call;
- 性能和运行时行为可证:打开 AI 插件后,CPU、内存、GC、p99、流式背压和取消处理都经得起压测;
- 生产成熟度足够:核心能力可用、可运维、可回滚、可观测,有足够生产背书。
没有绝对最好的 AI 网关,只有最适合当前团队边界的网关。模型平台、日志、告警、安全旁路都成熟时,网关应该"薄而快";这些能力还不完整时,网关可以"厚而全",但必须接受数据面复杂度上升,并用压测证明这份复杂度是可控的。
本文适合用来做 AI 网关选型、现有网关评估,或者自研网关能力拆解;不适合当某个产品的安装教程,也不讨论个人转发代理。
导读:先给结论
一句话模型
text
好的 AI 网关 = 合格 L7 网关 + AI 流量能力 + 性能可证 + 生产成熟度
这四项缺一不可:
| 层级 | 关键词 | 判断重点 |
|---|---|---|
| L7 地基 | 代理、路由、LB、超时、TLS、限流、认证、观测 | 普通网关基本功是否扎实 |
| AI 能力 | body 路由 / 改写、Token 治理、SSE、协议转换、Agent | 是不是真的理解 LLM / Agent 流量 |
| 性能与运行时安全 | JSON codec、SSE flush、背压、yield、GC、p99 | 打开 AI 能力后,网关自己会不会成为瓶颈 |
| 生产成熟度 | GA、生产背书、核心能力可用、可运维 | 能不能长期跑在生产核心链路上 |
职责边界先于功能对比
选型前先回答一个问题:哪些能力必须放在网关,哪些能力应该放在模型侧或旁路系统?
| 模型侧 / 旁路家底 | 适合的网关形态 | 网关重点职责 |
|---|---|---|
| 厚:模型平台、日志、告警、安全旁路都成熟 | "瘦"网关 | 路由、鉴权、基础限流、轻量观测、低额外开销 |
| 薄:裸跑 vLLM 或主要依赖第三方 API | "厚"网关 | 可用性兜底、日志富化、内容审查、协议转换、成本治理 |
核心取舍是:稳定性、灵活性、性能很难同时拿满。网关越厚,能力越强,但数据面越重,故障面也越大。能放到模型侧或旁路的能力,不要因为"网关能做"就全部塞进去。
选型三步法
| 步骤 | 做什么 | 目的 |
|---|---|---|
| ① 划边界 | 明确网关、模型平台、日志系统、安全系统各自负责什么 | 避免把所有复杂度都压到网关 |
| ② 过底线 | 用第 5 章的一票否决线先筛 | 排掉不适合生产核心链路的方案 |
| ③ 打分 | 按第 7 章对照 P0 / P1 需求评分 | 找到最适合自己的,而不是功能最多的 |
1. AI 流量到底特殊在哪
普通 API 多数无状态、体积小、结构固定;AI 流量则同时具备"请求体有语义、响应可能长时间流式、成本按 token 计算、后端异构且不稳定、Agent 可能触发副作用工具调用"等特点。
| AI 流量特征 | 对网关的新要求 |
|---|---|
| 请求 / 响应体有语义 | 能读懂并改写 model、messages、max_tokens、stream 等字段 |
| 响应常是 SSE 流式 | 限流、审查、观测、协议转换、断开处理都要能在流上工作 |
| 成本按 token 算 | 不能只看 QPS,还要看 TPM、TTFT / TPOT、token 归因和预算 |
| 后端异构且容易限流 / 挂掉 | 需要多 Provider 协议适配、fallback、健康检查和降权 |
| Agent 会触发工具调用 | trace、权限、审计、幂等和成本要能跨模型调用与工具调用串起来 |
所以,只会改 URL 和 header、把 body 当黑盒透传的,本质上还是普通网关;真正的 AI 网关必须理解 body、stream、token、provider、tool call 这些运行时语义。
2. AI 网关能力图谱
把能力摊开,一个 AI 网关大致有十类能力。注意:这是能力图谱,不代表所有能力都必须由网关实现。
| 能力域 | 解决的问题 | 典型能力 |
|---|---|---|
| 管理与运维面 | 能不能系统化管理 | REST API、CRD、GitOps、证书自动更新、配置热更新、插件热加载 |
| 基础网关数据面 | 是不是合格 L7 网关 | HTTP 代理、统一入口、连接复用、超时、TLS、路径重写 |
| 性能与运行时安全 | 高并发、大 body、流式场景下是否稳 | 额外 CPU、JSON decode / encode 次数、SSE flush、背压、yield、公平性、内存与 GC |
| AI 路由与负载均衡 | 请求该打到哪里 | model 路由、body 条件路由、会话亲和、权重 + 优先级、多供应商混合 |
| Fallback 与高可用 | 后端异常能否兜底 | 429 / 5xx / 超时 fallback、健康检查、自动摘除 / 恢复、告警降权 |
| 请求 / 响应改写与协议适配 | 屏蔽后端差异 | 模型名映射、认证注入、body 字段注入、max_tokens 管控、OpenAI / Anthropic / Gemini / Bedrock 转换 |
| 流量治理与成本 | 管 token、并发和钱 | RPM、TPM、组合限流、实例限流、token 统计、预算配额、语义缓存 |
| 可观测性与审计 | 出问题能否查清楚 | OTel、结构化日志、Prometheus、TTFT / TPOT、trace、upstream、risk level |
| 安全与内容治理 | 请求和内容是否安全 | 消费者认证、凭证托管、请求体限制、双向审查、多模态审查、PII 处理 |
| 扩展性与生态 | 能否持续扩展 | 插件机制、执行顺序、外部审查服务、AlertManager、Kafka / ES / HTTP sink |
几个容易误判的点:
- 性能不能只看 hello world QPS:要看 AI 插件打开后的额外 CPU、内存分配、GC、JSON 编解码次数,以及 SSE 小 chunk、高速上游、慢下游、客户端断开这些运行时边界。
- 流式能力不能只看 SSE 透传:真正要看的是限流、审查、观测、fallback、协议转换、客户端断开处理这些能力,在流式请求里是不是同样可用。
- 协议转换属于高级改写:只转非流式请求不够,还要处理 SSE、错误码、tool call、usage 和 provider 特有字段。
- 可观测不是无限记录正文:body 日志越完整,合规风险越高,必须有脱敏、采样、敏感字段过滤和过期清理。
- 多地域不是天然高可用:部署多个地域不够,还要看路由、探测、切换、日志、告警和恢复是否闭环。
3. 核心能力域:合格线 / 优秀线
3.1 路由与负载均衡
合格线:能按 model 路由,支持加权负载均衡和基础 fallback;普通 HTTP 请求也能透传,不能强行按 Chat Completions 解析。
优秀线:能基于 body 做条件路由,比如带图片走多模态实例、长 prompt 走大上下文模型;支持权重 + 优先级、会话亲和,以及按 429、5xx、超时分别配置 fallback。
流式场景要注意 fallback 边界:首 token 前切换相对安全;一旦开始向客户端输出,再切后端可能导致重复输出、上下文断裂或重复计费。tool call 还要区分是否有副作用。
3.2 性能与运行时安全
性能是 AI 网关最容易被低估的能力。很多产品会展示普通 HTTP 转发 QPS,但真正上生产后,瓶颈往往来自 AI 插件打开后的额外工作:读取 body、解析 JSON、改写字段、流式解析、内容审查、日志富化、token 统计、协议转换。
合格线:能拿出面向 AI 场景的压测结果,而不是只给普通 HTTP hello world QPS。压测至少覆盖:
- body 路由 / 改写;
- 32 KB、128 KB、1 MB 等不同大小请求体;
- SSE 流式转发;
- 上游快速返回小 chunk;
- 下游慢消费;
- 客户端中途断开;
- 内容审查、日志、token 统计等插件组合。
指标至少包括 worker CPU、RSS、Lua / runtime GC、p95 / p99 latency、TTFT、TPOT、token throughput 和火焰图。
优秀线:性能工程成为产品能力的一部分。关键热路径知道每个请求会做几次 JSON decode / encode;只读 model、stream 等少数字段时能走 raw get fast path;只覆盖 model、temperature、stream 等少数字段时能走 raw patch fast path;复杂协议转换、RAG、深度改写时再 fallback 到 full decode / encode。SSE 循环有明确的背压、flush、取消和 yield 策略,每次版本升级都有性能回归测试。
这里重点看两个坑。
第一,"看起来是 IO"不等于一定会让出 CPU。 在 OpenResty / Nginx 这类协作式调度模型里,如果上游 socket buffer 里一直有数据,body_reader() 可能近似变成内存拷贝;如果 ngx.flush() 又没有形成有效背压,循环就可能长时间不 yield,单个 SSE 请求也可能把一个 worker 打满。这类问题靠读静态逻辑很难发现,必须把"上游快速返回 + 下游慢/断开 + 小 chunk 高频 flush"放进压测矩阵。可参考之前的复盘:运行时行为盲区:API7 AI 网关 CPU 打满故障的 AI 辅助事后复盘。
第二,body JSON 处理不是免费能力。 AI 网关经常只为了 post_arg.model 路由、协议检测或覆盖 model/temperature/stream 这几个字段,就把整个 messages 做 full decode,甚至再 full encode 一遍。对于大 prompt、多轮消息、多模态 body,这会直接变成 worker CPU、内存分配和 GC 压力。更合理的策略是:热点路径 raw get / raw patch,复杂场景保留 full decode / encode,并用火焰图验证 cjson.decode、encode 是否真是热点。
一个可执行的性能验收线可以这样定:
| 场景 | 最低验收问题 | 建议指标 |
|---|---|---|
post_arg.model 路由 |
只读一个字段时,是否还 full decode 整个 body | 32 KB+ body 下 worker CPU 至少可见下降 |
| AI passthrough + 少字段覆盖 | 是否避免 decode + encode 整个请求体 | decode / encode 火焰图占比明显下降 |
| SSE 快速小 chunk | 循环在 buffer 就绪时是否会长期不 yield | 单请求不能独占 worker,p99 不拖垮同 worker 请求 |
| 客户端取消请求 | 下游断开后是否尽快停止读上游和解析 JSON | wasted CPU、上游取消耗时、499 / 断开日志 |
| 内容审查 / 日志 | 打开插件后额外开销是否可解释 | CPU、RSS、GC、外部调用耗时分开统计 |
性能的核心不是"这个网关用什么语言写",而是:打开你真正要用的 AI 能力后,数据面额外做了多少工作、最坏情况下会不会失去调度公平性,以及这些开销是否能被压测和火焰图证明。
3.3 请求 / 响应改写与协议适配
合格线:路径重写、header 注入、后端鉴权注入、模型名映射可配置。
优秀线:body 字段注入能区分"缺失才补"和"强制覆盖";改 body 时尽量保持字段顺序;OpenAI、Anthropic、Gemini、Bedrock 等协议能互转,并正确处理 tool、错误码、usage 和流式格式。
一个简单判断:body 改写最好配置即可完成。如果每个场景都要写插件,说明产品抽象还不够。
3.4 流量治理与成本
合格线:消费者级 RPM、并发限流,以及 SSE 透传。
优秀线:按 token 限流(TPM),支持消费者 × 模型、租户 × 模型、路由级、实例级等组合维度;能做费用归因、预算配额、超限告警或熔断。
语义缓存可以省钱和降延迟,但要处理命中错误、权限隔离、时效性和审计问题。对企业场景来说,缓存命中错了比缓存没命中更危险,不能无脑上。
3.5 可观测性
合格线:接入 OpenTelemetry,有结构化 access log,body 日志可按租户 / 路由开关。
优秀线:TTFT、TPOT 这类延迟指标用 histogram 看 P90 / P99;token 总量能按模型、消费者、项目归因;日志覆盖模型映射、token、upstream、trace、风险等级等关键字段,并能推 Kafka、ES、HTTP、OTLP。
完整 body 日志必须支持脱敏、采样、敏感字段过滤和过期清理,否则观测越强,合规风险越大。
3.6 健康检查与高可用
合格线:被动健康检查,连续失败自动摘除。
优秀线:主动健康检查能 POST 真实推理请求,而不是只 GET /health。LLM 后端常见问题是"进程活着但推理不可用",浅层探测发现不了。更进一步,是告警联动降权和恢复:告警触发时实例降权,恢复后自动加回流量。
3.7 安全:认证授权和内容审核
合格线:消费者认证、API Key 管理、后端凭证托管、请求体大小限制。
优秀线:JWT / OAuth、RBAC、多租户隔离;消费者身份能贯通到限流和观测;内容审查支持请求 / 响应双向、流式生效、按消费者或路由差异化配置,并能接外部服务。
3.8 Agent / Tool Call 流量
如果只服务普通 Chat Completions,这一项是加分项;如果要支撑 Agent,就是必答题。
Agent 一次用户请求可能触发多次模型调用和工具调用。网关至少要能串起 conversation id、tool call id、trace id;对工具调用做权限、审计、幂等和成本归因。发邮件、下订单、改配置这类工具调用,重试一次就可能变事故。
3.9 扩展性与可运维性
合格线:插件机制、配置热更新、完整管理接口(REST API、CRD 或 GitOps)。
优秀线:扩展点顺序可控,插件和策略可热加载,证书能自动续期,声明式和命令式管理都能支持;关键配置变更可审计、可回滚、可灰度。
4. 厚网关与薄网关怎么选
很多争论不是"哪个网关更好",而是没有先说清职责边界。
适合薄网关的情况
如果你已经有成熟模型平台、统一日志、告警、安全审查、成本归因和调度系统,网关就不必承担太多 AI 逻辑。此时优先级应该是:
- 数据面稳定、低额外开销;
- 路由、鉴权、基础限流、轻量观测可靠;
- 与现有平台边界清晰;
- 不把复杂协议转换、深度审查、重日志处理塞到请求热路径。
适合厚网关的情况
如果你的模型侧和旁路系统还很薄,比如主要依赖第三方 API、裸跑 vLLM,或者暂时没有统一 LLMOps 平台,那么网关可以承担更多能力:
- 多 provider 协议适配;
- fallback、熔断、降权、主动健康检查;
- 请求 / 响应内容审查;
- token 统计、预算、成本归因;
- 日志富化和告警集成。
但厚网关必须付出性能验证成本。越多逻辑进入数据面,越要证明它在大 body、流式小 chunk、客户端断开、内容审查和高 QPS 下不会成为新的故障源。
5. 五条一票否决线
有些短板不是扣分,而是直接不适合上生产核心链路。
- L7 地基不扎实:普通 HTTP 代理、路由、LB、超时、TLS、限流、认证、观测都不稳,却宣称自己是 AI 网关,这类要谨慎。
- 数据面性能不可证或运行时行为不安全:Rust / Go / Envoy / Nginx 这类成熟数据面更稳,但语言和框架不是免死金牌。必须用真实 AI 工作负载证明额外开销可控:body 路由 / 改写是否反复 JSON decode / encode,SSE 小 chunk 是否会忙等,客户端断开后是否继续空耗 CPU,打开内容审查 / 日志后 worker CPU、RSS、GC 和 p99 是否仍可接受。
- 成熟度不够:pre-1.0、没有生产案例、社区太小、升级路径不清晰、历史严重问题没有透明修复记录,都要大幅打折。
- 核心能力不可用:body 条件路由、模型级 fallback、TPM 限流、语义审查等核心能力如果全锁企业版,开源版价值会很有限;如果企业版也缺少关键能力,就更不适合核心链路。
- 没有可信主动健康检查 :只会被动摘除或 GET
/health,很难发现"服务活着但推理不可用"。AI 后端需要真实推理探测,至少要能按模型、路由、实例维度发现异常并联动降权 / 恢复。
6. 好坏对照速查
快速判断一个网关有没有明显短板,可以先看这些高风险点。
| 快速判断点 | 平庸的做法 | 好的做法 |
|---|---|---|
| L7 地基 | 只能转 AI 请求,普通 HTTP 能力薄 | 普通 L7 网关能力完整,AI 能力是增强而不是替代 |
| body 能力 | body 当黑盒,只改 header / path | 能基于 body 路由、改写、注入字段,并尽量保序 |
| 性能证据 | 只给普通 HTTP QPS 或宣传语言 / 框架 | 给出 AI 插件开启后的 CPU、RSS、GC、火焰图和 p99 数据 |
| JSON 热路径 | 为读 / 改少数字段反复 full decode / encode | 热点字段 raw get / patch,复杂场景 fallback |
| 流式链路 | 只有非流式路径完整 | 限流、审查、观测、协议转换、断开处理都能在流上跑 |
| 流式运行时 | 上游快、下游慢或断开时行为说不清 | 有背压、flush、yield、公平性和取消策略 |
| fallback | 只按状态码重试 | 区分异常类型、首 token 前后、实例限流和 tool call 副作用 |
| 指标与日志 | 只有平均延迟和请求数 | TTFT / TPOT 看分位数,token、模型、消费者、上游、trace 都能归因 |
| 健康检查 | 被动摘除或 GET /health |
主动 POST 真实推理探测,支持自动摘除 / 恢复 |
| Agent / Tool Call | 当普通 HTTP 请求转发 | trace、权限、审计、幂等和成本能串起来 |
| 生产成熟度 | pre-1.0,性能不可证 | GA、有生产背书、关键能力可用,额外开销可压测 |
7. 打分清单(权重合计 100%)
下面是通用权重,实际用时应该按团队 P0 / P1 调整。比如你已经有成熟安全旁路,就降低"内容治理"权重;如果你大量使用 SSE 和多轮长上下文,就提高"性能与运行时安全"权重。
A. 基础网关能力(10%)
- 普通 HTTP 代理 / 路由也能用,不是只能绑 AI provider
- 路径重写、header 注入、后端鉴权注入
- 连接复用、路由级超时、TLS 校验可控
- 限流、认证、基础观测能力完整
B. 性能与运行时安全(15%)
- 有 AI 场景压测,而不是只有普通 HTTP QPS
- 清楚热路径每个请求会做几次 JSON decode / encode,能用火焰图证明
- 只读 / 只改少数字段时有 fast path 或明确优化计划
- SSE 小 chunk、客户端断开、下游慢消费时不会忙等或独占 worker
- 观测 worker CPU、RSS、GC、p95 / p99、TTFT / TPOT 和 token throughput
C. 路由与负载均衡(12%)
-
model字段路由,权重 + 优先级负载均衡 - 能基于 body 内容做条件路由
- 支持会话亲和、实例级限流和供应商混合
- fallback 能分异常类型,并处理流式阶段和 tool call 副作用
D. 请求 / 响应改写与协议适配(12%)
- 字段注入分得清兜底和覆盖
- 字段顺序尽量保持,避免无意义重排导致签名 / 缓存 / 审计问题
- 模型名映射和多 Provider 协议适配可用
- 错误码、流式格式、tool call 字段、usage 能正确转换
E. 流量治理与成本(13%)
- TPM 限流,支持任意维度组合
- 成本归因和预算配额,超限可告警 / 熔断
- SSE 全链路支持,不只支持非流式请求
- 语义缓存有权限隔离、时效性和审计边界
F. 可观测性(13%)
- TTFT / TPOT 用 histogram,能看 P90 / P99
- token 可按模型、消费者、项目、上游实例归因
- 结构化日志字段足够全,能推多种 sink
- body 日志支持脱敏、采样、按租户 / 路由开关和过期清理
G. 健康检查与高可用(10%)
- 被动 outlier detection 和主动健康检查都支持
- 主动探测能 POST 真实推理请求
- 能按模型、路由、实例维度摘除和恢复
- 告警集成,实例能联动降权和恢复
H. 安全与合规(10%)
- API Key / JWT / OAuth / RBAC,后端凭证托管
- 请求和响应双向内容审查,含流式
- PII、prompt 注入、多模态审查能接外部服务
- 多租户隔离、审计和密钥生命周期可控
I. 扩展性与可运维性(5%)
- 插件机制、扩展点顺序、策略热加载可控
- REST API / CRD / GitOps 至少一种管理方式顺手
- 证书、配置、密钥生命周期可自动化
- 关键变更可审计、可灰度、可回滚
底线项:一票否决,不算分但必须过
- L7 地基扎实
- 数据面性能可证,且流式运行时行为安全
- 成熟度够:GA、有生产案例、社区活跃或商业支持可靠
- 核心能力可用,或已明确接受企业版成本
- 有可信主动健康检查,能证明模型实例真的可推理
8. 最后
判断 AI 网关,不要上来就比功能列表长度。正确顺序应该是:
- 先划边界:哪些能力放网关,哪些能力放模型平台、日志系统、安全系统;
- 再过底线:L7 地基、性能、成熟度、核心能力、主动健康检查是否过关;
- 最后打分:按自己的 P0 / P1 需求调整权重。
模型侧、日志、告警、安全旁路都强,网关就该薄一点,把稳定性和性能放前面;模型侧家底薄,网关就要承担更多协议适配、可用性兜底、内容治理和成本控制,但也要接受数据面复杂度上升。
越厚的 AI 网关,越要把性能当成一等能力:不仅要会转发,还要能证明自己在大 body、SSE 小 chunk、客户端断开、内容审查和高 QPS 下不会成为新的瓶颈。
最终一句话:好的 AI 网关不是最厚的,也不是最炫的,而是在清晰职责边界内,功能、性能和生产稳定性都能闭环的那个。
2026-07-11 | 依据:主流 AI 网关源码 / 文档核验 + 落地经验