为什么要先想降级
线上 AI 功能最常见的故障不是"算法变差",而是**上游不可用**:模型接口超时、限流、区域故障、余额耗尽。
如果不设计降级,这些都会直接变成"整站这个功能打不开"。
降级的目标不是"保持一样好",而是**保持可用、并且如实告诉用户**。
四层降级(从轻到重)
1. **重试与切换**:短超时 + 有限次重试;有备用通道就切过去(注意换通道后输出风格可能变化,要在结果里标注用了哪条通道)。
2. **换小模型**:把任务降到能完成的最小模型上(分类、抽取、格式化通常小模型够用),并**标注"已降级"**。
3. **规则兜底**:用模板/关键词/正则给出**有限但正确**的结果(例如"暂不能生成,先给你要点清单")。
4. **明确不可用**:直接说"当前不可用,可稍后再试",并给出替代入口(例如离线工具、上传文件本地处理)。
三条容易做错的地方
把降级写进产品
一个可执行的检查清单
1. 列出每个 AI 功能的上游依赖;
2. 给每个依赖定超时与重试次数(不要无限等);
3. 为每个功能写一个**规则兜底**的输出样例,确保真人看得懂;
4. 加一条"降级率"指标并设告警阈值;
5. 演练一次:手动断开上游,看降级链是否按预期逐层生效。