A/B pré-requisitos de teste
Antes de criar um A/B teste, verifique se os recursos a seguir estão disponíveis.
Recursos necessários
| Recurso | Description |
|---|---|
|
AgentCore Gateway |
Um AgentCore gateway ativo com pelo menos um destino HTTP apontando para o tempo de execução do seu agente. O AgentCore Gateway lida com a divisão do tráfego entre variantes. |
|
Tempo de execução do agente |
Pelo menos um tempo de execução de agente implantado usando o Amazon Bedrock AgentCore SDK (versão 1.8+). O SDK anexa
|
|
Configuração de avaliação on-line |
Uma configuração de avaliação on-line ativa que especifica quais avaliadores devem ser executados nas sessões.
|
|
Pacotes de configuração (opcional) |
Obrigatório ao usar variantes baseadas em pacotes de configuração. Duas versões de pacote ou dois pacotes separados: um para controle e outro para tratamento. |
Requisitos do SDK
É necessário o Amazon Bedrock AgentCore SDK versão 1.8 ou posterior. O SDK inclui um BaggageSpanProcessor que lê os cabeçalhos de bagagem do experimento propagados pelo AgentCore Gateway e carimba automaticamente todos os períodos de tempo de execução OpenTelemetry com o ARN do experimento e o nome da variante. O pipeline de avaliação on-line lê esses atributos para mapear as pontuações da sessão para a variante correta. Nenhuma instrumentação adicional é necessária em seu código de agente.
Requisitos do avaliador
nota
A/B o teste oferece suporte a avaliadores integrados LLM-as-judge, personalizados e baseados em código, mas exige que cada avaliador retorne um valor numérico para cálculo de significância estatística. Para LLM-as-judge avaliadores personalizados, configure o ratingScale com uma numerical escala (nãocategorical). Para avaliadores baseados em código, inclua o value campo no esquema de resposta.
Permissões do IAM
A função A/B de execução do teste deve confiar no responsável pelo bedrock-agentcore.amazonaws.com serviço e ter permissões para operações do AgentCore Gateway, leituras de pacotes de configuração, leituras de configurações de avaliação on-line e acesso a CloudWatch registros.
nota
Você só precisa criar essa função manualmente se você trouxer sua própria função de execução e passá-la com elaagentcore run ab-test --role-arn <arn>. Se você omitir--role-arn, a AgentCore CLI cria automaticamente uma função de execução para o teste.
Exemplo de política de confiança:
{ "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/*" } } } ] }
Exemplo de política de permissões:
{ "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:*" ] } ] }