

# A/B Voraussetzungen für das Testen
<a name="ab-testing-prereqs"></a>

Bevor Sie einen A/B Test erstellen, stellen Sie sicher, dass die folgenden Ressourcen vorhanden sind.

## Erforderliche -Ressourcen
<a name="ab-prereqs-resources"></a>


| 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.[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/bedrock-agentcore/latest/devguide/ab-testing-prereqs.html) | 
| Konfiguration der Online-Evaluierung | Eine aktive Online-Evaluierungskonfiguration, die festlegt, welche Evaluatoren für Sitzungen ausgeführt werden sollen.[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/bedrock-agentcore/latest/devguide/ab-testing-prereqs.html) | 
| 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
<a name="ab-prereqs-sdk"></a>

Das Amazon Bedrock AgentCore SDK Version 1.8 oder höher ist erforderlich. Das SDK enthält eine`BaggageSpanProcessor`, 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
<a name="ab-prereqs-evaluators"></a>

**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.](code-based-evaluators.md#code-based-response-schema)

## IAM-Berechtigungen
<a name="ab-prereqs-iam"></a>

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