模型分级路由是什么
分级路由是按任务难度分层调用:分类、打标、字段抽取这类轻任务交给小尺寸模型,常规问答与摘要用中档模型,只有复杂推理与长文分析才上旗舰。同一产品里三档并存,账单通常能降一个数量级。前提是有明确的分流规则与兜底机制:判断错了要么白花钱,要么答案悄悄变差,两者都需要被监测到。
基本信息
| 分层依据 | 任务类型、输入长度、是否需要多步推理 |
|---|---|
| 典型分层 | 轻任务走小模型,常规任务走中档,难题走旗舰 |
| 降本幅度 | 多数场景可显著压缩整体支出 |
| 必备配套 | 路由规则、低置信度升级、质量监控 |
| 常见风险 | 分流错误导致质量下降却无人察觉 |
| 评估方式 | 分档统计调用量与质量指标,对照总成本 |
分层思路
| 层级 | 任务示例 | 要求 |
|---|---|---|
| 小模型 | 意图分类、字段抽取、打标、简单改写 | 高并发、低延迟、成本敏感 |
| 中档模型 | 问答、摘要、常规内容生成 | 质量与成本的平衡点 |
| 旗舰模型 | 复杂推理、长文分析、难题兜底 | 质量优先,调用占比要低 |
| 推理模型档 | 数学、算法、多步排查 | 只在确有必要时触发 |
典型使用场景
- 客服系统:意图识别用小模型,复杂投诉升级到旗舰
- 知识库问答:检索后的生成按问题难度分档
- 批量内容处理:打标与清洗用轻量档,终稿用中高档
- 代码助手:补全走低延迟档,复杂重构走强模型
- 多租户产品:按套餐分配模型档位,成本与定价对齐
分级路由伪代码
分级路由伪代码
def route(task, score):
if task.kind in {"classify", "extract", "tag"}: # 轻任务:直接走小模型
return call("small")
if task.complex or score < 0.6: # 低置信度或复杂任务
return call("flagship")
return call("mid")
# 兜底:小模型结果未通过校验时,自动升级重问一次
# 每次路由决策都记日志,用于事后评估分流规则是否合理常见问题与修法
| 问题 | 原因 | 修法 |
|---|---|---|
| 答案质量下降 | 分流把小模型用到了不该用的任务上 | 按功能维度做分档质量对比 |
| 成本没降下来 | 旗舰档调用占比过高 | 统计各档占比并调整阈值 |
| 延迟波动大 | 路由判断本身要额外调用模型 | 用规则或轻量分类器替代模型判断 |
| 低置信度无人处理 | 缺少升级通道 | 给校验不通过的请求加自动升级 |
分流规则本身也可能判断错:给低置信度的结果留一条升级通道,比要求规则永不犯错现实得多。
全量请求都走旗舰模型是最容易发生的成本事故:上线时没人注意,账单涨到数倍后才发现。