

# A/B prerequisiti di test
<a name="ab-testing-prereqs"></a>

Prima di creare un A/B test, assicurati che siano disponibili le seguenti risorse.

## Risorse obbligatorie
<a name="ab-prereqs-resources"></a>


| Risorsa | Description | 
| --- | --- | 
| AgentCore Gateway | Un AgentCore gateway attivo con almeno una destinazione HTTP che punta al runtime dell'agente. Il AgentCore Gateway gestisce la suddivisione del traffico tra le varianti. | 
| Runtime dell'agente | Almeno un runtime dell'agente distribuito utilizzando Amazon Bedrock AgentCore SDK (versione 1.8\+). L'SDK allega `BaggageSpanProcessor` automaticamente i dettagli dell'esperimento di A/B test (ARN dell'esperimento e nome della variante) a tutti OpenTelemetry gli intervalli emessi dal runtime.[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/bedrock-agentcore/latest/devguide/ab-testing-prereqs.html) | 
| Configurazione di valutazione online | Una configurazione di valutazione online attiva che specifica quali valutatori eseguire sulle sessioni.[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/bedrock-agentcore/latest/devguide/ab-testing-prereqs.html) | 
| Pacchetti di configurazione (opzionali) | Richiesto quando si utilizzano varianti basate su pacchetti di configurazione. Due versioni del pacchetto o due pacchetti separati: uno per il controllo e uno per il trattamento. | 

## Requisiti SDK
<a name="ab-prereqs-sdk"></a>

È richiesta la versione 1.8 o successiva di Amazon Bedrock AgentCore SDK. L'SDK include un programma `BaggageSpanProcessor` che legge le intestazioni dei bagagli degli esperimenti diffuse dal AgentCore Gateway e contrassegna automaticamente tutti gli intervalli di runtime OpenTelemetry con l'ARN dell'esperimento e il nome della variante. La pipeline di valutazione online legge questi attributi per mappare i punteggi delle sessioni alla variante corretta. Non è richiesta alcuna strumentazione aggiuntiva nel codice dell'agente.

## Requisiti per il valutatore
<a name="ab-prereqs-evaluators"></a>

**Nota**  
A/B il test supporta valutatori integrati LLM-as-judge, personalizzati e basati su codice, ma richiede che ogni valutatore restituisca un valore numerico per il calcolo della significatività statistica. Per i LLM-as-judge valutatori personalizzati, configurali con una scala (non). `ratingScale` `numerical` `categorical` [Per i valutatori basati su codice, includi il `value` campo nello schema di risposta.](code-based-evaluators.md#code-based-response-schema)

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

Il ruolo di esecuzione del A/B test deve affidarsi al responsabile del `bedrock-agentcore.amazonaws.com` servizio e disporre delle autorizzazioni per le operazioni del AgentCore gateway, la lettura dei pacchetti di configurazione, la lettura della configurazione di valutazione online e l'accesso ai registri. CloudWatch 

**Nota**  
È necessario creare questo ruolo manualmente solo se si inserisce il proprio ruolo di esecuzione e lo si assegna. `agentcore run ab-test --role-arn <arn>` Se si omette`--role-arn`, la AgentCore CLI crea automaticamente un ruolo di esecuzione per il test.

Esempio di politica di fiducia:

```
{
    "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/*"
                }
            }
        }
    ]
}
```

Esempio di politica di autorizzazione:

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