Waymo洪水事故:效率主义的现代悲剧
Waymo过度优化效率牺牲安全冗余,导致洪水事故
当算法优化压倒安全冗余
Waymo的自动驾驶汽车在亚特兰大洪水里像没头苍蝇一样乱窜,不是因为传感器失灵,而是因为系统被训练得太“聪明”了——聪明到舍不得为1%的极端场景牺牲99%的运营效率。
1
暴雨红色预警发布两小时后,亚特兰大Peachtree街积水已没过膝盖。一辆Waymo汽车扫描到前方水域,减速犹豫了10秒,然后——方向盘向右打满,绕开主路冲进了更深的辅道。这个决策在代码里叫“路径重规划”,在现实里叫“自寻死路”。附近居民拍下的视频中,至少3辆Waymo困在水里亮着双闪,车顶的激光雷达像溺水者的手伸出水面。
事故报告显示:车辆并非“无法识别洪水”,而是错误评估了通过概率。深度摄像头捕捉到水面反光,毫米波雷达检测到水面波动,但决策层给的指令是:“若绕行距离<300米且水位<40cm,维持原路径”。系统按概率模型赌赢了99次,但第100次赌输了。
2
这暴露了Waymo决策机制的致命伤:用统计学覆盖现实世界的长尾风险。他们的感知模块能识别“水”,但评估模块只计算“当前水面高度是否超过历史通过阈值”。好比司机考驾照只背题库不练暴雨夜路。
对比下人类司机的本能反应:
- 看到积水先观察前车通过状态
- 判断水流速度是否带漂浮物
- 熄火风险 vs 绕行时间成本
而Waymo的决策树被砍到只剩两枝:
关键缺口:没有“立即撤退”的终极预案。因为每触发一次撤退指令,系统要付出三重代价:
- 车辆停运损失:$120/小时(Waymo内部运营数据)
- 调度系统重规划算力成本
- 用户取消订单的GMV损失
3
这让我想起旧金山湾区捷运系统的信号工程师老周。他们的暴雨应急手册有句话:“当雨水漫过第三级台阶时,停运指令不需要任何审批”。2014年他自作主张延迟停运10分钟等末班车,结果导致整条线路瘫痪6小时——维修费够买三辆列车。
老周后来在安全会上说:“效率是和平年代的宗教,但灾难只给信徒一次忏悔机会。”
Waymo的问题同样在此。他们的优化目标函数里,“安全”只是个约束条件,而非最高优先级:
# 简化版决策目标函数(根据公开专利反推)
def optimize_decision(sensors, map, mission):
# 核心变量
safety_score = calc_safety() # 权重0.3
efficiency_score = calc_efficiency() # 权重0.5
customer_exp_score = calc_customer_exp() # 权重0.2
if safety_score < threshold_low:
return EMERGENCY_STOP # 仅当明显致命时触发
else:
return max(efficiency_score * 0.5 + customer_exp_score * 0.2)
而航空业的逻辑是:
if any_risk_factor_detected():
emergency_protocol() # 立即启动最高级预案
report_to_human() # 同时通知地面控制
# 效率指标不计入决策
4
“但这正是自动驾驶的优势!”肯定有人拍桌子,“人类在暴雨天也会误判,系统至少更稳定!”
好,我们steelman反方观点:
- 数据层面:Waymo每百万英里事故率0.41次,人类司机是2.1次(NHTSA 2023)
- 成本层面:每增加1%安全冗余,运营成本上升3%(麦肯锡测算)
- 体验层面:用户无法忍受“因轻微积水取消订单”
这些都对,但错在把不同维度的风险混在一个公式里计算。洪水中的车辆不是“可能剐蹭”,是“可能谋杀”——淹死的除了传感器,还可能有试图救车的路人。当风险达到毁灭级时,统计学就成了凶手的辩护律师。
5
真正的问题在董事会会议室,不在代码仓库。Waymo去年刚拿到25亿刀融资,投资人盯着三个数字:
- 单车日均订单量(KPI:12单/日)
- 运营区域覆盖率(KPI:月增15%)
- 人工接管率(KPI:<0.01%)
当KPI要求“暴雨天也必须完成85%订单”时,工程师只能在代码里埋下定时炸弹。这不是技术故障,是商业目标对安全逻辑的系统性劫持。
6
五年前我参观过波音的备用控制系统实验室。墙上贴着泛黄的备忘录:“任何主系统故障必须触发物理联锁,哪怕误判率高达90%”。工程师指着重达30公斤的机械保险装置说:“这玩意儿每次误触发动要损失8万美元,但没人敢拆掉——我们清楚算法不是上帝。”
Waymo们或许该把这句话刻在服务器上:
当优化成为信仰时,冗余就是最廉价的救赎。
亚特兰大的泡水激光雷达,不过是硅谷效率圣殿里炸响的第一颗哑弹。