View a markdown version of this page

A/B Voraussetzungen für das Testen - Amazon Grundgestein AgentCore

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 BaggageSpanProcessor automatisch A/B Testversuchsdetails (Experiment-ARN und Variantenname) an alle von der Laufzeit ausgegebenen OpenTelemetry Spans an.

  • Varianten auf Basis von Konfigurationspaketen: Eine Laufzeit ist ausreichend. Beide Varianten laufen auf derselben Laufzeit mit unterschiedlichen Versionen des Konfigurationspakets.

  • Target-based Varianten: Stellen Sie eine Laufzeit pro Variante bereit (insgesamt zwei).

Konfiguration der Online-Evaluierung

Eine aktive Online-Evaluierungskonfiguration, die festlegt, welche Evaluatoren für Sitzungen ausgeführt werden sollen.

  • Auf Konfigurationspaketen basierende Varianten: Eine Online-Evaluierungskonfiguration, die auf die einzige Laufzeit verweist, in der beide Varianten ausgeführt werden.

  • Target-based Varianten: Eine Online-Evaluierungskonfiguration pro Laufzeitendpunkt, den Sie für Ihren A/B Test verwenden (insgesamt zwei), da jeder Endpunkt über eine eigene Protokollgruppe verfügt.

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:*" ] } ] }