A/B conditions préalables aux tests
Avant de créer un A/B test, assurez-vous que les ressources suivantes sont en place.
Ressources requises
| Ressource | Description |
|---|---|
|
Passerelle AgentCore |
Une AgentCore passerelle active avec au moins une cible HTTP pointant vers le runtime de votre agent. La AgentCore passerelle gère le partage du trafic entre les variantes. |
|
Exécution de l'agent |
Au moins un environnement d'exécution d'agent déployé à l'aide du AgentCore SDK Amazon Bedrock (version 1.8+). Le SDK associe
|
|
Configuration de l'évaluation en ligne |
Configuration d'évaluation en ligne active qui spécifie les évaluateurs à exécuter par rapport aux sessions.
|
|
Bundles de configuration (facultatif) |
Obligatoire lors de l'utilisation de variantes basées sur des ensembles de configuration. Deux versions groupées ou deux offres distinctes : une pour le contrôle et une pour le traitement. |
Exigences du SDK
La version 1.8 ou ultérieure du AgentCore SDK Amazon Bedrock est requise. Le SDK inclut un outil BaggageSpanProcessor qui lit les en-têtes des bagages d'expérience propagés par la AgentCore passerelle et estampille automatiquement toutes les durées d'exécution avec l'ARN de l'expérience OpenTelemetry et le nom de la variante. Le pipeline d'évaluation en ligne lit ces attributs pour associer les scores des sessions à la bonne variante. Aucune instrumentation supplémentaire n'est requise dans votre code d'agent.
Exigences relatives à l'évaluateur
Note
A/B les tests prennent en charge les évaluateurs intégrés LLM-as-judge, personnalisés et basés sur le code, mais nécessitent que chaque évaluateur renvoie une valeur numérique pour le calcul de la signification statistique. Pour les LLM-as-judge évaluateurs personnalisés, configurez le ratingScale avec une numerical échelle (noncategorical). Pour les évaluateurs basés sur le code, incluez le value champ dans le schéma de réponse.
Autorisations IAM
Le rôle d'exécution des A/B tests doit faire confiance au principal du bedrock-agentcore.amazonaws.com service et disposer d'autorisations pour les opérations de AgentCore passerelle, les lectures de paquets de configuration, les lectures de configuration d'évaluation en ligne et l'accès aux CloudWatch journaux.
Note
Vous ne devez créer ce rôle manuellement que si vous apportez votre propre rôle d'exécution et que vous le transmettezagentcore run ab-test --role-arn <arn>. Si vous omettez--role-arn, la AgentCore CLI crée automatiquement un rôle d'exécution pour le test.
Exemple de politique de confiance :
{ "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/*" } } } ] }
Exemple de politique d'autorisation :
{ "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:*" ] } ] }