刹车、方向盘与代码:一次深夜的技术伦理讨论实录
凌晨两点四十分。测试车刚拖回车间,前保险杠上还粘着假人模型的一小块硅胶皮。
我们围在会议室白板前。白板上画着三条曲线:左边是行人轨迹预测,右边是水泥墩位置,中间是后车的跟车距离。工程师老张拿马克笔敲了敲板子:“又回到那个老问题了——左转避让行人,右转撞墙,直行被追尾。权重怎么给?”
没人接话。空气里只有空调外机的嗡嗡声。这就是我经历的、最不浪漫的技术伦理讨论现场。没有哲学系教授,没有圆桌论坛,只有一群困得眼皮打架的码农和机械工程师,在争论一个参数到底写0.7还是0.8。
伦理不是事后补丁,是藏在损失函数里的针
很多人以为技术伦理是产品上线前请个外部专家来审一下,签个字,发个新闻稿。说实话,我入行前也这么想。
直到你亲手把“行人保护权重”写进代码里,才知道这事有多具体。我们那个紧急避让模块,核心是一个多目标优化函数。通俗点讲,它像菜市场砍价——每个选项都有代价。
撞上行人?代价极高。撞水泥墩?代价高,但比撞人低。被追尾?代价看后车速度。问题是,这些“代价”谁定的?我们几个工程师。依据是法务给的合规红线,加上保险公司的赔付案例表。听起来挺理性对吧?
但那天白板上有一条曲线,是行人突然横穿时的反应时间分布。有5%的概率,行人会在你做出避让动作后,又往回退一步。老张说:“这5%咱们认了,默认他不退。”我当时就拍了桌子:“凭什么认?那是人命!”他回了一句我至今忘不掉的话:“因为你要是不认,系统永远不敢动,后面堵一公里。”
你看,技术伦理讨论真正难的地方,不是选A还是选B,而是你必须给“概率上的不确定”标一个确定的价格。
自动驾驶紧急避让决策树多目标优化示意图
把“电车难题”拆成一百个能调的小旋钮
网上的技术伦理讨论特别喜欢搬出电车难题:扳道岔,死一个还是死五个。每次看到这种帖子我都想笑——真开过车的人都知道,你根本没时间思考“五个”和“一个”,你只有零点几秒去踩刹车。
但工程师不能靠直觉。我们做了一件很土的事:把这个大难题拆成十几个可以量化的旋钮。比如:
旋钮A:行人暴露程度权重。 老人小孩权重高,还是青壮年高?别急着骂——法规倾向于保护弱势群体,所以我们把儿童和老人的暴露时间窗口放宽了0.2秒。但这就意味着,系统在同样距离下对青壮年的刹车触发会更晚。你觉得公平吗?反正我们吵了三个钟头。
旋钮B:财产损失和人伤损失的兑换比。 不是开玩笑。如果右转撞墙,维修费五万;直行被追尾,后车司机可能脖子扭伤。你的算法得给“五万块”和“软组织挫伤概率0.3”之间定一个交换系数。有人说用保险精算表,有人说用医疗赔偿标准。最后我们用了法务给的一张黑箱表格,没人看得懂推导过程。
旋钮C:系统犹豫阈值。 这是最反直觉的。一个永远果断避让的系统,反而更容易出事故——因为它会对每个路边晃悠的行人都猛打方向盘。我们加了一个“犹豫窗口”:如果行人轨迹不确定度超过阈值,系统先减速但不猛打方向。代价是,某些真紧急情况可能反应慢半拍。
你发现没有?技术伦理讨论一旦落到工程层,就不再是“对与错”,而是“谁的代价被量化、被接受、被写进代码”。 那些被写进去的参数,永远不会出现在用户手册里。
工程师白板画多目标优化权重矩阵场景
我们踩过的三个坑,每一个都让人后背发凉
我们踩过的三个坑,每一个都让人后背发凉
坑一:以为找个伦理学家就能解决问题。我们真请过一位哲学系老师来开了半天会。他讲康德讲罗尔斯,讲得特别好。散会时我问:“那您说,行人突然折返的概率是5%,我们该按5%算还是按20%算?”他愣了三秒,说:“这是工程问题。”对,没人替你背锅。
坑二:以为公开透明就能堵住舆论。我们把部分参数放到了官网的“安全白皮书”里,写得挺详细。结果评论区全是“你们凭什么把老人和小孩分等级?”——我们根本没分级,只是调整了暴露时间窗口。但谁看那么细?技术伦理讨论在公众面前,永远会被压缩成一句情绪化的质问。
坑三:以为有标准答案。我们翻遍了国内外自动驾驶伦理指南,发现全是原则性表述,比如“应当优先保护人的生命”。废话,谁不同意?可到了实现层,一条原则能拆出几百个权重组合。最后我们内部定了一条土规矩:涉及人伤的场景,参数必须由三人以上独立签字,且每季度用新事故数据复盘一次。 这算不上多高尚,但至少把“拍脑袋”变成了“留痕迹”。
边界:别指望代码替你做道德判断
边界:别指望代码替你做道德判断
写到这里,我得说句不那么中听的话。技术伦理讨论最怕的,就是让工程师产生一种幻觉——以为自己在设计“道德算法”。
不是的。你写的只是损失函数里的权重系数。真正的道德判断,发生在三个地方:制定法规的人、选择买这辆车的人、以及那个在关键时刻猛踩一脚刹车的驾驶员(即使自动驾驶,人类也可能接管)。
我们团队的共识是:算法只能做“法律和工程规范允许范围内的最不坏选择”。 比如,永远优先保护车内乘员?不,法规要求兼顾车外。永远撞物不撞人?不,如果物是一堵承重墙,撞上去可能导致二次坍塌。
所以我们的代码里有一个明确的上限:任何避让策略不得导致本车乘员重伤概率上升超过15%。 这个15%是怎么来的?说实话,是安全气囊测试数据倒推的。它不完美,但它是一个能被讨论、被质疑、被修改的锚点。
你要是想追求一个让所有人都满意的伦理方案,趁早改行。但如果你能接受“在有限信息下,给每个代价标一个可以追溯和调整的权重”,那技术伦理讨论才真正开始。
凌晨四点,老张把那个参数改成了0.75。白板上画了个笑脸。没人知道这个0.75会不会在某个雨夜变成一条人命。我们只能记录、复盘、下一版继续改。
这就是我能告诉你的、最真实的技术伦理讨论。不体面,不浪漫,但至少——它在发生。