A/B Voraussetzungen für das Testen
Bevor Sie einen A/B Test erstellen, stellen Sie sicher, dass die folgenden Ressourcen vorhanden sind.
Erforderliche -Ressourcen
| Ressource | Description |
|---|---|
|
AgentCore Gateway |
Ein aktives AgentCore Gateway mit mindestens einem HTTP-Ziel, das auf Ihre Agenten-Laufzeit verweist. Das AgentCore Gateway kümmert sich um die Aufteilung des Datenverkehrs zwischen den Varianten. |
|
Laufzeit des Agenten |
Mindestens eine bereitgestellte Agenten-Runtime mit dem Amazon Bedrock AgentCore SDK (Version 1.8+). Das SDK hängt
|
|
Konfiguration der Online-Evaluierung |
Eine aktive Online-Evaluierungskonfiguration, die festlegt, welche Evaluatoren für Sitzungen ausgeführt werden sollen.
|
|
Konfigurationspakete (optional) |
Erforderlich, wenn Varianten verwendet werden, die auf Konfigurationspaketen basieren. Zwei Paketversionen oder zwei separate Pakete: eines für die Kontrolle und eines für die Behandlung. |
SDK-Anforderungen
Das Amazon Bedrock AgentCore SDK Version 1.8 oder höher ist erforderlich. Das SDK enthält eineBaggageSpanProcessor, die vom AgentCore Gateway weitergeleiteten Experiment-Backgage-Header liest und automatisch alle Laufzeitbereiche mit dem Experiment-ARN und OpenTelemetry dem Variantennamen stempelt. Die Online-Evaluierungspipeline liest diese Attribute, um die Ergebnisse der Sitzung der richtigen Variante zuzuordnen. In Ihrem Agentencode ist keine zusätzliche Instrumentierung erforderlich.
Anforderungen an den Evaluator
Anmerkung
A/B Tests unterstützen integrierte, benutzerdefinierte und codebasierte Evaluatoren LLM-as-judge, erfordern jedoch, dass jeder Evaluator einen numerischen Wert für die Berechnung der statistischen Signifikanz zurückgibt. Für benutzerdefinierte LLM-as-judge Evaluatoren konfigurieren Sie das ratingScale mit einer Skala (nicht). numerical categorical Nehmen Sie bei codebasierten Evaluatoren das value Feld in das Antwortschema auf.
IAM-Berechtigungen
Die A/B Testausführungsrolle muss dem bedrock-agentcore.amazonaws.com Dienstprinzipal vertrauen und über Berechtigungen für AgentCore Gateway-Operationen, das Lesen von Konfigurationspaketen, das Lesen der Online-Testkonfiguration und CloudWatch den Zugriff auf Protokolle verfügen.
Anmerkung
Sie müssen diese Rolle nur manuell erstellen, wenn Sie Ihre eigene Ausführungsrolle mitbringen und sie weitergebenagentcore run ab-test --role-arn <arn>. Wenn Sie es weglassen--role-arn, erstellt die AgentCore CLI automatisch eine Ausführungsrolle für den Test.
Beispiel für eine Vertrauensrichtlinie:
{ "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/*" } } } ] }
Beispiel für eine Berechtigungsrichtlinie:
{ "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:*" ] } ] }