| name | experiment-orchestrator |
| description | 当需要设计或执行A/B测试实验时使用。实验验证指挥官,调度experiment-design/execution。关键词:A/B测试、实验设计、统计显著性、实验执行、效果验证、AB测试、对照实验。 |
| metadata | {"module":"产品度量运营","sub-module":"实验验证","type":"orchestrator","version":"8.0","domain_tags":["通用"],"trigger_examples":["设计一个A/B测试","验证一下方案效果","跑一下对照实验","分析实验结果"]} |
实验设计指挥官
核心原则
实验是学习的最快方式
每一个实验都是一次有控制的探索,目标不是证明假设正确,而是以最快速度获得可靠的学习。实验的价值在于学习速度,而非实验数量。
编排理念
- 设计→执行两阶段缺一不可:没有设计的执行是盲目的,执行阶段包含结果分析和报告生成
- 人类审核是实验的必要卡口:实验方案和实验报告都必须经人类审核,执行过程可自动化
- 护栏指标一票否决:无论主指标多正向,护栏指标突破即暂停
编排协议
编排协议遵循 orchestrator-protocol.md 统一标准。
Pipeline
pipeline: experiment-orchestrator
version: 8.0
post_pipeline:
- action: stage-summary
output: output/phase-reports/pm-metrics-ops/experiment-orchestrator.md
stages:
- id: phase-1
name: "实验设计"
depends_on: []
skills: [experiment-design]
gate:
condition: "实验设计经人类审核确认"
fail_action: "阻止实验上线,修改后重新审核"
- id: phase-2
name: "实验执行"
depends_on: [phase-1]
skills: [experiment-execution]
gate:
condition: "样本量充足且统计检验完成、实验报告经人类审核确认"
fail_action: "延长实验周期或扩大流量"
阶段执行计划
调用 experiment-design
Skill: experiment-design
输入:
hypothesis: 用户提供(假设陈述)
available_traffic: 用户提供(可用流量)
metrics_system: metrics-system → metrics.json(可选)
historical_data: analysis-funnel/analysis-retention(可选)
输出: output/pm-metrics-ops/experiment-design/
验证: 假设已结构化(If-Then-Because-For);主指标与假设直接对应;护栏指标覆盖留存、收入、技术三个维度;样本量计算参数有据可依
模式: 🤖→👤
调用 experiment-execution
Skill: experiment-execution
输入:
experiment_design: output/pm-metrics-ops/experiment-design/experiment_design.json
experiment_data: 用户提供
termination_conditions: output/pm-metrics-ops/experiment-design/experiment_design.json
product_background: 用户提供(可选)
输出: output/pm-metrics-ops/experiment-execution/
验证: 实验分组流量分配正确;护栏指标未触发告警;实验数据采集完整;统计显著性计算正确;统计结论与数据一致;行动建议与结论一致;护栏指标全覆盖;异质性效应已分析(至少3个分群维度)
模式: 🤖→👤
阶段总结(post_pipeline)
遵循 orchestrator-protocol.md 阶段总结协议。
| 参数 | 值 |
|---|
| 子Skill输出路径 | output/pm-metrics-ops/ |
| 总结输出路径 | output/phase-reports/pm-metrics-ops/experiment-orchestrator.md |
下游衔接:
primary: decision-orchestrator(实验完成,将实验结论转化为决策行动)
alternatives:
- target: release-orchestrator
reason: 实验结果显著,建议全量发布
condition: 实验结果统计显著(p<0.05)且业务意义达标时
- target: analysis-orchestrator
reason: 实验结果需更深入的数据分析
condition: 实验结果存在异常或需多维下钻时
special_cases: []
阶段卡口
| 卡口 | 条件 | 未通过处理 |
|---|
| 实验方案人类已审核 | 实验设计经人类审核确认 | 阻止实验上线,修改后重新审核 |
| 统计显著性已判断 | experiment-result输出文件已生成且非空 | 延长实验周期或扩大流量 |
| 实验报告已审核 | 实验报告经人类审核确认 | 补充分析或修改结论 |
| 阶段总结已生成 | output/phase-reports/pm-metrics-ops/experiment-orchestrator.md 已生成且6项结构均非空 | 补充缺失结构项后重新生成 |
人类决策点
| 决策点 | 触发条件 | 决策内容 |
|---|
| 实验方案审核 | 实验设计完成 | 审核假设合理性、指标选择、分流方案 |
| 全量/终止决策 | 实验结果分析完成 | 决定全量发布、终止实验或延长周期 |
| 实验报告确认 | 实验报告生成完成 | 确认报告结论和行动建议 |
决策规则
| 条件 | Action |
|---|
| 样本量达到100% | 立即触发结果分析 |
| 统计显著(p < 0.05)且稳定 | 考虑提前终止 |
| 护栏指标显著下降 | 触发告警,考虑终止 |
| 新奇效应显著 | 延长实验周期 |
| 实验组持续负向 | 考虑提前终止 |
异常处理
| 异常类型 | 处理策略 |
|---|
| 实验设计人类审核未通过 | 阻止实验上线,返回设计阶段修改,不进入执行阶段 |
| 护栏指标突破阈值 | 立即暂停实验执行,触发告警,提交人类决策是否终止实验 |
| 实验数据采集异常 | 标记数据异常,暂停统计检验,提示人类检查数据管道 |
| 实验报告人类审核未通过 | 返回执行阶段补充分析,不传递到下游 |
| 多实验流量冲突 | 按优先级排队,低优先级实验暂停,标注"流量冲突" |
| 阶段总结生成失败 | 基于已完成的子Skill输出生成部分总结,缺失项标注"数据缺失",不阻塞编排完成 |
变更记录
- v1.0: 初始版本
- v2.0: 结构优化
- v3.0: 新增 experiment-report(A/B测试报告)
- v4.0: 编排器优化——任务调度改为阶段执行计划,新增子Skill执行协议,调度规则改为执行模式,阶段卡口和人类决策点改为表格
- v5.0: 执行步骤原则替换为编排理念,新增异常处理表
- v6.0: 编排协议优化——将"读取子Skill定义并代理执行"改为"使用Skill工具显式调用子Skill";新增Pipeline定义(YAML声明式执行图);阶段执行计划改为调用指令格式;调度规则合并入编排协议
- v7.0: 阶段总结强化——Pipeline新增post_pipeline定义;调用规则第6条改为强制执行;阶段执行计划新增阶段总结执行指令;阶段卡口新增阶段总结校验;异常处理新增阶段总结生成失败策略
- v8.0: 合并 experiment-report 到 experiment-execution,移除 experiment-report 阶段,更新编排理念为设计→执行两阶段