本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
A/B 测试先决条件
在创建 A/B 测试之前,请确保以下资源准备就绪。
所需的资源
| 资源 | 说明 |
|---|---|
|
AgentCore 网关 |
一个活动 AgentCore 网关,其中至少有一个指向代理运行时的 HTTP 目标。 AgentCore 网关处理变体之间的流量分配。 |
|
代理运行时间 |
使用亚马逊 Bedrock AgentCore SDK(版本 1.8+)部署了至少一个代理运行时。SDK
|
|
在线评估配置 |
一种有效的在线评估配置,用于指定要针对会话运行哪些评估器。
|
|
配置包(可选) |
使用基于配置包的变体时为必填项。两个捆绑版本或两个单独的捆绑包:一个用于控制,一个用于治疗。 |
SDK 要求
需要亚马逊 Bedrock AgentCore SDK 版本 1.8 或更高版本。该软件开发工具包BaggageSpanProcessor包含一个,它可以读取 AgentCore 网关传播的实验行李标头,并使用实验 ARN 和变体名称自动标记所有运行时间 OpenTelemetry 跨度。在线评估管道读取这些属性,将会话分数映射到正确的变体。无需在代理代码中添加其他工具。
评估员要求
注意
A/B 测试支持内置 LLM-as-judge、自定义和基于代码的评估器,但要求每个评估器返回一个数值以进行统计显著性计算。对于自定义 LLM-as-judge 评估器,使用numerical比例ratingScale进行配置(不是categorical)。对于基于代码的评估器,请在响应架构中包含该value字段。
IAM 权限
A/B 测试执行角色必须信任bedrock-agentcore.amazonaws.com服务主体,并拥有 AgentCore 网关操作、配置包读取、在线评估配置读取和 CloudWatch 日志访问权限。
注意
仅当您自带执行角色并将其传递时,才需要手动创建此角色agentcore run ab-test --role-arn <arn>。如果省略--role-arn, AgentCore CLI 会自动为测试创建执行角色。
信任策略示例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "${aws:PrincipalAccount}" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:*:${aws:PrincipalAccount}:ab-test/*" } } } ] }
权限策略示例:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreResources", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetGateway", "bedrock-agentcore:GetGatewayTarget", "bedrock-agentcore:ListGatewayTargets", "bedrock-agentcore:CreateGatewayRule", "bedrock-agentcore:UpdateGatewayRule", "bedrock-agentcore:GetGatewayRule", "bedrock-agentcore:DeleteGatewayRule", "bedrock-agentcore:ListGatewayRules", "bedrock-agentcore:GetOnlineEvaluationConfig", "bedrock-agentcore:GetEvaluator", "bedrock-agentcore:GetConfigurationBundle", "bedrock-agentcore:GetConfigurationBundleVersion", "bedrock-agentcore:ListConfigurationBundleVersions" ], "Resource": "arn:aws:bedrock-agentcore:*:${aws:PrincipalAccount}:*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "CloudWatchLogsDescribe", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": "*" }, { "Sid": "CloudWatchLogs", "Effect": "Allow", "Action": [ "logs:DescribeIndexPolicies", "logs:PutIndexPolicy", "logs:StartQuery", "logs:GetQueryResults", "logs:StopQuery", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": [ "arn:aws:logs:*:${aws:PrincipalAccount}:log-group:/aws/bedrock-agentcore/evaluations/*", "arn:aws:logs:*:${aws:PrincipalAccount}:log-group:aws/spans", "arn:aws:logs:*:${aws:PrincipalAccount}:log-group:aws/spans:*" ] } ] }