选型指南 架构设计 含可复制代码

给 AI 功能做降级设计:上游挂了,用户还能用

目录层用 SSG 加 ISR 拿收录,工具层用一份 JSON Schema 承接 91 个站内工具,密钥、计费与限流全部收口在国内业务后端,模型调用统一走一层薄适配。这篇把我们真实的目录结构、Schema 字段定义、路由闸门、预扣结算伪代码和合规清单完整摊开。

陈
陈默架构组
2026-09-28 · 14 分钟阅读 · 8,432 次浏览

降级的目标不是保持一样好,而是保持可用、并且如实告诉用户。

为什么要先想降级

线上 AI 功能最常见的故障不是"算法变差",而是上游不可用:模型接口超时、限流、区域故障、余额耗尽。

如果不设计降级,这些都会直接变成"整站这个功能打不开"。

降级的目标不是"保持一样好",而是保持可用、并且如实告诉用户。

四层降级(从轻到重)

1. 重试与切换:短超时 + 有限次重试;有备用通道就切过去(注意换通道后输出风格可能变化,要在结果里标注用了哪条通道)。

2. 换小模型:把任务降到能完成的最小模型上(分类、抽取、格式化通常小模型够用),并标注"已降级"。

3. 规则兜底:用模板/关键词/正则给出有限但正确的结果(例如"暂不能生成,先给你要点清单")。

4. 明确不可用:直接说"当前不可用,可稍后再试",并给出替代入口(例如离线工具、上传文件本地处理)。

三条容易做错的地方

· 静默降级:用户以为在用完整能力,实际拿到的是兜底结果——这比直接报错更糟,因为错误会被当成事实;

· 降级链条不设上限:逐层降级到"什么都能答应但什么都做不好",不如在第 3 层就停住;

· 只降级不监控:降级触发率必须进看板,否则你会长期在降级状态里运行而不知道。

把降级写进产品

· 界面明确显示状态(正常 / 已降级 / 不可用),而不是用同一套文案;

· 降级时降低承诺:不展示"精确数字",改成范围或"待确认";

· 记录降级原因到日志(超时 / 限流 / 校验失败),便于归因。

一个可执行的检查清单

1. 列出每个 AI 功能的上游依赖;

2. 给每个依赖定超时与重试次数(不要无限等);

3. 为每个功能写一个规则兜底的输出样例,确保真人看得懂;

4. 加一条"降级率"指标并设告警阈值;

5. 演练一次:手动断开上游,看降级链是否按预期逐层生效。

本文由云枢 AI导航整理,内容以官方来源为准。

相关文章

顺序阅读

← 上一篇:响应慢在哪里:把首字延迟与总时长分开优化
下一篇:提示词版本管理:把提示词当代码来管 →

第 13 / 171 篇

术语速查 · 本页出现的 12 个词展开看中文名与一句话解释,点术语看完整条目
  • token词元:模型处理文本的最小单位,中文约 1–2 个汉字;计费与上下文长度都按它算。
  • 转写 / 字幕Transcription:把音视频人声逐句变成带时间戳的文字稿,便于做字幕与章节切分。
  • SSE服务器发送事件:服务器通过长连接持续推送增量文本,是对白逐字出现的常见实现。
  • API应用编程接口:程序之间约定的调用方式;站内工具由服务端调用,浏览器里不出现密钥。
  • CDN内容分发网络:把静态资源缓存到离用户更近的节点,缩短加载时间。
  • 缓存Cache:把结果暂存复用,复用得越多平均耗时越低;需要约定过期与刷新策略。
  • 限流Rate Limit:限制单位时间内的请求次数,防止单用户或异常流量打满服务端。
  • SSG静态站点生成:构建阶段就生成 HTML,访问时直接返回,不必每次请求都渲染。
  • ISR增量静态再生:先返回静态页,再在后台按需重新生成,兼顾速度与更新时效。
  • 灰度发布Canary Release:先让一小部分用户用新版本,确认无误再放量,出问题的爆炸半径最小。
  • 提示词Prompt:交给模型的指令文本;写清角色、任务、输入与输出格式比反复试更省。
  • 积分Credits:站内计费单位:按工具单价预扣,调用失败自动退还;单价以定价页为准。

完整解释与站内出现处见 AI 术语表(40 条)。