4.1 多模型路由策略 当你的系统里同时存在多个模型时,第一个要回答的问题不是"哪个模型最强",而是"这个请求,应该交给谁"。路由策略的本质,是把业务诉求翻译成一条确定性的模型选择链路。 路由矩阵该怎么写 落到工程上,路由矩阵就是一张把「业务场景 → 候选模型集合 → 默认优先级」固化的配置表。它不该散落在代码里,而应该是独立、可热更新的配置,最好带版本。举个例子(字段为示意): 这张表的妙处在于:路由引擎只认表,不认硬编码。供应商谈判降价、新模型上线、某供应商限流,都只是改表 + 灰度,不动业务逻辑。这也是我把路由称为「可迭代资产」的原因。 难度分类器的训练与冷启动 如果你决定上分类器,冷启动阶段可以用「规则先跑、人工抽样标注」快速攒第一批训练数据;
当你的系统里同时存在多个模型时,第一个要回答的问题不是"哪个模型最强",而是"这个请求,应该交给谁"。路由策略的本质,是把业务诉求翻译成一条确定性的模型选择链路。
落到工程上,路由矩阵就是一张把「业务场景 → 候选模型集合 → 默认优先级」固化的配置表。它不该散落在代码里,而应该是独立、可热更新的配置,最好带版本。举个例子(字段为示意):
routes: - scene: 实时语音补全 latency_sla_ms: 200 candidates: [small_model_a, small_model_b] default: small_model_a fallback: mid_model - scene: 复杂代码生成 latency_sla_ms: 8000 candidates: [flagship_model, mid_model] default: flagship_model fallback: mid_model - scene: 金融合规问答 compliance: in_region_cn candidates: [local_compliant_model] default: local_compliant_model fallback: none # 合规场景不允许降级到境外
这张表的妙处在于:路由引擎只认表,不认硬编码。供应商谈判降价、新模型上线、某供应商限流,都只是改表 + 灰度,不动业务逻辑。这也是我把路由称为「可迭代资产」的原因。
如果你决定上分类器,冷启动阶段可以用「规则先跑、人工抽样标注」快速攒第一批训练数据;随后用轻模型(如几亿参数的小模型)做二分类或三分类(简单/中等/复杂)。注意几点:
实际工程中,路由几乎总是围绕四个维度展开,它们彼此叠加而非互斥。理解这四个维度,是设计路由层的前提。
这是收益最直接、也最容易上手的维度。大量真实流量里,闲聊、问候、格式转换、简单抽取这类请求,轻量模型完全能胜任;而多步推理、复杂代码、长文写作才需要旗舰模型。
难点在于"如何判断难度"。常见有三种做法:
我的建议是:先用规则把明显的简单/复杂分流,再用分类器兜住中间地带,最后对关键路径保留"升级通道"。不要一上来就追求全自动判断,那样你会花大量时间调分类器,却忘了路由的初衷是降本增效。先让"省下来的钱"可见,再逐步精细化。
成本路由和难度路由高度相关,但视角不同:它是从"这条链路值不值这个价"出发。典型做法是分层定价——非关键路径(如内部质检、日志摘要、草稿生成)一律走低价的本地或开源模型;直接面向用户且影响转化的核心链路,才允许调用高成本模型。
实践中建议维护一张"成本-质量"对照矩阵,把每个业务场景映射到允许的模型集合,路由时再在集合内做延迟/可用性择优。这比硬编码"某场景必须用某模型"要灵活得多,也方便后续供应商谈判后整体切换。
举一个量化的例子。假设旗舰模型每千 token 成本是小模型的 10 倍,而你日常流量里 60% 是闲聊与简单问答。若成功把这些流量导到小模型,单次对话平均成本可能直接下降 40%–55%,而用户侧感知的"答得变差"比例可能不到 2%,前提是你的难度分类足够准。这个账,是路由层最硬的价值证明。它也是你和财务、和业务方谈资源时最有说服力的材料——用数字说话,而不是用「我觉得小模型够用」去争论。
再补一个反例:某团队把"所有含代码的请求"一刀切路由到旗舰模型,结果大量"把这段话改成驼峰命名"之类的轻量需求也吃掉了旗舰模型额度,月末账单暴涨,而用户根本没感知到质量差异。这就是没做难度细分、只按关键词硬路由的典型代价。
对话产品的延迟敏感度差异极大。实时语音转写后的补全要求百毫秒级响应,而后台批量摘要可以容忍数秒。延迟路由就是按 SLA 把请求导向不同档位的模型:低延迟档优先选响应快、参数量小的模型;高延迟容忍档才考虑质量优先。
需要提醒的是,延迟路由和难度路由有时会冲突——一个"简单但用户正在实时等待"的请求,可能既要小模型(够用)又要低延迟(小模型天然更快),两者一致;但一个"复杂且实时"的请求,你就要在"答案质量"和"响应速度"之间做显式取舍,并把结论沉淀进路由矩阵。
这是"非技术性但不可绕开"的维度。数据本地化、行业监管(金融、医疗等)、内容审核策略,决定了某些请求必须落在指定地域的指定模型上。路由层需要把"合规标签"作为最高优先级约束——一旦命中,后面的成本、难度统统让位。
合规路由还有一个容易被忽视的要求:可审计。每一次"因合规而锁定模型"的决策,都应该留痕,方便监管核查。这不是性能问题,而是合规底线,务必在路由引擎里做成一等公民。
把上面四个维度变成一个可执行的决策,需要一层"路由决策引擎",它通常包含三步:
一个常被忽略的工程细节:路由结果本身值得缓存。同一用户、同类意图、相似输入的请求,路由选择往往稳定,把路由决策结果短暂缓存(结合第 3 章的缓存思路),可以省掉大量重复分类开销。注意缓存键要避开隐私字段,只基于"路由相关特征"。
我的倾向是:中大型团队用集中式路由服务,把"路由策略"作为独立可迭代的资产;极致延迟场景再考虑网关内嵌。无论哪种,路由决策都必须可观测、可回放。
路由不是"配完就完事"。你需要持续度量它到底有没有达成目标:
一个容易被低估的度量对象是 路由分布漂移。每周看一眼「各模型承接流量占比」是否剧烈变化:如果某天小模型占比突然从 60% 跌到 30%,要么分类器出 bug,要么上游流量结构真变了——无论哪种,都值得立刻排查。把路由分布当作核心监控看板,比等用户投诉早发现问题数小时。
我的经验是:先把成本节省率跑出来证明价值,再用升级率守住质量底线。只看成本不看质量,路由会变成"省钱但劝退用户"的陷阱;只看质量不看成本,路由就退化成摆设。
路由策略最好的状态是"越用越准"。做法是把每次调用的结果(质量分、用户点赞/点踩、是否触发升级)回流到分类器训练集,定期重训。这个闭环一旦跑起来,路由准确率会随流量增长而自然提升,形成正反馈。
小结:路由策略不是选"最强模型",而是给每类请求找到"最合适的模型"。难度、成本、延迟、合规四个维度叠加,配合一个可度量、可回写、可审计的决策引擎,才能在百万 QPS 下既控住成本,又守住体验与合规底线。