2001 年 11 月 12 日早上,美国航空 587 航班跟在一架日本航空的 747 后面,从纽约肯尼迪机场起飞,第二次闯进了它的尾流。颠簸很轻。美国国家运输安全委员会(NTSB)后来认定,这次遭遇「没有让 587 航班进入失控状态」。
副驾驶的反应却很猛。不到七秒,他把方向舵踏板踩了个遍:右、左、右、再往右、左、又右。每踩一下,机头就往一侧偏,每偏一次,垂直尾翼就多受一份力。机长说:「稳住,稳住。」9 点 15 分 58 秒,固定尾翼的一个接头断了,尾翼脱落。机上所有人和地面上的 5 个人遇难。
调查报告里有一句话读着心惊:只要副驾驶在尾翼断开前「任何一刻」停手,「飞机自身的稳定性就会让侧滑角回到接近 0 度,事故本可以避免」。飞机一直在自己回正,是那些修正没让它回成。NTSB 也指出,这款飞机的方向舵系统在高速时格外灵敏,训练也可能强化了他对尾流反应过猛的倾向。其余经过见案例。
漏斗
质量管理先驱 W. 爱德华兹·戴明,给这种「本来放着不管就没事、偏要去纠正」的做法起了个名字,叫「瞎调」(tampering),还用一只漏斗把它演示出来。
把漏斗架在一张纸的靶心上方,往里丢一颗弹珠。弹珠不会每次都正好落在靶心,总会这边偏一点、那边偏一点,原因谁也控制不了。人的本能,是挪动漏斗去补上一次的偏差:上次往左偏了两厘米?那就把漏斗往右挪两厘米。
这感觉像是在用心管理,结果却更糟。戴明为挪漏斗列了四条规则。按质量工程师托马斯·皮兹德克的概括,第一条,漏斗不动,弹珠落点的散布最小;第二条,每次都把漏斗挪去抵消上一次的偏差,落点仍围着靶心,方差却翻了一倍;其余两条会让落点越漂越远。弹珠的偏差本来是随机的,每一次纠正,只是把自己叠加到了下一次随机的偏差上。
戴明研究所列了几种日常版本:某一次结果超出范围就去调整流程;每做一次员工满意度调查就改一次政策;按上个月的产出重定指标;拿去年的预算偏差来定今年的预算。
什么时候该动漏斗
这并不是说永远别调。有些变化确实是信号:工具坏了、换了供应商、情况真的变了。戴明用来区分两者的工具是控制图,它画出一个稳定过程平常会在多大范围里摆动,超出范围的点就会跳出来。这个区分另有专页:普通原因与特殊原因。瞎调,就是把每一个点都当成了特殊情况。
另一条路,是有意地、凭证据去改系统本身,而不是每出一个结果就推它一下。追着上一颗弹珠挪漏斗,并没有改变系统,只是多加了一个摆动的来源。
每周的排班
设想一家小咖啡馆,店长按这周的营业额排下周的班。这周二冷清,下周二就少排一个人;周六忙,就多排一个。可周二、周六的生意本来就会随着天气和附近的活动上下起伏。店长可能恰好在生意回升的那天人手不够,在生意回落的那天人又太多,营业额反倒比原来摆得更厉害。先看三个月的周二再动手,也许会发现根本没什么要纠正的。
被动应付的循环
做 AI 智能体的人也会掉进这个坑,因为智能体每次运行的表现都不一样。Anthropic 在一份评测智能体的指南里写道:「这次评测通过的任务,下次可能就失败。」它说,没有像样的评测,调试就只能被动应付:「等用户抱怨,手动复现,修掉这个 bug,祈祷别的地方别退步。」这样的团队会「陷进被动应付的循环」,修好一个失败,又冒出另一个,「分不清真正的退步和随机波动」。
它给的建议,就是换了个场景的戴明:同一个测试多跑几次,看智能体成功的比例,别对着某一次失败的运行做反应。这样,在有人动手改提示词或工具之前,就更有把握判断,是真退步,还是这一次运气不好。
在 587 航班上,那次颠簸早就过去了。副驾驶却还在一下一下地回应它。