沉默失败:最危险的失败是没有报错

人工智能 · 2026-10-07

有一类失败不产生错误。本文给出六种沉默失败(空结果/空洞答案/静默降级/静默截断/默认值兜底/部分成功)、五个守卫与阈值、为什么指标正常也会出事与三个反模式。


最危险的失败是"没有报错"

有一类失败最难发现 ✗:系统"成功"返回了 ✔,但结果是错的或空的 ✔ ——

**没有异常、没有报警、指标也正常** ✔(因为接口确实 200 ✔)。

**这类"沉默失败"要靠专门的守卫来抓** ✔。

一、六种沉默失败

```

① 返回空结果但状态成功(检索没命中,却当"没有相关内容"返回)

② 答案格式对但内容空洞("这取决于具体情况")

③ 静默降级(走兜底但未标注,见降级链那篇)

④ 静默截断(输入/输出被切但没有说明)

⑤ 默认值兜底(字段缺失时用默认值填上,且不告知)

⑥ 部分成功(10 条里成功 3 条,只报成功)

```

**第 ① 与 ⑤ 项最常见** ✗→✔。

二、五个守卫

| 守卫 | 抓什么 |

|---|---|

| **空结果率**(按功能) | ①(突然升高说明检索或解析坏了 ✔) |

| **答案长度下限** | ②(低于阈值触发复核 ✔) |

| **降级标注率** | ③(降级了就必须有标注 ✔) |

| **截断计数** | ④(截断必须计数并呈现 ✔) |

| **默认值使用率** | ⑤(按字段统计 ✔ —— 高说明上游缺失 ✔) |

| **部分成功明细** | ⑥(必须报"成功 3 / 失败 7" ✔) |

**要点**:**每个守卫都要有阈值与告警** ✗ ✔,否则等于没有 ✔。

三、为什么"指标正常"也会出事

因为常规指标看的是**错误率**(异常/失败 ✔),

而沉默失败**不产生错误** ✔ —— 它产生的是"看起来正常的坏结果" ✔。

**所以必须监控"结果质量的下限",而不仅是错误率** ✔:

  • 空结果率 ✔;
  • 平均输出长度 ✔(骤降是好信号 ✔);
  • 用户追问率 ✔(答得不好 → 用户会追问 ✔ —— 这是最灵敏的间接信号 ✔)。
  • 四、三个反模式

  • **只监控 5xx** ✗;
  • **把"没结果"当成正常业务** ✗(没结果可能是故障 ✔);
  • **部分成功只报成功** ✗(最容易被用户投诉的一类 ✔)。
  • 五、一条判据

    > 让系统"静默返回空结果" ✔,多久会被发现 ✔?

    > 如果只能靠用户投诉才发现,说明沉默失败没有守卫 ✗。

    想要你的品牌在AI回答里被推荐?

    免费诊断 →