本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 网关目标。
配置包变体
当更改纯粹是配置(系统提示、型号 ID 或工具描述)时使用。这两个变体在同一个 AgentCore 运行时上运行,配置包版本不同。 AgentCore Gateway 通过 W3C 行李标头将捆绑引用注入到每个请求中,运行时可以使用该包头通过 SDK 提取配置。 AgentCore
选择图案
| 方面 | Target-based 变体 | 配置包变体 |
|---|---|---|
|
有何不同 |
整个运行时端点(代码、框架、模型) |
系统提示、工具描述、模型参数 |
|
路由 |
每个变体都有不同的目标 |
相同的目标,不同的配置包 |
|
评估配置 |
每个 AgentCore 运行时一个在线评估配置 |
单一共享在线评估配置 |
|
何时使用 |
代码更改、框架升级、比较不同的代理 |
Configuration-only 在单个 AgentCore 运行时进行更改 |