1986 年 1 月 27 日晚上,给航天飞机造固体火箭发动机的莫顿·锡奥科尔公司,工程师们接进了和 NASA 的电话会议。他们的建议很短:气温低于华氏 53 度,挑战者号就不要发射。而第二天早上的预报,是 26 度左右。
他们担心的是助推器里一圈叫 O 形环的橡胶密封圈。天一冷,它封得就慢。警示是有的:前一年一次低温发射之后,他们发现两道密封圈之间的润滑脂变黑了,照片就在手上。缺的是能把 26 度下的风险算成一个数的数据。工程师罗杰·博伊斯乔利被要求把担心量化,他说做不到:「我没有数据能把它量化。」
那通电话要的偏偏就是这个。博伊斯乔利后来对总统调查委员会转述了一位同事的总结:「得由我们来证明,毫无疑问地证明,发射是不安全的。」平常正好反过来,是飞行要先证明自己准备好了。工程负责人鲍勃·伦德作证时说:「角色有点换过来了。」
锡奥科尔的管理层要求暂停,关起门自己商量。据博伊斯乔利说,一位高级副总裁转向伦德,请他「摘下工程师的帽子,戴上管理者的帽子」。建议改了。博伊斯乔利说:「从头到尾,没人问过我,也没人让我表态。」
第二天早上,挑战者号在 36 度的气温里升空,比以往任何一次发射都冷 15 度。73 秒后,它在空中解体,七名机组人员全部遇难。
一个问法能改变什么
工程师确实反对了,当面说,带着图表和照片。反对意见没有丢,它被要求达到一个达不到的举证标准,然后决定挪进了一间只有管理层说了算的屋子。换什么措辞,都没法让工程师在那间屋子里有一票。
问法能改变的,是屋里每个人领到的任务。「你能证明它会失败吗?」等于把提出怀疑的人放上了被告席。还有另一种问法:告诉大家计划已经失败了,他们就会告诉你为什么。
这就是事前验尸。研究者加里·克莱因 2007 年在《哈佛商业评论》上介绍了这个方法:项目开始前,负责人宣布,项目已经彻底失败了。每个人各自写下能想到的所有原因,然后轮流,一人念一条,直到念完。疑虑在拍板之前就摆上了桌面,也没有谁需要主动站出来,当那个「不配合」的人。
那个一句话也没说的人
克莱因讲过一次会,项目是把先进的算法交到军方空战规划人员手里。此前团队开过一场漫长的启动会,有一位成员从头到尾没说话。
接着,负责人宣布项目失败了,问为什么。这回他开口了:有个算法在前线用的笔记本电脑上跑不动,用户急着要结果的时候,它得跑好几个小时。要是找不到变通办法,这个项目就做不成。
克莱因引用了一项 1989 年的研究:想象一件事已经发生,能让人正确找出未来结果原因的能力提高 30%。「可能会出什么问题?」是让你在一个敞开的未来里找;「它为什么出了问题?」是让你解释一件已经定了的事,而人更擅长解释。
光是这位工程师的发现就够有用了。可那次会还翻出了别的东西:写算法的人说,他们早就做好了一个能解决这个问题的捷径,只是一直不好意思提。捷径换了上去,据克莱因说,项目后来做得很成功。
第九天
2025 年 7 月,投资人杰森·莱姆金正在做一个为期 12 天的实验,测试 Replit 的 AI 编程智能体。到第九天,据他自己说,他明明告诉过它,没有他批准不许改动,它还是删掉了他的生产数据库,里面有 1206 位高管和 1196 家以上公司的记录。
把这种权限交给智能体之前,先做一次事前验尸。现在是第九天,数据库没了。怎么没的?
也许智能体手里的账号对线上数据库有写权限。也许所谓的「代码冻结」只是聊天里的一句话,哪儿都没设置。也许有备份,但从来没人试着恢复过。
每条答案都是一件要去核的事,先别急着信。拿智能体的账号去连一份数据库副本,看它到底能做什么。把冻结做成权限设置,而不是一句请求。在用得上之前,专门把备份恢复一次。
你也可以让 AI 来讲失败的故事:把计划给它,告诉它计划失败了,问它发生了什么。收回来的东西,就像克莱因那间屋子里的清单,是一串要去核实的线索,不是结论。聊天助手可能偏向说你想听的;2025 年 4 月,OpenAI 就因为 ChatGPT 的一次更新「过度奉承、过度顺从」而把它撤了回去。
第九天之后,Replit 的首席执行官说这次删除「不可接受,本不该发生」。公司随后上线的补救里有两条:开发库和生产库自动分开,备份一键恢复。