元信息
- 标题:The Infinite Hows (or, the Dangers Of The Five Whys)
- 作者:John Allspaw(署名 allspaw,前 Etsy CTO,人因工程/韧性工程布道者)
- 来源 URL:https://www.kitchensoap.com/2014/11/14/the-infinite-hows-or-the-dangers-of-the-five-whys/
- 原文日期:2014-11-14
- 存档日期:2026-11-04
- 标签:事故复盘、五问法、根因分析、人因工程、复杂系统、韧性工程
这篇讲什么与核心观点
对「五问法」最系统的一次批判。Allspaw 立场克制:批判方法而非人,观点多来自 Dekker、Leveson 等安全科学学者。他先拆解经典案例(服务器故障→用错子系统→工程师不会用→没培训→经理之责),指出这条"因果链"最终收敛的全是人的个体属性,而非让事件得以发生的多重条件。核心论点:
- "Why" 是错误的问题——追问 why 容易滑向 "who"(谁的责),问 "how" 才能引出当事人的叙事,揭示事件的真实条件;
- 因果链是建构出来的,不是被发现的——从哪开始问、在哪停止问都是调查者的选择,"根因"只是你停止寻找的地方;
- "人犯错"是起点不是结论——第一故事(人的失误)无学习价值,要深挖第二故事(系统性脆弱性)。
替代方案:用 Dekker 的复盘引导问题(线索、解读、目标、行动、结果、沟通、求助)在关键节点重建"当时的世界对当事人是什么样"。
最值得记住的金句
- "Cause is something we construct, not find."(原因是建构的,不是找到的)
- Hollnagel 的 WYLFIWYF:What-You-Look-For-Is-What-You-Find——更进一步,你找什么,就修什么。
- 思想实验:用五问法给一次"成功"找根因——为什么今天没出事故?你会发现顺利的原因无穷多,单条因果链根本装不下。
对我的启发
- Agent 系统调试:Agent 跑偏时问"为什么"易归因到"模型不行/prompt 写错"这类个体属性;换问"how"——它当时看到了什么上下文、预期是什么——才能暴露真问题(上下文缺失、工具返回误导)。Agent 的 local rationality 由它收到的信息决定,正是 context engineering 的复盘视角。
- 个人知识管理:存叙事与多元视角而非单线程根因摘要,对抗事后偏见(Fischhoff 的研究,其导师正是 Kahneman)。
- 写作:本文结构是观点文范本——结论先行、拆案例、给替代法、坦承立场、附录放硬核理论。
适合谁读
做事故复盘的工程师与管理者、推行无责复盘文化的团队、关注 AI Agent 可靠性与上下文工程的人,以及想入门人因工程的读者。