A/B 测试
A/B 测试在两个变体之间分配实时制作流量,并持续评估具有统计学意义的性能。 AgentCore 网关处理流量路由;您的代理代码不会更改。
A/B 测试是AgentCore 优化改进循环中的验证步骤。生成建议并通过离线批量评估对其进行验证后,您需要运行 A/B 测试以确认更改提高了实时流量的性能,然后再提交全面部署。您可以将流量路由到单独的 AgentCore 运行时(基于目标),也可以将不同的配置传送到同一个 AgentCore 运行时(配置包)。
何时使用 A/B 测试
当你需要进行以下操作时使用 A/B 测试:
-
在@@ 将所有生产流量路由到优化的配置之前,请先验证建议。
-
对实时交通的@@ 两个模型版本(例如,从一个基础模型移动到另一个基础模型)进行统计严谨性比较。
-
衡量提示更改对真实用户会话的影响,而不是精心策划的测试集的影响。
-
在全面部署之前,通过对@@ 一部分实时流量进行验证,逐步推出一项新功能(新工具、更新的系统提示符)。
工作原理
A/B 测试遵循以下流程:
-
您可以通过指定已部署的 AgentCore 网关
agentcore run ab-test、两个变体(控制和处理)、流量权重和在线评估配置来启动 A/B 测试,以进行评分。(执行角色是可选的——传递--role-arn给你自己的角色,或者让 CLI 创建一个。) 每个变体都引用 AgentCore 网关目标或配置包版本。命令返回后,测试就会立即开始运行(--disable-on-create用于启动测试已停止)。 -
AgentCore 网关分流量。测试运行后,网关会根据运行时会话 ID 在两个变体之间分配传入流量。分配是粘性的;给定的会话 ID 总是路由到相同的变体。
-
在线评估为每节课打分。您指定的在线评估配置会在每个会话完成时针对每个会话运行评估器。 A/B 测试聚合管道将分数映射到变体。
-
该服务计算统计显著性。随着样本量的增长,该服务会计算每个评估者的每个变体的指标:平均分数、绝对变化和百分比变化、p 值、置信区间和显著性标志。p 值低于 0.05 表示差异具有统计学显著性。在不影响统计有效性的前提下,
agentcore view ab-test <id>随时显示民意调查结果。 -
你推广治疗变体。当结果显著时,运行
agentcore promote ab-test -i <id>以停止测试并将治疗变体写入agentcore.json,然后agentcore deploy将其推出。(您也可以agentcore stop ab-test -i <id>不进行晋升。)
A/B 测试模式
A/B 测试支持两种变体配置模式:
Target-based 变体
当更改包括代码更改、框架升级或想要比较完全不同的代理实现时使用。每个变体都路由到指向不同运行时端点的不同 AgentCore Gateway 目标。
配置包变体
当更改纯粹是配置(系统提示符、型号 ID 或工具描述)时使用。这两个变体在同一个 AgentCore 运行时上运行,配置包版本不同。 AgentCore Gateway 通过 W3C 行李标头将捆绑包引用注入到每个请求中,运行时可以使用该标头通过 SDK 提取配置。 AgentCore
选择图案
| 方面 | Target-based 变体 | 配置包变体 |
|---|---|---|
|
有什么不同 |
整个运行时端点(代码、框架、模型) |
系统提示、工具描述、型号参数 |
|
路由 |
每个变体都有不同的目标 |
相同的目标,不同的配置包 |
|
评估配置 |
每个 AgentCore 运行时一个在线评估配置 |
单一共享在线评估配置 |
|
何时使用 |
代码更改、框架升级、比较不同的代理 |
Configuration-only 单个 AgentCore 运行时上的更改 |