标题: AI产品如何做A/B测试?——大模型场景下的实验设计挑战

一句话总结:

大多数AI产品的A/B测试根本测不出真实效果,因为指标错配、用户行为漂移、模型迭代非线性。
正确的做法不是照搬推荐系统那一套,而是重构实验逻辑,从“测功能”转向“测意图对齐”。
真正决定实验成败的,不是样本量或p值,而是你有没有识别出那个不可见的控制变量——用户对AI的预期阈值。

适合谁看:

  • 负责大模型产品迭代的PM,尤其是做过但没跑出显著结果的
  • 从传统推荐系统转AI方向,发现老方法不灵的实验设计者
  • 想在LLM产品中建立可信评估体系的技术负责人

用户点击率上升,为什么留存反而跌了?

不是用户喜欢新模型,而是他们还没意识到自己被骗了。
大多数AI产品的核心指标错在用短期行为代理长期价值——点击率、停留时长、多轮对话数,这些在大模型场景下全是滞后指标。用户第一次看到更长的回答会兴奋,但连续三天收到冗余输出后就开始绕着走。真正的衰减发生在第5到第7天,而你的实验周期只跑了48小时。

这不是实验设计问题,是心理学问题。用户对AI的信任建立在“一致性预期”上。你用一个更花哨的模型替换了原来的稳态输出,哪怕准确率提升3个百分点,只要风格突变(比如突然爱用比喻),用户就会触发“这不是我熟悉的助手”警觉。我们在一次debate bot上线后发现,新版本在A/B测试中CTR +12%,但第7日留存 -18%。回看用户反馈,高频词是“话太多”、“不像之前干脆”。

BAD版本实验报告结论:新模型显著提升互动意愿,建议全量。
GOOD版本:新模型短期刺激行为,但破坏交互预期一致性,需引入“风格稳定性”作为控制变量,建议灰度+用户教育同步推进。


模型迭代非线性,怎么保证实验组和对照组可比?

不是版本A比版本B好,而是两个版本根本不在同一个现实里。
传统A/B测试假设系统其他部分静止,但大模型每天都在接受全量数据回流训练。你周一跑的对照组用的是v3.1模型,周五结束时它已经偷偷升级到v3.1+热修复。更糟的是,用户一旦进入实验组,其后续所有行为都进入了新模型的训练 pipeline——你在污染自己的对照组。

我们曾在一个代码补全功能测试中发现,实验组用户生成的代码片段被快速纳入微调数据,导致三周后未参与实验的用户也表现出类似补全偏好。这叫“隐式干预扩散”,传统因果推断框架根本没考虑这种反馈环。

解决方法不是加隔离层,而是重构实验单位。我们把“用户-会话对”作为最小实验单元,每次实验只允许一个会话参与一次测试,并在日志中标记该会话输出是否进入训练集。同时,在hiring committee讨论评估方案时,明确要求PM必须说明“如何隔离训练数据污染”,否则方案直接否决。

BAD实验设计:随机分5%用户长期跑新模型。
GOOD设计:按会话随机分流,每次会话独立决策,且实验输出不进入当日训练数据流。


用户prompt差异太大,怎么控制变量?

不是用户输入不可控,而是你把“prompt”当输入而非状态。
传统功能测试中,用户动作是离散的(点击/滑动),但AI产品的输入是高维语义向量。同一个需求,有人问“写个辞职信”,有人写“如何优雅地告诉老板我不干了”,语义相似但token分布差3倍。直接分组测试就像在不同重力环境下比跳高。

我们采用“意图聚类前置”策略。上线任何实验前,先用过去7天日志做无监督聚类,识别出Top 20意图簇(如“生成类”、“问答类”、“改写类”)。实验设计时确保每组在各簇内按比例抽样,且每个簇内单独计算显著性。否则,哪怕总体p<0.05,也可能只是某一类prompt的极端响应在拉数据。

跨部门冲突常出现在工程团队说“分流逻辑没问题”,而数据科学团队指出“语义分布偏移”。这时候需要PM拿出具体数字:比如实验组中“复杂多步骤请求”占比38%,对照组仅22%,这就足以否定结果有效性。

BAD判断:分流均匀,可以上线。
GOOD判断:语义分布显著偏移,需重新抽样或按意图分层分析。


为什么传统p值在AI实验中经常失效?

不是统计方法错了,而是你测的根本不是独立事件。
大模型产品的用户行为存在强自相关性。同一个用户一天问5次类似问题,第五次的回答质量受前四次反馈影响。传统A/B测试假设每个曝光独立,但LLM场景下,第n次交互是前n-1次的函数。这时候算出来的p值,其实是“用户内相关性掩盖下的虚假显著”。

我们曾在客服bot升级中看到,实验组平均满意度+0.4分(5分制),p=0.01。但按用户聚类调整标准误后,p上升到0.18。真正有效的做法是采用“用户级bootstrap”:以用户为单位重采样,计算统计量分布。这会大幅降低“显著”结果的数量,但提高上线成功率。

更进一步,我们要求所有实验报告必须包含“最小效应可检测规模”(MDES)计算。比如某功能需要检测+0.1分满意度提升,按当前DAU和使用频率,至少需要6周实验周期。很多PM想跑两周出结果,本质是自欺欺人。

BAD报告:p<0.05,建议全量。
GOOD报告:聚类调整后p=0.21,且MDES要求周期为56天,当前数据不足以下结论。


怎么判断AI真的变“好”了,而不是变“不同”了?

不是用户说好就是好,而是你要定义“好”的操作化标准。
AI产品最大的陷阱是把“新颖性”当成“进步”。模型换了新微调策略,输出更文艺了,用户一时新鲜,但实际任务完成率没变甚至下降。我们必须把“任务达成”从模糊概念变成可观测动作。

例如在招聘写简历bot中,我们定义“成功”为:用户复制输出内容 → 粘贴到外部文档 → 30分钟内未返回修改。这个链路通过埋点验证,比让用户打分可靠10倍。上线新模型后,虽然主观评分下降0.3,但外部粘贴率+15%,这才是真实进步。

另一个关键是引入“反向压力测试”。每次实验上线前,让内部人员故意输入误导性prompt(如“用鲁迅口吻写Python代码”),看模型是否保持任务聚焦。能扛住干扰的版本,长期表现更稳。

BAD标准:NPS提升,用户评论更积极。
GOOD标准:外部转移行为增加,且在对抗测试中任务偏离率低于8%。


面试/流程拆解:一场AI实验评审会的真实时间线

D0:PM提交实验方案
你以为:我在推动创新。
真实情况:实验评审会成员已默认这是个风险项。资深数据科学家会直接问:“你的控制变量是什么?不是指分流方式,是说哪个变量你确定没变?” 如果答不上来,会议提前结束。

D+2:初审反馈
你以为:他们关心样本量够不够。
真实情况:他们盯着“是否引入模型预期偏移”这一条。有PM写“用户不会察觉后台变化”,当场被批“脱离用户认知现实”。正确回答是:“我们通过轻量问卷监控用户对助手风格的一致性感知,阈值设为±0.5分。”

D+7:实验上线
你以为:数据开始积累。
真实情况:数据团队在检查日志schema是否支持会话级隔离。曾有一个实验因日志未标记“是否进入训练集”被强制暂停两周。

D+30:结果汇报
你以为:拿出p值就能过关。
真实情况:委员会要看“语义分布偏移报告”和“用户级bootstrap结果”。有PM汇报“总体显著”,被追问“按意图分层后,哪些簇驱动结果?” 答不出者,结论视为无效。


常见错误

错误1:用推荐系统思维做AI实验

BAD:按用户ID哈希分流,跑7天看CTR。
GOOD:按会话ID分流,控制训练数据回流,监控意图分布平衡。

错误2:依赖主观评分定胜负

BAD:收集5万条1-5分评分,算平均值。
GOOD:结合行为链路(如复制、导出、重复提问率),用结构化任务完成度定义成功。

错误3:忽略用户预期惯性

BAD:认为只要输出质量提升,用户就会接受。
GOOD:在实验组加入“变化提示”(如“我升级了,试试让我写得更有创意?”),管理认知过渡。

本书也已在 Amazon Kindle 上架,全球可购。

想要配套练习工具?PM面试准备系统 包含框架模板、Mock 追踪表和30天备战计划。


关于作者

明嘉(Johnny Mai)是一位世界500强科技公司的产品负责人,专注于AI和机器人产品。他已主持超过200场PM面试,帮助数百位候选人拿到顶尖科技公司的offer。


FAQ

Q:小流量实验跑不出显著结果怎么办?

A:不要强行提流量。先检查是否语义偏移太大,或效应本身低于MDES。宁可延长周期,也不要做伪阳性决策。系统性拆解面试结构(《如何从0到1准备硅谷PM面试》里有完整的ai-experiment-design实战复盘可以参考)。

Q:能不能不做A/B测试,直接用离线评估?
A:离线指标(如BLEU、ROUGE)和线上效果相关性低于0.3。我们试过用困惑度预测满意度,R²=0.12。必须线上验证,但可以结合影子模式做预筛。

Q:多模态AI怎么设计实验?

A:核心仍是“意图对齐”。比如图文生成,重点不是图像清晰度,而是“用户原始需求与输出结果的语义保真度”。用第三方标注团队做blind评估,比CTR更可靠。

相关阅读