为什么 AI 功能会让 A/B 测试失效(以及不会撒谎的因果推断方法)
你上线了一个 AI 功能,运行了一次干净的两周 A/B 测试,看到参与度提升了 4%,然后宣告成功。六个月后,功能全量发布,参与度却持平甚至下滑。测试结果不是因为噪声——而是根本就在衡量错误的东西。
A/B 测试建立在一个假设之上:实验组和对照组的用户在统计上是相互独立的。而 AI 功能会系统性地打破这一假设。用户相互交流、从彼此的行为中学习,并共享 AI 工具的输出结果。当真正的机制是长期的行为适应时,两周内处理效应并不会趋于稳定。忽视这一点,你的实验会给出一个内部自洽却因果无意义的数字。
无人谈及的 SUTVA 问题
A/B 测试的统计基础是稳定单元处理值假设(SUTVA)。它要求两件事:一个单元的潜在结果只取决于该单元自身的处理状态,且处理方式定 义明确。这两个假设在 AI 功能中的失效方式是系统性的,而非边缘情况。
行为溢出:如果你的 AI 写作助手分配给实验组,这些用户开始产出质量更高的文档。这些文档流传到对照组的同事手中。对照组用户因此提高了自己的标准和行为方式。你的"对照组"已经不再是没有该功能的世界——而是处于该功能下游的世界。
知识污染:代码补全和搜索类 AI 工具会改变用户的能力边界。这种知识不会停留在实验桶里。一个从 AI 助手学到某种模式的开发者,会在代码评审中把它教给从未接触过该功能的同事。组织知识的传播方式违反了隔离假设。
双边市场干扰:当你的 AI 功能影响到市场的一端(例如,为买家提供更好的匹配推荐),就会改变所有人(包括对照组)的供需动态和定价。你衡量的不是功能的效果——而是对一个已被扰动的共享市场中处理对象的影响。
长期行为转变:大多数 AI 功能都会呈现出一种新奇效应,在一两周内趋于平稳,随后随着用户将工具融入工作流程,会出现更缓慢的二次提升。两周的实验捕捉到了新奇效应的峰值,却错过了平台期;更糟糕的情况是,在使用模式趋于正常之前捕捉到了人为抬高的早期信号。Netflix 发现,部分个性化功能的价值只有在经历数月的行为适应后才能被衡量到。
实际后果是:你的 A/B 测试很可能在衡量某些东西,但那可能不是你以为的反事实影响。
标准实验何时依然有效
在引 入因果推断方法之前,首先判断你的情况是否真的需要它们。在以下情况下,标准随机对照试验(RCT)依然有效:
- 功能真正自成一体,没有溢出路径(一个不影响其他用户行为的 UI 改动)
- 测量时间跨度覆盖了完整的采用曲线,而不仅仅是早期信号
- 你可以通过地理聚类来阻断干扰(以城市为单位,而非以个人为单位)
如果你在衡量某个功能的用户级结果,而该功能的影响可以通过社交图谱、共享产物或市场动态传播,那么你需要超越随机化的方法。问题在于哪种方法适合你的干扰结构。
双重差分:当你拥有自然实验时
双重差分(DiD)是一种主力方法,适用于你能找到在功能上线前处于平行趋势的实验组和对照组的情况。你衡量实验组随时间的变化,减去对照组在同期的变化,剩余部分即为处理效应。
AI 功能的经典应用场景:分阶段地理扩张。如果你在加利福尼亚而非德克萨斯上线了 AI 推荐功能,且这两个市场在上线前呈现相似趋势,你可以通过比较加州趋势与德州趋势在上线后的差异来估计影响。这绕开了 SUTVA 问题,因为加州用户和德州用户不在同一个社交或市场网络中。
关键假设是平行趋势:在没有处理的情况下,实验组和对照组会以相同的方式演化。这在处理前期可以被检验,但对于处理后的反事实而言从根本上无法证伪。在依赖 DiD 之前,你需要展示多个季度处理前的平行走势,并对"差异源于该 功能而非同期其他变化因素"给出合理论证。
近期的计量经济学研究还表明,当处理时序在不同单元之间存在差异时——这在功能分阶段发布中极为常见——标准双向固定效应 DiD 设计会失效。交错双重差分文献(Callaway-Sant'Anna、Sun-Abraham 估计量)能正确处理这一问题。如果你对分阶段发布使用朴素的双向固定效应回归,估计结果甚至可能符号错误。
合成控制:从多个单元构建反事实
当你只有一个处理单元——一个国家、一个平台、一条产品线——时,DiD 通常无法适用,因为没有明显平行的对照组。合成控制方法可以构建一个。
该方法选取多个未处理单元,找到它们的加权组合,使其尽可能拟合处理单元的处理前轨迹。这个加权组合成为合成反事实——没有处理时本应发生的结果。
Uber 在网络效应使标准实验不可行时采用了这种方法。在打车服务中,对一部分乘客或司机进行处理会改变该市场所有人的供需动态。你无法在不污染结果的情况下进行用户级实验。相反,Uber 的做法是以整个城市为处理单位,并从其他市场的历史数据中构建合成对照城市。合成的旧金山预测了没有该功能时旧金山应有的样子;实际值与合成值之间的差距就是处理效应。
合成控制具有一个有用的透明性特质:你可以清楚地看到哪些市场对反事实有贡献以及权重大小。如果对照权重毫无道理(合成单元主要由具有截然不同底层动态的市场构成),你在查看结果之前就知道这个估计是脆弱的。
主要约束是数据要求。你需要足够长的处理前时间序列来构建一个真正具有预测能力的合成单元。如果你只有几个月的历史数据,合成控制可能无法精确拟合处理单元。
倾向得分匹配:纠正自选择偏差
许多 AI 功能根本不是作为实验上线的——而是作为自主选择工具上线的。重度用户立即采用;参与度较低的用户则不然。当你比较采用者和非采用者时,你比较的是两个根本不同的用户群体,而不是在衡量功能影响。
倾向得分匹配通过以下方式解决这一问题:估计每个用户在给定其采用前特征(使用强度、账户年龄、历史参与模式)的情况下采用该功能的概率,然后将每个采用者与具有相似采用概率的非采用者群体进行比较。你实际上是在问:在采用前行为完全相同的用户中,采用者和未采用者之间有什么差异?
这种方法对基于 LLM 的功能尤为重要,因为选择效应极为严重。工程师采用 AI 编码工具的比率远高于非工程师。在工程师中,高频编码者的采用率又远高于偶尔贡献者。朴素比较(采用者 vs. 非采用者)会将功能影响与用户质量混淆。匹配在估计差距之前先在可观测的混淆因素上平衡了两个群体。
核心假设是所有相关混淆因素都是可观测的——你用于匹配的变量能够捕捉到驱动采用和结果的所有因素。如果存在未观测到的混淆因素(例如用户的内在动机或能力水平),匹配并不能消除偏差。倾向得分匹配能改善观测性估计,但无法将观测研究变成实验。
贝叶斯结构时间序列:衡量时序影响
当你的主要指标是时间序列——日活跃度、周收入、月留存——且你无法进行同期对照时,贝叶斯结构时间序列(BSTS)方法可以让你估计没有干预时时间序列本应如何演变。
该方法使用结果变量和相关预测变量(未受处理影响的其他指标)在干预前期拟合模型,然后利用拟合模型预测干预后的反事实,并进行完整的不确定性传播。预测值与实际值之间的差距就是每个时间点的处理效应。
Google 的 CausalImpact 包实现了这一方法,并已被广泛应用于功能上线效果测量。输出结果比单点估计更为诚实:它展示了因果效应轨迹的完整后验分布,包括效应是否趋于稳定、增长或回归。对于具有长期采用曲线的 AI 功能,这种时序视图通常比汇总数字更有价值。
BSTS 在处理时机明确(你在特定日期上线)但没有同期对照组时特别有用。你本质上是将自身的处理前历史作为反事实,并以未受上线影响的相关预测变量为锚。
工具变量:处理未观测到的混淆因素
上述方法都依赖于已观测到的混淆因素。当存在驱动功能采用和结果 的重要因素你无法观测时(用户的复杂程度、底层任务难度、组织背景),上述方法都无法完全消除偏差。
工具变量提供了另一种思路:找到一个能够引起功能暴露变化但不通过其他路径直接影响结果的变量。如果存在这样的工具,即使存在未观测到的混淆因素,你也能估计因果效应。
实际上,AI 功能的有效工具变量极为罕见且难以辩护。典型候选包括:功能发布时序的随机变化(用户因管理原因被分配到第 3 批而非第 7 批部署)、随机影响用户能否看到某功能的 UI 位置变更,或基于配额而非绩效的访问限制。排他性约束——工具变量仅通过功能使用而非其他任何渠道影响结果——无法被检验,且往往难以成立。工具变量估计对弱工具变量敏感,结果可能高度不稳定。
工具变量之所以值得了解,是因为它解决了倾向得分方法无法解决的混淆问题。但应当在你拥有真正有说服力的工具变量时使用,而非在其他方法看似太难时作为退路。
何时停止尝试测量
这个问题存在一个版本,正确答案是承认反事实归因不可行,并重新进行设计。
如果一个 AI 功能深度嵌入用户工作流,没有可信的对照组、没有处理前基线、也没有可利用的外部变异,你将无法从观测数据中得到可信的因果估计。在此情况下仍然声称得到了一个——通过未考虑未观测混淆因素的倾向得分模型,或使用对照组平行趋势存疑的 DiD——比承认不确定性更糟糕。它会制造虚假的严谨感,可能在数月内误导资源分配和路线图决策。
前瞻性的 替代方案是在功能上线前就将其设计为可被测量的。这意味着预先定义一个具体、稳定的结果指标(而非参与度代理指标),保持发布机制足够简洁以支持可信比较,并在采用曲线较长时愿意接受延迟测量。Airbnb 的 ACE 框架就是将测量基础设施作为与功能本身并重的一等工程关注点,而非事后补救的典范。
对于确实无法测量的功能,最具说服力的立场是记录设计依据,设定定性成功标准(用户反馈、采用模式、支持工单趋势),并明确说明任何影响声明中的不确定性。一个清晰承认的不确定性区间,比一个虚假暗示精确性的点估计更有利于决策。
决策框架
根据你的功能干扰结构,选择合适的方法:
- 无溢出,自成一体的处理:标准 RCT,确保时间跨度正确
- 社交图谱或市场干扰:以地理单元为基础的聚类随机化或合成控制
- 自选择的选择加入:基于采用前可观测变量的倾向得分匹配
- 具有明确上线日期的时序指标:配合相关对照序列的 BSTS/CausalImpact
- 分阶段或逐步发布:交错双重差分(而非朴素双向固定效应)
- 强未观测混淆因素且具有有效工具:仅在工具变量可辩护时使用 IV
- 以上方法均不可信:接受不确定性,重新设计以便于测量,使用定性信号
这一决策不纯粹是统计问题。它取决于你具体功能的干扰结构、可用数据以及测量的商业风险。一个粗略但诚实的估计, 胜过一个精确但虚假的估计。
AI 功能比看上去更难测量。这是一个在上线前投资测量基础设施的理由,而不是沿用熟悉的 A/B 测试模板并寄希望于违规不太严重的借口。
- https://netflixtechblog.com/a-survey-of-causal-inference-applications-at-netflix-b62d25175e6f
- https://www.uber.com/blog/causal-inference-at-uber/
- https://airbnb.tech/ai-ml/artificial-counterfactual-estimation-ace-machine-learning-based-causal-inference-at-airbnb/
- https://arxiv.org/abs/1903.08755
- https://research.google/pubs/inferring-causal-impact-using-bayesian-structural-time-series-models/
- https://arxiv.org/pdf/2503.13323
- https://dl.acm.org/doi/10.1145/3735969
- https://arxiv.org/html/2408.09651v1
- https://www.microsoft.com/en-us/research/project/econml/
- https://matheusfacure.github.io/python-causality-handbook/
