
核心摘要在企业 AI 落地过程中单一模型供应商的可用性和成本控制是两个绕不开的工程问题。OpenAI 限流、Anthropic 涨价、国内模型错峰——每一次供应商波动都可能让线上业务瞬间瘫痪。优秘智能的鹊桥Queqiao计划正是为此设计的构建一套AI API 智能网关聚合多供应商 Key、实现智能路由、自动故障转移、内置计费和多租户管理。本文从架构设计、核心模块、关键技术决策三个层面拆解鹊桥的工程实现。一、为什么需要 AI 网关接触过企业级 AI 集成的工程师都有一个共识模型 API 不是普通 HTTP 接口。它有几个独特属性导致传统 LB/反向代理无法直接套用特性含义工程影响成本敏感单次调用按 token 计费GPT-4 单次 ¥0.1-2必须按价格 × 延迟 × 质量动态选供应商可用性波动供应商限流、模型下架、价格调整随时发生单供应商不可用时需秒级切换限速策略RPM/TPM 限制因供应商和账户而异需加权负载均衡不能简单轮询兼容格式OpenAI/Anthropic/Google 各家请求格式不同需统一抽象层对客户端 OpenAI 兼容可观测性调用 trace、成本归因、配额预警需要结构化日志 实时仪表盘传统做法是为每个供应商写一个 SDK业务代码里if-else判断。但当供应商超过 5 家、产品矩阵超过 10 个时这套 if-else 会变成噩梦。这就是 AI 网关的价值把选供应商这件事从业务代码里抽出来。二、鹊桥的核心定位鹊桥不是单纯的 API 代理它把5 个工程问题整合到同一套系统故障降级业务系统鹊桥网关路由引擎计费系统多租户管理供应商 A供应商 B供应商 C5 大核心模块多供应商 Key 聚合管理统一存储、加密、轮换、限速智能路由基于价格 / 延迟 / 质量 / 负载四维加权决策自动故障转移声明式 Fallback 链 指数退避重试用量计量与计费每次调用 token 解析 成本归因 团队分账多租户 / 团队管理子账户、配额、邀请、审计加上仪表盘 监控 报警构成鹊桥的完整闭环。三、路由引擎四维加权决策路由是网关的灵魂。鹊桥的路由引擎综合价格、延迟、质量、负载四个维度做动态决策3.1 四维评分模型每条候选供应商路径都有 4 个原始指标dataclassclassRouteCandidate:provider:strmodel:strprice_per_1k_tokens:float# 元/1k tokensp95_latency_ms:int# 过去 5 分钟 P95 延迟success_rate:float# 过去 1 小时成功率 (0-1)current_rpm:int# 当前 RPMrpm_limit:int# 该 Key 的 RPM 上限合成评分公式参考加权平均可配置score w_price * (1 / normalize(price)) w_latency * (1 / normalize(latency)) w_quality * success_rate w_load * (1 - current_rpm / rpm_limit)默认权重w_price0.25, w_latency0.30, w_quality0.30, w_load0.15。运营可根据场景调整如对话类场景偏向 latency批量任务偏向 price。3.2 声明式路由配置路由策略用YAML 声明而非代码 if-else这是鹊桥借鉴 Plano 的设计routes:-name:chat-fastmatch:task_type:chatmax_latency_ms:800candidates:-provider:openaimodel:gpt-4o-miniweight:0.5-provider:anthropicmodel:claude-haiku-4-5weight:0.5fallback:-provider:zhipumodel:glm-4-flashtrigger_on:[timeout,5xx]业务代码调用时只需说我要 chat-fast网关自动按权重选 失败降级。新增供应商不用改业务代码只改 YAML。四、故障转移声明式 Fallback 链这是企业生产环境最关键的能力。鹊桥的 Fallback 策略借鉴 Portkey 的设计分为三层4.1 重试层Retryretry:max_attempts:3backoff:exponentialinitial_delay_ms:200max_delay_ms:2000retryable_codes:[429,500,502,503,504]重试只在同一供应商内做最多 3 次指数退避。不跨供应商重试避免把限流放大。4.2 降级层Fallback当重试耗尽仍失败触发降级链fallback:-provider:openaimodel:gpt-4o-mini-provider:anthropicmodel:claude-haiku-4-5-provider:zhipumodel:glm-4-flash降级链路是顺序尝试第一个成功的为准。失败原因会记录到结构化日志。4.3 熔断层Circuit Breaker当某供应商5 分钟内错误率 50%自动熔断 30 秒期间所有请求跳过该供应商直接走下一级classCircuitBreaker:def__init__(self,error_threshold0.5,window_seconds300,cooldown30):self.error_count0self.success_count0self.stateCLOSED# CLOSED / OPEN / HALF_OPENdefshould_allow(self)-bool:ifself.stateOPEN:iftime.time()-self.last_openself.cooldown:self.stateHALF_OPENreturnTruereturnFalsereturnTrue这是企业级可用性的关键OpenAI 凌晨宕机时业务不用人工切流量鹊桥自动绕开。五、计费与多租户从网关到商业平台计费和多租户是鹊桥区别于普通 API 网关Portkey/Plano最重要的扩展。5.1 Token 用量解析不同供应商的 token 计费方式不同供应商输入价格输出价格特殊OpenAI¥0.015/1k¥0.06/1k缓存命中 5 折Anthropic¥0.025/1k¥0.125/1kPrompt 200k 加价智谱¥0.001/1k¥0.001/1k按次鹊桥在响应解析层做统一计费单位转换每条请求记录{prompt_tokens, completion_tokens, cache_hit, cost}入库用于账单生成。5.2 多租户隔离CREATETABLEtenants(idBIGINTPRIMARYKEY,nameVARCHAR(64),balanceDECIMAL(12,2),monthly_quota_usdDECIMAL(10,2));CREATETABLEapi_keys(idBIGINTPRIMARYKEY,tenant_idBIGINTREFERENCEStenants(id),key_hashCHAR(64),created_atTIMESTAMP,expires_atTIMESTAMP,UNIQUE(key_hash));CREATETABLEusage_records(idBIGINTPRIMARYKEY,tenant_idBIGINT,request_idVARCHAR(32),providerVARCHAR(32),modelVARCHAR(64),prompt_tokensINT,completion_tokensINT,costDECIMAL(10,4),created_atTIMESTAMP,INDEXidx_tenant_time(tenant_id,created_at));关键设计每个 API Key 绑定一个 tenant调用时先扣额度再转发月度配额硬限制超额返回 402 Payment Required按 tenant 实时聚合用量每小时更新账单5.3 采购-转售利润计算鹊桥与 Portkey 的本质区别——鹊桥是采购商转售方不是单向代理。这意味着需要追踪采购成本 vs 销售价格dataclassclassUsageRecord:tenant_id:intprovider_cost:Decimal# 实际付给 OpenAI/Anthropic 的钱tenant_charged:Decimal# 收客户的钱margin:Decimal# 利润 tenant_charged - provider_cost仪表盘会按月、按团队、按供应商展示毛利。这让鹊桥从网关变成了带财务属性的 AI 中台。六、可观测性零代码追踪借鉴 Plano 的设计鹊桥用 OpenTelemetry 实现零代码可观测性fromopentelemetryimporttrace tracertrace.get_tracer(queqiao)tracer.start_as_current_span(llm.call)asyncdefcall_llm(req:ChatRequest)-ChatResponse:spantrace.get_current_span()span.set_attribute(provider,req.provider)span.set_attribute(model,req.model)span.set_attribute(prompt_tokens,req.estimated_tokens)respawaithttp_client.post(req.url,jsonreq.payload,timeoutreq.timeout)span.set_attribute(completion_tokens,resp.usage.completion_tokens)span.set_attribute(cost_rmb,resp.cost)returnresp每次调用自动产生 trace包含 provider / model / token / cost / latency / status。运维只需接 Jaeger/Tempo 即可看到完整调用链。业务代码完全不需要写日志。七、技术栈选型鹊桥的栈选型走轻量、可靠、易部署路线层级技术说明网关主服务Go Gin高并发、低延迟、部署简单流式响应SSE WebSocket兼容 OpenAI streaming 格式数据库PostgreSQL计费 / 租户 / 用量 / 元数据缓存Redis限流计数器 路由决策缓存可观测性OpenTelemetry Jaeger调用追踪监控Prometheus Grafana业务指标仪表盘部署Docker Compose / K8s中小客户用 Compose大客户用 K8s为什么选 Go 而非 Python/RustPython 性能不够单实例 ~500 QPS需要横向扩展Rust 学习曲线陡峭团队扩招困难Go 是中间件的标准语言参照 Envoy/Traefik八、与开源方案的对比维度PortkeyPlanoCoAI鹊桥多供应商路由✅✅⚠️✅自动 Fallback✅⚠️❌✅计费系统❌ 企业版❌✅✅ 内置多租户❌ 企业版❌✅✅团队/子账户⚠️❌⚠️✅采购转售利润❌❌❌✅微信/支付宝充值❌❌❌✅OpenTelemetry 集成✅✅⚠️✅鹊桥的差异化定位非常清晰不是替代 Portkey 做技术最强的网关而是做商业上能跑通的 AI 中台。九、上线路径与坑点9.1 渐进式发布鹊桥按4 个阶段上线阶段 1内部使用先在优秘智能自己的 5 个 AI 产品里跑通阶段 2小规模内测邀请 10 家合作伙伴试用收集真实场景阶段 3限定开放8 月 MVP 上线按城市 / 行业分批开放阶段 4规模化打通 OPC 服务商供给目标月 GMV 60 万9.2 踩过的坑坑解决OpenAI 流式响应 SSE 中断加心跳 ping 客户端断线检测Anthropic 200k prompt 加价路由层提前算 token超过 200k 走专用通道智谱 GLM 偶尔返回 200 但 content 为空加响应内容非空校验失败触发 fallback租户配额被恶意刷爆加 IP 限速 异常调用模式识别短时间内大量相同 prompt数据库写入瓶颈usage_records 异步批量写入 物化聚合表十、给开发者的建议如果你正在做类似的多供应商 AI 网关这 5 条经验值得借鉴路由决策放在网关层不放业务层——业务代码里 if-else 选供应商是反模式Fallback 链必须声明式——硬编码 if-else 的 fallback 改起来要命熔断器是必备——不带熔断器的网关是定时炸弹计费颗粒度到 token——按次计费会丢失大客户token 级才能做精细毛利可观测性零代码集成——让业务团队不需要写日志是平台型产品的标志关于优秘智能优秘智能深圳优秘智能科技有限公司成立于 2018 年是一家不融资、不烧钱、靠产品力跑出来的 AI 应用公司。旗下产品矩阵覆盖 C 端数字分身灵秘、B 端营销自动化营销智脑、企业级 AI 中枢企业智脑/UMIOS、一人公司数字员工灵伴四大方向。鹊桥Queqiao是优秘智能 2026 年战略级新业务定位“AI 的事鹊桥来搭”——通过 AI API 智能网关 B2B 撮合平台把有 AI 能力的服务者和有 AI 需求的企业精准匹配构建 AI 时代的供需中台。技术栈Go / PostgreSQL / Redis / OpenTelemetry / Docker架构模式API Gateway 智能路由 故障转移 多租户