AI 服务好端端跑着,背后的大模型突然限流、超时、干脆没有响应,用户端报错刷屏——这种时刻考验的是有没有提前铺好一条退路。降级路由就是这条退路的调度员:主路走不通,自动把请求引到备用通道上。
主路堵了走辅路
开车的人都有经验:导航发现主路拥堵,自动改走辅路,虽然慢一点、绕一点,但目的地照样到。降级路由在 AI 服务里干的就是这件事——请求先进网关,网关按预设规则判断主模型还能不能用,不能用就把请求转给备用方案。用户只感觉到服务活着,多数人意识不到背后已经换了一条路。
它和人工切换的区别就在「自动」两个字:没有降级路由时,故障要等人发现、人决策、人改配置,二十分钟起步;有了它,切换以秒计,用户几乎无感。
降级降的是什么
降级路由要的不是把问题藏起来,而是让服务以打折的姿态继续活着。「打折」有几种打折法,按代价从小到大排:一是换模型——主模型挂了把请求转给另一家能力相近的模型,效果略有差异但功能完整,比如主路走某家主力模型,辅路可以配置成另一家的同档产品;二是换档位——同一家产品里从高档模型降到轻量模型,回答质量降一档但保住可用;三是降功能——生成类功能暂时关闭,只保留检索、模板应答这类不依赖大模型的基础能力,先把门面撑住。
选哪档取决于业务能接受什么程度的打折,这个预案要在风平浪静时定好,不能等火起来了现场拍板。
三种打折法按代价从小到大排,取舍时对着看。
| 降级档位 | 具体做法 | 保住什么 | 损失什么 | 代价位次 |
|---|---|---|---|---|
| 换模型 | 把请求转给另一家能力相近的同档产品 | 功能完整 | 效果略有差异 | 最小 |
| 换档位 | 同一家产品里从高档模型降到轻量模型 | 服务保持可用 | 回答质量降一档 | 居中 |
| 降功能 | 生成类功能暂时关闭,只保留检索、模板应答这类不依赖大模型的基础能力 | 门面撑住 | 生成能力缺席 | 最大 |
路由怎么判断该切了
判断依据通常是三类信号的组合:错误率——单位时间内报错占比越过阈值;延迟——响应时间持续超标,用户已经等到失去耐心;健康探测——定时发小请求探路,主模型连续几次探不通就标记为异常。三类信号攒够证据才切,避免被偶发的单次抖动误导;切过去之后还要定期回探,主路恢复了再把流量缓缓挪回来,这一步叫回切,同样要灰度,防止主路刚恢复就被洪水冲垮。
还要留意切错的代价:备用通道容量往往比主路小,全量灌进去可能把备用也压垮,所以正规做法是按比例逐步放量,边切边观察备用通道的水位。
降级预案自查清单
- 备用通道选好了吗,能力和容量够接住多少流量
- 切换条件定量化了吗,错误率和延迟的阈值是多少
- 降级后回答质量的落差,业务方知情并认可吗
- 主路恢复后的回切步骤,有没有人记得执行
四个问题答不全,预案就只是纸面上的安慰。
用户感知到的差别
设计得当的降级,用户侧只有细微差别:回答风格略有变化、复杂问题答得浅一些、偶尔提示「当前使用的是快速模式」。设计不当的降级则是一眼穿帮:上下文丢了,用户刚说的话它不记得;格式变了,下游解析程序批量报错;错误被原样转发,用户还是看到报错只是换了个文案。所以预案里必须覆盖会话状态和输出格式这两件事,前者靠会话信息的同步传递,后者靠网关层做格式适配,让备用模型的输出套上同一层「皮」再出去。
顺带一提,调用 DeepSeek、豆包这类开放接口时,同样可以在应用层给自己配降级:接口调用失败自动换另一家,逻辑与自建服务完全相同,只是切换动作发生在你的代码里而不是网关里。
平时铺路急时兜底
降级路由的思路一句话说完:平时多铺一条路,急时少停一次服。铺路的关键动作是选定备用方案、定量化切换条件、演练回切流程。异常的发现靠什么是用量看板?花费的可视化,新手版入门和什么是调用日志?排查与审计,通俗版解释,硬性停机风险要靠什么是预算告警?超支前提醒,别再混淆了预防,更大范围的预案体系见什么是容灾?备用通道的准备,一次讲明白,把可用性写成白纸黑字的是什么是 SLA?服务等级承诺,一个例子讲透。
降级路由快问快答三则
- 降级和限流是什么关系?:限流是主动控制进门人数,降级是路堵了换条道走,一个管入口秩序,一个管出路兜底,常常搭配使用。
- 切换瞬间用户的对话记录会丢吗?:取决于会话状态有没有同步到备用通道,正规预案会把上下文一并迁移,没做这步就会出现「失忆」体验。
- 小项目值得做降级吗?:轻量做也值得,哪怕只是接口报错后自动重试一次再换备用接口,几行代码就能挡掉大半的偶发故障。


