事后聪明偏差
解释事后聪明偏差如何在结果已知后高估过去对结果的可预测性,并导致复盘、绩效和事故分析中把不确定性改写成“早就显而易见”。
[!info] related notes
- 所属 MOC: cognitive-biases-moc
- 前置概念:
- 并列概念:
- 易混淆概念:
- 关系笔记:
事后聪明偏差
一句话定义
事后聪明偏差(hindsight bias)是:结果已经发生后,人会觉得这个结果在事前比实际更容易预测,并产生“我早就知道”的感觉。
它会偷偷改写我们对过去信息状态的记忆。
核心结构
事前:A、B、C 都可能发生
↓
实际发生 B
↓
事后:B 看起来“本来就很明显”
真正的问题是:你在事后拥有了一个当时并不存在的关键变量——结果本身。
最小例子
比赛前:
“双方都有机会,A 稍微占优。”
比赛后 B 大胜:
“我就知道 B 肯定会赢,A 那几个问题太明显了。”
很多“明显问题”可能事前已经存在,但它们当时并没有把结果唯一确定下来。
软件事故复盘
生产事故后非常容易说:
“这个配置看一眼就知道会出事,为什么当时没人发现?”
但复盘真正需要还原:
当时有哪些信息可见?
哪些告警已经触发?
哪些信号只是事后才知道重要?
当时还有多少同样看起来异常但最终无害的信号?
如果不用“当时的信息集”重演判断,就会把事故原因误写成个人粗心。
为什么它伤害学习
如果所有失败事后都变成:
“早就应该知道。”
那么组织会错过真正问题:
- 告警设计是否不足;
- 风险是否无法被观察;
- 流程是否缺少检查;
- 多个弱信号为什么没有汇聚;
- 当时的替代解释是否同样合理。
好的复盘不是证明过去的人“本应预测未来”,而是改进未来在类似信息下的判断能力。
预测记录为什么有价值
事前保存:
预测:A 60%, B 30%, C 10%
依据:E1, E2
什么会改变判断:E3
结果出来后再比较。
没有事前记录,人很容易把:
“我觉得 B 有可能。”
记成:
“我当时就判断 B 会发生。”
和过度自信的关系
过度自信偏差让我们在事前给自己过高把握;事后聪明偏差则会进一步让过去看起来更可预测。
二者结合后容易产生:
事前:我很确定
事后猜对:看吧,本来就明显
事后猜错:我其实当时也考虑过这个结果
这样就很难真正校准预测能力。
和结果偏差 Outcome Bias 区分
事后聪明偏差:
结果发生后,觉得它事前就很可预测。
结果偏差更强调:
根据最终结果好坏来评价当时的决策质量。
例如一个基于当时信息 80% 胜率的合理决策最终失败,不代表当时决策一定糟糕。
当前知识库先保留这一区分,后续如需要可单独补结果偏差。
AI Agent 复盘场景
Agent 一轮实现失败后,reviewer 很容易说:
“显然一开始就应该采用方案 B。”
更好的复盘应该问:
在 plan 阶段哪些证据已经支持 B?
当时为什么 A 仍然合理?
有什么早期测试可以更快区分 A/B?
这样才能改进计划机制,而不是事后重写历史。
什么情况“早就应该知道”可能是真的
如果事前已经存在:
- 明确规则;
- 高质量告警;
- 直接证据;
- 已知历史故障;
且决策者确实忽略了它,那么事后指出可预见性是合理的。
关键仍然是基于当时可获得的信息,而不是仅凭结果显得 obvious。
去偏方法
- 重要预测事前记录概率,而不是只写“会/不会”。
- 复盘时先隐藏结果,重建时间线和当时信息。
- 保存当时真实的 issue、plan、聊天和告警,而不是靠记忆。
- 同时列出当时合理的竞争解释。
- 区分“结果不好”与“基于当时信息的决策过程不好”。
快速自测
上线后某依赖导致故障。团队说:
“这个依赖维护者只有两个人,明显从一开始就不该用。”
需要问:这个信息当时是否被识别为关键风险?有没有大量同样维护人数少却稳定的依赖?当时还有什么证据支持选用?
一句记忆
结果出来以后,过去会被照得很亮;但别把这束事后的灯光假装成当时就存在。