1. 一个具体问题
网站在一次配置更新后开始报错,团队提出两个解释:配置中的连接地址写错了,或者三个独立服务恰好同时出现未知故障。两种说法都能解释“网站不可用”,但需要引入的额外假设不同。应该先验证哪一个?
2. 一句话解释
当多个解释与已有证据同样相容时,优先考虑不需要额外无根据假设的解释,同时保留被新证据推翻的可能。
3. 出处与原意
这一思想通常与中世纪思想家 William of Ockham 联系,但简约思想早于他,常见格言也不宜直接当成其逐字原话。哲学中对“简单”的含义和合理性一直有争论,奥卡姆剃刀是一种方法论偏好,不是保证真相简单的定理。
4. 原理与机制
复杂解释往往有更多可调参数,因此容易为任何结果找到说法。减少不必要假设,可以让解释更容易检验,也降低过拟合历史现象的风险。但比较必须在解释力近似的前提下进行:一个简单模型若忽略关键证据,就不能靠“更简洁”胜出。简单还要相对于领域语言来判断,公式短、叙事短和机制少不是同一回事。最好明确每个解释需要哪些前提,以及下一条证据如何区分它们。
在模型选择中,简约还可以通过额外数据检查:一个公式在训练样本上拟合得极好,但换一批样本就失效,说明复杂度可能吸收了偶然波动。较简单模型若保留主要结构,预测反而可能更稳健。不过这种结果需要实际验证,不能只凭参数少就宣布优越。应同时考察解释范围、预测误差与模型所需信息的可靠性。
5. 一个完整案例
假设案例:内部页面在修改环境配置后的五分钟内失败,回滚后恢复。团队先假设连接地址错误,因为它只需要一次已发生的变更就能解释现象。检查日志后发现解析域名失败,修正地址并在预发布环境复现,证据链形成。若日志反而显示地址正确而鉴权失效,团队就应转向其他解释。这里优先简单假设节省了排查次序,并没有授权团队在查看日志之前宣布原因已经确定。
6. 适用条件与反例
适合故障排查、科学建模和审查复杂叙事。对由多个因素共同导致的系统事故,最终解释可能确实复杂。它也不能用于判断人的动机“必然简单”,更不能把少数情况当作不该存在的噪声直接删掉。
7. 今天可以尝试的行动
面对两个竞争解释,各写出所需的额外假设和尚未解释的事实。优先测试既有区分力、成本又低的一项预测。保持候选列表,遇到反证就更新,而不是把最初选择变成必须维护的立场。