直接答案:A/B 测试是在同一时间窗内把合格对象随机分到对照组和实验组,用预先定义的主指标比较差异。它不是上线前后对比,也不能靠看到正向结果就提前停止;应先写假设、样本量、护栏指标和停止规则,再检查分流质量与置信区间。

本文面向需要做技术选型或落地验收的中文读者。所有会随版本变化的接口、价格、硬件支持和功能可用性,都应在实施当天回到官方页面复核;本文复核日期为 2026-09-10。
先判断:这个任务真正要解决什么
理解 A/B 测试能回答什么,并避免用随意分组、提前停止或多指标挑选制造假结论。开始前把业务目标写成可验证条件,避免把“能运行”“返回了结果”误当成质量达标。
| 序号 | 决策问题 | 验收方式 |
|---|---|---|
| 1 | 一个预注册主假设和主指标 | 记录证据、负责人和通过条件 |
| 2 | 随机分流单位与污染风险 | 记录证据、负责人和通过条件 |
| 3 | 样本量、时间窗和最小可检测差异 | 记录证据、负责人和通过条件 |
| 4 | 护栏指标、停止与回滚条件 | 记录证据、负责人和通过条件 |
核心原理与适用边界
- 相关变化不自动构成因果结论。
- 提前反复查看并停止会增加假阳性。
- 多个实验共享用户时要检查干扰和样本比例异常。
这些原则只说明技术机制,不代表任何特定产品在你的数据、硬件或组织流程中必然更快、更准或更省。若官方材料没有披露某项实现,应明确标为未知,而不是根据营销名称推断。
从基线到上线的执行步骤
- 第 1 步:写清人群、变更、假设和主指标
- 第 2 步:选择用户或会话分流单位
- 第 3 步:估算样本量和最短时间窗
- 第 4 步:上线前做 A/A 与埋点校验
- 第 5 步:运行期间只监控安全护栏
- 第 6 步:到期后报告效应量、区间和局限
每一步都要保存输入版本、配置、输出和验收结论。遇到失败先缩小范围并保留原始证据,不要为了让演示通过而修改测试口径。
建议保存的验收记录
| 记录项 | 最低要求 | 失败时处理 |
|---|---|---|
| 范围与版本 | 代码、数据、模型、依赖、硬件和日期可追踪 | 冻结发布,补齐版本后重跑 |
| 质量证据 | 与固定基线按相同输入和指标比较 | 定位数据、提示、模型或系统层原因 |
| 安全与权限 | 最小权限、敏感数据处理、失败模式均有验证 | 撤销权限或回滚到安全版本 |
| 发布与恢复 | 灰度范围、监控阈值、负责人和回滚命令明确 | 停止扩量并执行已演练的回滚 |
常见风险与失败模式
- 把前后对比称为 A/B
- 按点击后行为重新分组
- 只报告显著的多个指标
- 忽略样本比例异常和跨组污染
风险较高的业务应增加人工复核和独立安全测试。本文不把公开资料整理写成编辑部实测,也不提供无法复现的速度、准确率或收益数字。
常见问题
只要官方示例能运行就可以上线吗?
不可以。官方示例用于说明能力或接口,仍需用你的数据、权限、负载和失败场景验证,并保存可以回放的结果。
为什么必须保留基线?
没有相同输入和相同指标的基线,就无法判断新方案是否真正改善,也无法在故障时确认回滚是否恢复。
版本变化后需要全部重做吗?
至少应重跑与变化范围相关的确定性检查、核心质量集、安全边界和恢复演练;重大模型、框架或数据变更应做完整回归。
下一步与一手来源
可继续阅读:Python 可复现基线、RAG 检索基线、模型评测与回滚。这些内链分别帮助补齐模型路由、对话系统和 Agent 治理边界,不替代本文缺失内容。
一手与原始资料:Microsoft A/B 测试架构、Google Optimize 迁移说明、SciPy 统计检验、Statsmodels 功效分析、NIST 工程统计手册。访问与事实复核日期:2026-09-10。
