LLM 应用 A/B 测试与效果归因:从离线评测到在线实验闭环
摘要10-15/01 把模型上线、10-15/02 把它看住但「这次上线到底让产品变好了还是变坏了」要靠实验回答。LLM 输出非确定性、主观单元测试给不了信心A/B 才是强迫函数。本文用 Experimentation 2.0 闭环——离线评测→影子打分→金丝雀→全量在线实验→CI 回归门禁——讲清随机化单元、MDE 与样本量、序贯检验/CUPED/SRM/多重校正等统计武器并用 Statsig被 OpenAI 11 亿美元收购、GrowthBook、Eppo 落地。一句话结论Evals 问「模型能不能干这活」A/B 问「用户到底在不在乎」——离线评测抓暴露前的回归在线实验确认产品影响两者串成闭环才能终结「凭感觉上线」这一最常见反模式。1. 为什么 LLM 尤其需要 A/B传统软件改动是确定的LLM 改动换模型、改 Prompt、调温度输出每次都不同且「好不好」常是主观的。后果单元测试无法覆盖非确定性输出。一个「感觉更好」的 Prompt 改动可能悄悄让产品指标留存、转化、成本退化数月才被发现。随机化单元选错会让同一用户同时看到两版污染结论。A/B 是少数能把「我觉得更好」变成「数据显示更好」的强迫机制。2. Experimentation 2.0 闭环Amplitude/Statsig 把 AI 产品的验证层总结为 2.0 循环顺序不可逆离线评测 → 影子打分 → 金丝雀 → 全量在线实验 → CI/CD 回归门禁阶段目的用户是否感知周期离线评测上千标注用例跑新旧两版定位赢/输在哪否数小时~数天影子打分镜像真实流量打分捕捉离线集没覆盖的模式否数天~一周金丝雀小比例10%放量确认效应真实是小部分数天/阶段全量实验统计显著下的正式 A/B是按样本量CI 门禁把胜出版 eval 分变成必过检查挡回归否接管线常见错误离线分数好看就直接跳到金丝雀跳过影子打分。真实输入多样性远超离线集必须补这一步。3. 随机化单元按用户还是按请求单元适用坑按请求无状态单次任务分类、摘要会话内重复曝光仍能接受按用户对话式/多轮功能避免 session 污染一轮的反应影响对下一轮的判断Session 污染是头号坑对话产品若按请求随机同一用户可能在一轮看到 A、下一轮看到 B体验割裂且结论不可信。默认对话功能按用户随机并用「延迟、Token 成本、LLM-as-Judge 质量分、显式反馈」的指标桶而非单一转化指标评估。4. 统计武器库4.1 MDE 与样本量最小可检测效应MDE决定样本量。差距越小样本量指数级膨胀相对 MDE样本量倍数读法大20%1x基线modest 样本可检一半~10%~4x需约 4 倍样本小~5%~16x除非海量样本否则不值得追Netflix2026-03经验检测一半大小的差距需要 4 倍样本。LLM 非确定性还要再乘1.3–1.5x安全垫有效样本低于名义。4.2 序贯检验Sequential Testing固定样本检验惩罚「偷看」——提前看一眼就发货会抬高假阳性。2026 平台改用序贯检验mSPRT、Howard 置信序列边界「先宽后紧」允许早期停止且始终有效。累计统计量随机游走跨过边界就发货留在内就判平。4.3 CUPED 方差缩减用实验前数据回归掉前置方差典型降方差30–70%等效样本免费提升。Statsig、GrowthBook 都实现。4.4 SRM 与多重校正SRM样本比失衡50/50 分配却来 47/53说明哈希/分配有 bug必须查。两平台都内置。多重比较校正同时跑 20 个 95% 检验平均 1 个假阳性。Bonferroni 收紧每检验 αBenjamini-Hochberg 控错误发现率。GrowthBook 都实现。5. 工具选型工具定位何时选Statsig全包特性开关实验分析被 OpenAI 11 亿美元收购2025-09要一站式、不在乎 OpenAI 持股GrowthBook开源 MIT仓库原生直读 Snowflake/BigQuery贝叶斯/频率/序贯数据仓库团队、要 OSS 控指标层EppoAI 优先、LLM 指标内建被 Datadog 收购指标原生、强实验体验LaunchDarkly企业特性开关、定向以开关为主、要企业治理# 用特性开关做模型路由LaunchDarkly / Statsig 模式iffeature_flags.is_enabled(use_kuaidi_llm_v28,user_id):modelkuaidi-llmcandidate# 实验组else:modelkuaidi-llmproduction# 对照组# 开关与实验绑定放量/回滚改开关无需重新部署把 Prompt 外置成版本化配置呼应 10-14/02是实验前提——Prompt 写死在代码里意味着「不改代码就无法实验」。外置后才能无 redeploy 跑 A/B。6. 反模式凭感觉上线Vibes-based Shipping每个资深工程师都能说出「因为感觉更好」而上线、数月后才发现产品指标退化的功能。A/B 就是反这种文化的强迫函数。常见失败模式偷看早停早期看着像明显提升就发货——承诺样本量前把早赢当 provisional。Prompt 写死无 redeploy 就无法实验。Demo 当评测几个手审样例好看就发货——Demo 不是 eval 集必须先过离线评测与影子打分。单一指标只盯转化忽略成本/延迟/质量——要用指标桶。7. 与 10-15/01·02 的衔接闭环咬合10-15/01 金丝雀是本文闭环的第 3 阶段10-15/02 的三层可观测尤其 L3 质量采样是影子打分与在线实验的打分引擎。门禁回流本文 CI 回归门禁把胜出版 eval 分固化回头挡住 10-15/01 未来的回归发布。成本/质量同框实验指标桶里的「成本/请求」「质量分」直接来自 10-15/02 的 7 信号让 A/B 不只看转化、也看账。开关即路由特性开关复用 10-15/01 路由层的熔断/降级放量改开关而非改代码。至此OpenClaw 生产平台从「能服务、能评测、能读图、能上线、能看住」补上最后一块「能归因、能决策」——上线不再是赌博而是数据闭环。8. 常见问题 FAQQ1离线评测过了还用跑 A/B 吗A要。离线集覆盖不了真实输入多样性离线好不等于线上好。完整闭环是离线→影子→金丝雀→全量跳步必踩坑。Q2对话产品按请求随机行不行A不行。同用户一轮看 A 一轮看 B 会造成 session 污染体验割裂且结论失真。默认按用户随机。Q3样本量怎么定能抄 web 经验吗A不能。先用自己基线方差估 MDE 再算样本量别套 web 经验值。小效应5%要 ~16x 样本常不值得追。Q4提前看结果发货为什么有问题A固定样本检验惩罚偷看假阳性率会抬高。改用序贯检验mSPRT允许早期停止且始终有效。Q5CUPED 是干什么的A回归掉实验前方差典型降 30–70%、等效样本免费提升。Statsig/GrowthBook 都内置几乎白送。Q6同时跑很多实验怎么办A多重比较校正Bonferroni/BH收紧 α否则 20 个 95% 检验平均 1 个假阳性。按指标桶而非单指标评估也能降风险。Q7为什么 Prompt 必须外置A写死在代码里意味着「不改代码无法实验」。外置成版本化配置才能无 redeploy 跑 A/B这是实验前提。Q8Statsig 被 OpenAI 收购有影响吗A2025-09 以 11 亿美元收购。功能不受影响若团队介意持股可选 GrowthBookOSS或 Eppo。选型看团队阶段而非所有权。Q9SRM 是什么为什么重要A样本比失衡——50/50 却来 47/53说明分配/哈希有 bug结论不可信。平台内置检查发现即停实验排查。9. 参考资料Amplitude,Building the Validation Stack for AI Product Development, 2026Atlan,How to A/B Test LLM Applications in Production: 2026 Guide, 2026AI Engineering from Scratch,A/B Testing LLM Features — GrowthBook, Statsig, and the Vibes Problem, 2026ChipFoundry,A/B Testing and LLM Rollouts, 2026Statsig 官网,Experimentation / Feature Management, 2026本专栏企业级 LLM 应用上线与灰度发布, 2026-10-15本专栏LLM 应用线上可观测性, 2026-10-15本专栏提示词工程与 Prompt 版本治理, 2026-10-14