技术伦理讨论:那个把用户分进“倒霉组”的按钮,到底谁说了算?
上周三凌晨一点,我们组的实验平台又响了。不是报警,是客服群在疯狂截图。同一个酒店房型,两个账号差四十块。微博上已经有人开骂“大数据杀熟”。我盯着监控面板,先想:实验参数配错了?再一想才凉——这实验压根没走伦理复核。说实话,做工程师这么多年,写代码不怕,怕的是产品经理拍脑袋说“先上线,伦理后面补”。补个锤子。
互联网A/B测试用户随机分组流量分流后台配置界面
工程师与产品经理在白板前讨论实验伦理边界场景
小区门禁人脸识别终端与刷卡备用通道实景
写到这儿,天又快亮了。实验平台又推了一条待审批:某页面按钮从圆角改直角。我点了通过。这个不用伦理复核,真的。但那个把用户分进“倒霉组”的价格实验,我建议每个团队都留一个能拍桌子的人。别让用户当小白鼠。至少,别当不知情的小白鼠。
一个按钮背后的分岔路
A/B测试这东西,听着特技术,其实跟医院做随机对照试验一个逻辑。把用户随机分两组,一组看旧页面,一组看新页面,比指标。医学里这叫临床试验,得先过伦理委员会。互联网里呢?很多时候就是产品经理拉个群:“兄弟们,明天上个价格实验,看看转化。” 用户不知道自己在实验里。对吧,你刷到的每个按钮颜色、推荐排序、甚至满减门槛,背后都可能是一次分流。 这里有个关键区别:不是所有实验都等价。按钮从蓝变红,用户顶多觉得丑;但价格、贷款额度、医疗建议、未成年人推荐内容——这些变量一旦随机,就可能造成真实伤害。我们内部有个粗糙的分类:“可逆的体验优化”和“不可逆的利益分配”。前者可以快速迭代,后者必须踩刹车。可惜很多团队把两者混在一个实验平台里,配置项长得一模一样,谁手滑谁背锅。
互联网A/B测试用户随机分组流量分流后台配置界面
伦理不是道德考试,是工程约束
我特别烦一种论调:伦理是哲学家的事,工程师只管实现。放屁。你写个推荐系统,训练数据里全是二十岁城市用户,推给农村大爷,他打开全是露脐装,这算不算技术问题?算。我们园区门禁人脸识别,有个大爷每次摘帽子、摘眼镜、对摄像头来回晃十秒,后面排队的人翻白眼。我调低阈值,误识率上去了,保安骂我;调高阈值,大爷进不来,大爷骂我。最后加了个刷卡备用通道,成本三千块。你看,伦理落地就是三千块和一行if else。 技术伦理讨论里很容易被忽略的一点:知情同意在互联网产品里基本是幻觉。隐私协议几千字,没人看。你弹窗问“是否参加价格实验”,用户点“是”才怪。所以默认保护比告知更重要。比如实验系统里加一条硬规则:涉及价格、信贷、保险、医疗的变量,自动触发人工复核,不通过不能放量。这不是圣母心,是防止半夜被叫起来修舆情。我经历过一次,凌晨三点改配置回滚,那滋味比写一万行代码还累。
工程师与产品经理在白板前讨论实验伦理边界场景
那些被算法“看人下菜碟”的瞬间
说个真事。前年我们做优惠券发放实验,随机给用户发不同面额。数据跑了三天,转化率很好看。结果有个用户是律师,他注册了十个账号,截图对比,发到知乎上。标题叫《你们的随机,是我的定价歧视》。我们紧急下线。复盘的时候,产品经理说“我们加了随机啊,不是歧视”。随机不等于公平。如果实验设计本身让某类用户系统性拿更低优惠,那就是歧视。比如新用户券永远比老用户大,老用户活该被杀熟?这问题不是统计显著性能回答的。 后来我们定了个土办法:任何涉及钱的实验,先跑“不利组”模拟——假设所有用户都被分到那个不利组,会不会有人因此吃不起饭、贷不到款、错过就医?如果会,设计就得改。听起来很笨,但比写十页伦理报告管用。边界:工程师手里那个暂停键
现在很多公司搞“科技向善”委员会,挂牌子、拍照片、发通稿。我不反对,但说实话,伦理如果不在代码仓库里,就在公关稿里。我的做法很具体:实验平台里加一个字段,叫“伤害等级”。低风险:颜色、文案、排序微调。中风险:推荐权重、流量分配。高风险:价格、信贷、身份识别。高风险的实验,上线前必须两个人签字,其中一个必须是法务或伦理对接人。没签字,系统直接拒绝发布。代码写死,谁也别想绕。 当然这也有局限。签字的人不一定懂技术,懂技术的人不一定有权。有次我卡了一个实验,产品总监在群里@我:“你一个工程师凭什么判断伦理?” 我说凭我半夜得回滚。后来我们各退一步:他同意先跑1%流量,加用户投诉监控。结果投诉率飙了五倍,他自己下的线。你看,有时候伦理讨论不需要吵赢,只需要让风险可见。 常见误解得提一嘴:以为技术伦理就是“不做坏事”。其实更多时候是“在几个坏选项里选一个相对能接受的”。比如人脸识别门禁,不用,老人不方便;用,隐私有风险。那就给选择权:刷脸、刷卡、按门铃,三选一。别替用户做决定,也别把差的那个选项藏起来。
小区门禁人脸识别终端与刷卡备用通道实景
写到这儿,天又快亮了。实验平台又推了一条待审批:某页面按钮从圆角改直角。我点了通过。这个不用伦理复核,真的。但那个把用户分进“倒霉组”的价格实验,我建议每个团队都留一个能拍桌子的人。别让用户当小白鼠。至少,别当不知情的小白鼠。