让系统静默返回空结果,多久会被发现?
最危险的失败是"没有报错"
有一类失败最难发现 ✗:系统"成功"返回了 ✔,但结果是错的或空的 ✔ ——
没有异常、没有报警、指标也正常 ✔(因为接口确实 200 ✔)。
这类"沉默失败"要靠专门的守卫来抓 ✔。
一、六种沉默失败
```
① 返回空结果但状态成功(检索没命中,却当"没有相关内容"返回)
② 答案格式对但内容空洞("这取决于具体情况")
③ 静默降级(走兜底但未标注,见降级链那篇)
④ 静默截断(输入/输出被切但没有说明)
⑤ 默认值兜底(字段缺失时用默认值填上,且不告知)
⑥ 部分成功(10 条里成功 3 条,只报成功)
```
第 ① 与 ⑤ 项最常见 ✗→✔。
二、五个守卫
| 守卫 | 抓什么 |
|---|---|
| 空结果率(按功能) | ①(突然升高说明检索或解析坏了 ✔) |
| 答案长度下限 | ②(低于阈值触发复核 ✔) |
| 降级标注率 | ③(降级了就必须有标注 ✔) |
| 截断计数 | ④(截断必须计数并呈现 ✔) |
| 默认值使用率 | ⑤(按字段统计 ✔ —— 高说明上游缺失 ✔) |
| 部分成功明细 | ⑥(必须报"成功 3 / 失败 7" ✔) |
要点:每个守卫都要有阈值与告警 ✗ ✔,否则等于没有 ✔。
三、为什么"指标正常"也会出事
因为常规指标看的是错误率(异常/失败 ✔),
而沉默失败不产生错误 ✔ —— 它产生的是"看起来正常的坏结果" ✔。
所以必须监控"结果质量的下限",而不仅是错误率 ✔:
· 空结果率 ✔;
· 平均输出长度 ✔(骤降是好信号 ✔);
· 用户追问率 ✔(答得不好 → 用户会追问 ✔ —— 这是最灵敏的间接信号 ✔)。
四、三个反模式
· 只监控 5xx ✗;
· 把"没结果"当成正常业务 ✗(没结果可能是故障 ✔);
· 部分成功只报成功 ✗(最容易被用户投诉的一类 ✔)。
五、一条判据
> 让系统"静默返回空结果" ✔,多久会被发现 ✔?
> 如果只能靠用户投诉才发现,说明沉默失败没有守卫 ✗。
本文由云枢 AI导航整理,内容以官方来源为准。
相关文章
顺序阅读
← 上一篇:长结果的呈现:分层、截断与续写
下一篇:AI 功能的可访问性:键盘与屏幕阅读器能用吗 →
第 162 / 171 篇