方差正在吞噬实验:为什么传统的 A/B 测试功效计算不适用于 LLM 功能
模型团队可以演示新功能并展示十个令人信服的并排对比获胜案例。增长团队将其作为为期两周的 A/B 测试运行,得到 p = 0.31,读数显示“无显著效果”。两个团队都是正确的。实验是错误的。
这种模式在每个将 LLM 强行接入产品但未重建其实验栈的组织中不断重复。增长团队使用的数学模型是为按钮颜色、排名变化和定价页面设计的——这些功能的输出在给定用户和上下文的情况下是确定性的。LLM 功能打破了该数学模型赖以生存的两个假设,而标准的 80% 效能、5% 显著性、两周扩量模板在两个方向上都系统性地输出了错误的判断:真实的获胜被读取为无效结果,而噪声则被读取为置信的获胜。
代价不仅仅是一次实验。而是经过几轮模型团队可以定性证明有所改进的功能却得到“不显著”的读数后,模型团队停止了运行实验。功能迭代与因果证据之间的反馈循环悄然断裂,组织最终根据“感觉(vibes)”发布 AI 功能——不是因为有人决定这么做,而是因为实验栈对 该领域不再有用。
悄然破裂的两个假设
经典的 A/B 数学将许多微妙之处压缩进一个看起来极具通用性的样本量公式。要让它给出正确的数字,必须满足两点。
第一:人均方差(per-user variance)相对于你试图检测的实验效应(treatment effect)较小。 如果单个用户行为的噪声底噪大于你寻找的提升(lift),你或者需要更大的样本量,或者需要更长的实验时间来将信号从噪声中分离出来。对于确定性的 UI 实验,这个假设是成立的,因为人均方差主要在于用户是否有点击的心情——这是有界的、建模良好的、且研究透彻的。
第二:每个测量单位(一次会话、一个事件、一次转化)大致是来自用户行为分布的独立同分布(iid)样本。 这让你可以在不过多思考的情况下将不同会话视为可互换的,并将它们汇总为人均指标。
LLM 功能违反了这两个假设,并且是以复合的方式违反:
- 用户间方差(Inter-user variance)高于确定性功能,因为输入现在是自然语言。两个用户询问“同一个”问题,措辞不同,会将模型推向其输出分布的不同部分,从而获得具有不同延迟、长度和后续行为的答案。你的实验组和对照组不仅是在对用户进行采样——你还在对每个用户的 Prompt 分布进行采样,而且这些分布在不同用户之间的差异比点击目标要大得多。
- 用户内方差(Intra-user variance)很高,这是确定性功能完全不具备的,因为同一个用户在两次会话中询问 同一个问题,可能会得到实质上不同的答案。温度(Temperature)、采样、检索新鲜度、工具调用顺序以及模型侧的确定性,都在你以前视为固定点的单元内部共同增加了一层额外的方差。“来自用户行为分布的 iid 采样”这一框架现在有了第二个随机性来源——来自模型的——它叠加在用户的随机性之上。
- 实验效应通常小于任一组的用户内方差,因为模型团队发布的变化(更好的 Prompt、更智能的路由、从小模型切换到中型模型)往往会在人均会话噪声为 10–30% 的指标上产生 1–5% 的提升。信噪比(Signal-to-noise ratio)并不是很差——而是结构性的本末倒置。
微软实验团队在 2013 年发表了针对此类问题的基础性方差缩减(variance-reduction)论文,其建立的框架——即实验中的并非所有方差都是随机的,实验前的数据可以吸收其中大部分方差——正是正确的起点。但标准实现假设的是确定性的用户行为,而 LLM 案例增加了一个模型侧的方差组件,这是实验前期协变量(covariates)无法预测的。
为什么仪表盘显示“不显著”而模型团队说“明显更好”
当样本量计算器被喂入来自确定性功能实验前期的效应量和噪声估计时,它返回的数字会因为真实方差与假设方差的比率而产生偏差。对于具有高用户内方差的 LLM 功能,该比率通常为 2–5 倍。因此,团队需要 2–5 倍的 样本量,或 2–5 倍的实验持续时间,才能达到相同的统计效能。
大多数增长团队不会察觉到这一点,因为方差估计隐含在他们的工具中。实验前期数据从历史数据中自动计算,计算器返回样本量,实验开始扩量。标准流水线中没有任何东西能区分“该指标有 10% 的人均方差是因为用户在变化”和“该指标有 30% 的人均方差是因为用户在变化且模型在变化”。得出的数字单位正确,但量级错误。
与此同时,模型团队正在观察精心挑选的定性获胜案例——二十个配对示例,其中新 Prompt 明显优于旧 Prompt。这些例子是真实的。但它们不是随机样本;它们是提升大到肉眼可见的精选子集。诚实的推断应该是:“当提升可见时,新功能确实更可靠,但在全量流量分布中的平均提升相对于实验能检测到的噪声来说太小了。”
两种读数可以同时为真。新功能确实有效。实验也确实没有足够的效能来检测它。答案不是“相信模型团队”或“相信增长团队”——而是实验基础设施需要意识到它正在测量一个随机(stochastic)功能。
随机性感知实验框架究竟有何不同
要让 AI 功能实验产生诚实的答案,必须实现四个转变。这些转变并不罕见,但几乎在默认工具链中都是缺失的。
同时包含用户间和用户内成分的方差估计。 实验前分析必须将方差分解为用户间 (between-user) 和用户内 (within-user) 两个部分,理想情况下通过以用户为随机截距 (random intercept) 的 混合效应模型 (mixed-effects model) 来实现。组内相关系数 (ICC) —— 即总方差中属于用户层面的比例 —— 会告诉你,你的有效样本量因用户内的重复请求而缩减了多少。对于基于转化指标的确定性功能,ICC 通常接近 1(用户要么转化,要么不转化,会话间的变异很低)。而对于 LLM 功能,ICC 会下降,因为每个会话都是随机过程的一次新抽样,这反直觉地 增加 了每个用户的有效样本量 —— 但前提是你确实测量了它,并且你的方差估计没有因为模型设定错误而虚高。
在实验组和对照组中配对同一用户的区组设计 (Blocked designs)。 你能获得的最大方差削减是将同一用户同时分配到两个版本中,并分析配对差异。这完全消除了用户间方差,让你只需测量用户内对比,而这正是你真正关心的量。这需要付出实际代价 —— 你需要支持这种配对的 UX(双提示词设计、会话内 A/B 曝光、非高峰期影子运行)—— 而且并非每个功能都能进行区组化处理。但对于用户会发出多次类似请求的任务,在进行提示词和模型升级时,配对分析能将“今年余下时间都统计功效不足”的局面扭转为“两周内得出结论”。
吸收用户内噪声的一致性协变量。 实验前的行为是标准的 CUPED 协变量;对于随机性功能,一个更强大的协变量是在实验期间计算的 双提示词一致性评分。将相同的提示词通过模型运行两次,测量两个输出在目标指标上的差异,并将其作为回归分析中的每会话协变量。这在概念上与 CUPED 相同,但它将方差估计从实验前的历史数据转移到了实验中的配对抽样 —— 这更接近于近期研究重新审视 CUPED 时提出的“增强 (augmentation)”框架。
更长的观察周期,因为信噪比比仪表盘显示的更糟。 这是最乏味的一个,也是团队最容易跳过的一个。如果方差比计算器假设的高出 2–3 倍,实验所需的时间也要增加 2–3 倍。告诉增长团队将 AI 功能的观察期从两周延长到六周会很不受欢迎。但告诉他们这一年来他们一直在运行统计功效不足的实验,并基于噪声做发布决策,则更糟糕。
这种错误导致的组织失效模式
技术上的错误是可以挽回的。但组织的失效模式则不然,而且它会产生复利般的负面影响。
在实验团队第三次或第四次判定模型团队的功能“不显著”后,模型团队会得出一个完全理性的结论:实验不是一种能够衡量他们工作的工具。于是他们停止运行实验。他们转而依靠离线评估、定性抽查以及对模型升级的信心来发布。迭代与因果证据之间的反馈闭环断裂了,而一旦断裂,实验团队就没有流量可以学习,也无法针对随机性功能校准他们的机制。
这就是为什么两年后,一个组织会拥有一个“靠感觉”发布的 AI 路线图,以及一个从未成功运行过 AI 实验的实验团队。他们在每日站会中坐在一起,却没意识到他们其实是同一个问题的受害者。实验团队认为模型团队在无视数据;模型团队认为实验团队在用错误的尺子当守门人。双方都没完全错,而其核心诊断 —— “数学模型不匹配工作负载” —— 是这两个团队都不承担责任的问题。
无人察觉的成本框架
一个随机性感知的实验框架是一项平台投资。它需要在指标计算流水线中加入混合效应估计器,在分流服务中加入配对设计原语,在模型网关中接入双提示词抽样机制,以及在仪表盘上展示 ICC 和有效样本量而不仅仅是 p 值。其中每一项都是六个人周的平台工作,在季度计划中会与具体功能开发竞争资源。
实验团队看着他们的路线图,发现 AI 功能只占实验总量的一小部分,于是理性地降低了这项工作的优先级。等到半数路线图都是 AI 功能,且系统开始产生系统性的错误判断时,平台投资已经落后了两年,而团队则在模型团队的步步紧逼下,在巨大的压力中重建系统。
隐藏的成本并非工程本身,而是在有人意识到实验系统一直出错之前,那一整年基于误读实验而做出的决策。
针对输出分布即为变量的功能的实验基础设施
这种更深层次的认识是,为确定性 UI 构建的实验基础设施在面对 LLM 功能时,提出的问题是错误的。对于一个按钮颜色的测试,给定用户和分配组后,其输出是确定的,实验测量的是用户行为随之发生的变化。而对于一个 LLM 功能,输出本身就是来自某个分布的一个样本,实验比较的是两个输出的分布——而不是两个固定的实验处理(treatments)。
一旦你以此框架来思考,关于 LLM A/B 测试中许多令人感到怪异的地方就会变得显而易见。对于以模型输出分布为比较单位的功能,Switchback 设计(Switchback designs)就显得合情合理。配对分析(Paired analysis)是默认设置,而不是某种聪明的变体。孪生提示词采样(Twin-prompt sampling)是一种测量工具,而不是一种 Hack。你需要的框架更接近于针对嘈杂生物标志物进行的临床试验式混合效应分析(mixed-effects analysis),而不是实验团队维护了十年的点击率计算器。
那些能在 2026 年充满信心发布 AI 功能的团队,是那些在被迫行动的一年前就认真对待方差(variance)问题的团队。那些没有这样做的团队将在 2026 年忙于根据错误的实验结果解读(这些解读从 AI 界面上线那天起就是错的)来重新规划路线图,并纳闷为什么模型团队不再参加实验评审会了。
数学原理没有改变,改变的是工作量。而那个没有意识到这一点的实验技术栈,正是你现在运行的这套。
- https://www.statsig.com/blog/llm-optimization-online-experimentation
- https://www.statsig.com/blog/cuped
- https://exp-platform.com/Documents/2013-02-CUPED-ImprovingSensitivityOfControlledExperiments.pdf
- https://www.microsoft.com/en-us/research/group/experimentation-platform-exp/articles/deep-dive-into-variance-reduction/
- https://mlumiste.com/technical/ab-test-llm-evals/
- https://blog.growthbook.io/how-to-a-b-test-ai-a-practical-guide/
- https://aclanthology.org/2025.findings-emnlp.594.pdf
- https://openreview.net/forum?id=E2RyjrBMVZ
- https://arxiv.org/abs/2009.00148
- https://en.wikipedia.org/wiki/Intraclass_correlation
- https://www.stata.com/features/overview/intraclass-correlations-for-multilevel-models/
- https://vasishth.github.io/Freq_CogSci/from-the-paired-t-test-to-the-linear-mixed-model.html
- https://arxiv.org/html/2312.02935v1
