L1.06.3silent failure is worse than explicit failure设计研究
静默失败比明确失败更有害
别名: 静默失败 · 无声错误 · silent degradation
概念解释
生成没做成该做的事,界面却像做成了:空白被一段流畅的「我无法确切知道,不过……」填满,或检索挂了仍交出一段像答案的话。人按成功去行动。静默失败(silent failure)比红字更有害,因为它关掉了失败该打开的那条降级。
明确失败至少启动「接下来怎么办」。静默失败启动的是信任。
机制
检测失败需要一个与「看起来像输出」不同的信号:空、模式校验失败、工具报错、低自洽。若产品把任何 token 流都当成成功,检测器永远不响。生成模型特别擅长在工具失败后继续说话,把缺口补成叙述。叙述满足了「界面上有字」,不满足「任务被完成」。
人用完成图式检查界面:有正文、无错误条,就是成了。后续动作(转发、执行、引用)在这个图式上触发。危害发生在降级机制的上游——机制从未被叫到。
怎么研究
比较三类结局:明确错误并给退路、静默的似是而非输出、空。任务带外发或引用。因变量:错误被当成功用的比例、检出时间、是否走到退路。自变量:有无校验器、失败时是否禁止继续生成、是否保留工具报错原文。
「用户满意度」会偏向静默组,因为没有难看的红条。主终点必须是错误使用率。
边界
修辞性的「我不确定」若同时阻断了行动(不能一键发送、不能标成已完成),就不是静默失败,是不确定表达。部分输出且标明哪些段未完成,也不是静默。真正的静默是成功外观 + 失败事实。工具偶尔超时但结果仍被独立校验的流水线,静默窗口较短。这条不讨论「看起来正常的错误内容」那种校验器根本叫不醒的情况——那是内容级假成功,另有专条。
怎么落地
- 工具失败、空响应、模式不合法,禁止再让模型把缺口补成文章。直接走失败面板。
- 成功外观只在校验通过后点亮:有结构就校验结构,有引用就打开引用,有动作就试跑沙箱。
- 失败文案要说「没做成」,不要说「下面是我的理解」。
- 验证:拔掉检索或工具,看界面。若仍出现一段像答案的话且无错误态,静默已在生产里。再看这段话会不会被「复制/发送」——会,危害通路是通的。
延伸
- 同组:L1.06.1 失败时需回到确定性路径 · L1.06.2 降级顺序需预先定义 · L1.06.4 失败分为无输出、错误输出与部分输出,三者需要不同的降级路径 · L1.06.5 最危险的是看起来正常的错误输出,它不触发任何降级机制 · L1.06.6 降级到确定性路径的前提是该路径一直被维护,而非只在故障时才存在 · L1.06.7 降级需保留用户已输入的内容,让用户从头再来是最常见的降级失败 · L1.06.8 超时与限流是可预期失败,其说明方式应与模型出错区分开
- 相邻:L3.03 幻觉与事实核查负担 · I3.01 系统状态可见 · L4.13 代理的失败上报与求助
- 站内检索:
silent failure·silent degradation·false success appearance