解读 · 失败优先与失效安全
什么是失败优先模型?
一种被设计成先失败、从失败中学习、并且永远不让这种学习扩大其被允许做的事的模型。为什么“失败优先”与“失效安全”是同一个模型的两个名字。
失败优先模型(fail-first model)是这样一种 AI 模型:它预期会失败,只从自己实际观察到的失败中学习,并把每一次失败变成一条明确的规则。因为每条规则都只能收窄模型的行为,所以先失败是安全的。失败优先模型就是失效安全模型的学习侧:同一个模型,按它的学习方式来描述。
你无法从一次尚未发生的失败中学到规则。所以一个从经验中学习的模型必须先失败,而真正的设计问题只有一个:失败被允许把它带到哪里。失败优先模型以失效安全的方式回答这个问题:它在行动之前先算出自己被授权做什么,只让失败在这个授权之内教它,并把每一条教训写成一条引用其失败证据的规则。先失败是它学习的方式;失效安全是先失败可以被接受的理由。Perslis Research 的 Peel 两者兼具:据我们所知,它是第一个失效安全模型。
1. 为什么学习型模型必须先失败
一条“在情形 S 下不要做 X”的规则,只能由“X 在 S 中会失败”的证据来证明其合理。在 X 被尝试之前,没有证据,只有猜测。有两类系统回避了这一点:
- 从不学习的系统。每条规则都事先由人手写。它们不需要失败,但永远不会比它们的作者更好。
- 从别人的数据中学习的系统。在大型语料上训练的模型以二手方式继承了别人的失败,形式是它无法引用来源的统计模式。
失败优先模型做的是第三件事:它在自己的环境中,从自己的失败中学习,并把每一条教训保留为一条可读的规则。这意味着它必须被允许失败,也意味着环境必须被安排成失败不会造成伤害。正是这种安排使它成为失效安全的。
2. 为什么失败优先与失效安全是同一个模型
这两个名字描述的是同一个回路的两半:
失败 → 观察 → 解释 → 建立规则 → 核验 → 重试
| 失败优先 | 失效安全 | |
|---|---|---|
| 描述的是 | 它如何学习 | 学习被允许改变什么 |
| 回路步骤 | 失败、观察、解释、建立规则 | 核验,在地板之内重试 |
| 保证 | 每条规则都引用挣得它的失败 | 没有任何规则能扩大模型可做的事 |
| 缺了另一半 | 靠把东西弄坏来学习 | 安全,但永远不会进步 |
一个先失败却不失效安全的系统,是在靠把东西弄坏来学习。一个失效安全却从不先失败的系统,只是一本永远不会进步的固定规则手册。只有两者同时成立,模型才有用;这也是我们把两个名字视为一体的原因:失败优先模型就是失效安全模型,按它的学习方式来描述。
3. 用两条陈述说清数学
完整的推导见什么是失效安全模型?。承载“失败优先”这一理念的是两个结果。
合起来看:失败对学习是必要的(第一条),对授权是无害的(第二条)。这就是支持“先失败”的全部理由。
4. 失败优先、失效安全、快速失败与失败优先原则
“失败优先”一词也在其他领域使用,含义相关但不相同。
| 术语 | 领域 | 含义 |
|---|---|---|
| 失败优先模型 | AI 模型(本页) | 从自己观察到的失败中学习,形成明确的规则,且只在它无法扩大的授权之内。是失效安全模型的另一个名字。 |
| 失效安全 | 工程 | 故障会把系统推向安全状态(空气制动、安全电梯)。 |
| 快速失败(fail-fast) | 软件工程 | 在第一个错误处停下,而不是在错误状态中继续运行。 |
| 失败优先原则 | 约束满足 | 一种搜索启发式:先尝试最可能失败的地方,以便尽早发现死路 [1]。 |
约束满足中的这条原则是最近的“亲戚”。Haralick 与 Elliott(1980)表明,回溯搜索在遵循两条原则时会变得更高效:先尝试最可能失败的地方,以及记住已经做过的事,以免重复同样的错误 [1]。失败优先模型把第二条原则用在整个模型上,而不是一棵搜索树上:每一次失败都被记为一条规则,于是同样的错误不会犯第二次。
5. 什么时候不能接受先失败
有些失败哪怕一次也不能允许:与人发生碰撞、错误的剂量、不可撤销的资金划转。对这些情形,失败优先的那一半不适用。地板必须事先写出来,而不是学出来,学习者只在它之上运作。这不是需要掩饰的弱点,而恰恰是两半之间的分界线:习得的规则处理你承受得起的失败,写定的规则处理你承受不起的失败。
第二个限制:当有风险的动作同时也是唯一有用的动作时,纯粹的失败回避会学会不再做它。我们自己的 Freeway 结果展示了这一点,这也是为什么给可恢复的失败定价仍是开放的工作(见失效安全解读的 §5.7)。
6. 证据
| 测试 | 结果 | 先失败带来了什么 |
|---|---|---|
| Freeway(Atari) | −12% | 学到唯一能得分的动作很危险,于是不再得分。 |
| 太空侵略者(Atari) | +32% | 学到哪些动作会致命,于是存活得更久。 |
| 《辐射》(1997),脚本化场景 | 只死一次 | 在守卫面前死了一次,此后每次都选择和平的那句台词。 |
| 无人机赛道,仿真 | 69.39 → 51.52 | 在 7 轮内重新学会一条被清空的路线;5 项让结果变差的改动被撤回。观看视频。 |
7. 常见问题
- 什么是失败优先模型?
- 一种预期会失败、只从自己实际观察到的失败中学习的 AI 模型,它把每一次失败变成一条只能收窄其行为的明确规则。它是失效安全模型的另一个名字,描述的是该模型如何学习。
- 失败优先模型和失效安全模型是一回事吗?
- 是的。它们是同一个模型的两个名字。失败优先描述它如何学习:从自己的失败中学习。失效安全描述这种学习可以改变什么:永远不能改变它的授权。缺了任何一个,另一个都不完整。
- 为什么要让模型先失败?
- 因为一条规则只能由证据来证明其合理,而“某件事会失败”的证据就是一次失败。一个从自己的失败中学习、并把每条教训保留为可读规则的模型,会在它真实的环境中进步,而不是依赖它无法引用来源的二手模式。
- 先失败危险吗?
- 当模型是失效安全的时候就不危险:每一次失败都会走向拒绝或暂停,永远不会走向其授权之外的动作。对于一次也不能允许的失败,地板必须事先写定,而不是学出来。
- 失败优先与约束满足中的失败优先原则是一回事吗?
- 不是,但两者相关。失败优先原则(Haralick 与 Elliott,1980)是一种先尝试最可能失败的选择的搜索启发式。失败优先模型把同一篇论文中与之相伴的另一个理念,即记住失败以免重复同样的错误,应用到整个模型上。
- 谁打造了失败优先模型?
- Perslis Research。据我们所知,Peel 是第一个失效安全模型,而失败优先是它学习方式的名字。它是研究原型,并非经过认证的安全系统。
8. 参考文献
- R. M. Haralick, G. L. Elliott. Increasing tree search efficiency for constraint satisfaction problems. Artificial Intelligence 14(3):263–313, 1980.
- E. B. Wilson. Probable inference, the law of succession, and statistical inference. Journal of the American Statistical Association 22(158):209–212, 1927.
- Perslis Research. 什么是失效安全模型?定义、科学与数学。2026。perslis.com/fail-safe-model.zh
- Perslis Research. VDSG: A Commanded Admission-Control Runtime for Autonomous Agents. 2026. research.perslis.com/vdsg