第1章 A/B测试在机器人场景的适用性判断
1.1 适用场景
A/B测试在机器人领域并非灵丹妙药,只有在业务目标清晰、测试粒度可控、资源投入可承受的场景下才有实施价值。以下三类场景最常触发适用性判断:
| 场景类别 | 典型问题 | 判断焦点 |
|---|---|---|
| 算法迭代验证 | 新导航规划路径是否更优?避障策略是否减少碰撞? | 业务目标是否可量化 |
| 参数调优决策 | PID增益、运动学模型参数、感知阈值如何选择? | 测试粒度是否可独立测量 |
| 交互方案比对 | 语音交互流程、操作界面反馈、人机协作方式哪个更好? | 资源成本是否可承受 |
经验提示: 当机器人行为差异在物理世界中难以被终端用户感知(如控制周期抖动 < 5ms),或业务指标受多因素耦合影响时,应优先考虑仿真内A/B测试或直接采用离线评估,而非现场A/B测试。
1.2 前置条件
开展适用性判断前,团队必须已完成以下准备工作:
- 业务需求文档(BRD):包含明确的机器人行为期望、成功标准与验收指标。
- 系统架构概览:识别被测模块的输入输出边界、依赖链及可观测接口。
- 历史测试数据:至少有一组基线数据(如运行日志、性能曲线),用于评估指标波动基线。
- 资源预算清单:标注可投入的时间窗口、算力配额(GPU/CPU)、机器人台套数及人力天数。
⚠ 常见前置遗漏: 跳过“指标波动基线”评估直接进入A/B测试设计,导致后续样本量估算失准,测试周期被反复拉长。建议在适用性判断阶段就采集至少7天的基线数据。
1.3 操作步骤
适用性判断按以下四步递进执行,每一步的输出作为下一步的输入。下图为完整判断流程:
具体操作分为四个子步骤,每个步骤的输出物均需记录在《适用性判断工作单》中:
- 对齐业务目标:将原始业务诉求拆解为可测量的机器人行为指标(如:导航成功率 > 98%、平均减速幅度 < 15%)。
- 选定测试粒度:确定测试层级——系统级、功能级或参数级,确保被测变量可独立开关且不影响安全保护逻辑。
- 核算资源成本:预估所需机器人台数 × 运行时长 + 算力消耗 + 标注/分析人力,与可用资源预算对比。
- 综合决策:三项评估均通过 → 适用;两项通过 → 补充资源或缩小范围后重新评估;不足两项 → 暂不实施A/B测试。
关键检查点: 步骤2中“独立开关”是机器人场景特有的硬约束。例如,修改底盘运动学参数时必须确保上层导航模块不自动补偿,否则测试变量夹杂耦合效应,结论不可信。
1.4 输入输出物
| 类型 | 名称 | 格式/模板 | 责任人 |
|---|---|---|---|
| 输入 | 业务需求文档(BRD) | 企业标准模板 | 产品经理 |
| 输入 | 系统架构概览图 | Visio / Draw.io | 系统架构师 |
| 输入 | 基线运行日志(≥7天) | rosbag / CSV | 算法工程师 |
| 输入 | 资源预算清单 | 项目排期表 | 项目经理 |
| 输出 | 适用性判断工作单 | 见“记录材料”模板 | 测试工程师 |
{
"适用性判断工作单_示例": {
"任务名称": "导航重规划策略A/B测试",
"业务目标对齐": {
"指标项": "导航成功率、平均任务耗时",
"基线值": "成功率94.2%, 耗时142s",
"成功标准": "成功率≥97%, 耗时≤120s",
"是否可量化": true
},
"测试粒度选择": {
"被测模块": "全局路径规划器",
"独立开关方式": "通过参数 server/planner_type 切换",
"干扰评估": "定位模块已锁定版本,无耦合影响",
"是否可独立测量": true
},
"资源成本评估": {
"所需机器人台数": 3,
"运行时长": "14天",
"算力消耗": "每台占用1块Orin GPU",
"人力投入": "算法1人×5天 + 分析0.5人×7天",
"是否可承受": true
},
"综合结论": "适用",
"决策人": "张三 / 2025-04-08"
}
}
1.5 责任边界
适用性判断阶段采用 RACI 矩阵 明确参与角色:
| 活动 | 产品经理 | 算法工程师 | 测试工程师 | 项目经理 |
|---|---|---|---|---|
| 梳理业务指标 | A | C | I | I |
| 评估模块独立性 | I | R | A | I |
| 核算资源预算 | C | C | I | R |
| 填写判断工作单 | I | C | R | I |
| 签署适用性结论 | A | C | R | I |
(R=执行者,A=审批者,C=咨询者,I=知情者)
1.6 记录材料
所有判断过程必须留痕,归档以下材料至项目共享目录 robot_ab_test/01_feasibility/:
- 《适用性判断工作单》(JSON/YAML格式,如上节示例)
- 基线指标波动分析报告(PDF,含均值、标准差、日间波动图)
- 模块耦合关系图(标注被测变量的上下游依赖及锁定版本号)
- 资源预算确认单(项目经理签字的工时/算力分配表)
1.7 异常处理
| 异常情形 | 判定规则 | 处理措施 |
|---|---|---|
| 基线指标波动过大(CV > 30%) | 指标不可靠,无法支撑样本量估算 | 延长基线采集期至21天,或改用仿真环境标准化测试 |
| 被测变量无法独立开关 | 测试粒度不满足A/B测试前提 | 解耦重构被测模块,或缩小测试范围至可独立控制的子参数 |
| 资源预算缺口 > 30% | 无法完成完整测试周期 | 削减测试臂数量(如从3臂减为2臂),或申请追加资源后再评估 |
| 业务目标存在多个冲突指标 | 无法确定单一成功标准 | 组织利益相关方排序,选择首要指标作为主要评价标准 |
⚠ 安全红线: 无论异常如何处理,任何可能影响机器人安全保护逻辑的测试变量必须立即判定为“不适用”,不得绕过适用性判断直接进入A/B测试。安全模块的变更测试需走独立的安全变更评审流程。
1.8 验收标准
适用性判断阶段完成的标志是以下四项全部闭合:
- 工作单完整填写:《适用性判断工作单》中业务目标对齐、测试粒度选择、资源成本评估三个维度均给出明确的“是/否”结论及支撑数据。
- 基线数据已归档:基线日志经过波动分析,关键指标的均值、标准差、CV值记录在案。
- 模块独立性确认:系统架构师签字确认被测变量可独立开关且无安全影响。
- 资源预算已锁定:项目经理签字的预算清单与工作单中资源评估项一致。
上述四项全部通过后,本章节适用性判断正式完成,可进入第2章《变量定义与测试假设构建》。