

# A/B prasyarat pengujian
<a name="ab-testing-prereqs"></a>

Sebelum Anda membuat A/B tes, pastikan sumber daya berikut sudah ada.

## Sumber daya yang dibutuhkan
<a name="ab-prereqs-resources"></a>


| Sumber daya | Deskripsi | 
| --- | --- | 
| AgentCore Gerbang |  AgentCore Gateway aktif dengan setidaknya satu target HTTP menunjuk ke runtime agen Anda. AgentCore Gateway menangani pemisahan lalu lintas antar varian. | 
| Runtime agen | Setidaknya satu runtime agen yang digunakan menggunakan Amazon Bedrock AgentCore SDK (versi 1.8\+). SDK `BaggageSpanProcessor` secara otomatis melampirkan detail eksperimen A/B pengujian (ARN eksperimen dan nama varian) ke semua OpenTelemetry rentang yang dipancarkan oleh runtime.[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/bedrock-agentcore/latest/devguide/ab-testing-prereqs.html) | 
| Konfigurasi evaluasi online | Konfigurasi evaluasi online aktif yang menentukan evaluator mana yang akan dijalankan terhadap sesi.[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/bedrock-agentcore/latest/devguide/ab-testing-prereqs.html) | 
| Bundel konfigurasi (opsional) | Diperlukan saat menggunakan varian berbasis bundel konfigurasi. Dua versi bundel atau dua bundel terpisah: satu untuk kontrol dan satu untuk perawatan. | 

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

Amazon Bedrock AgentCore SDK versi 1.8 atau yang lebih baru diperlukan. SDK menyertakan header bagasi eksperimen `BaggageSpanProcessor` yang disebarkan oleh AgentCore Gateway dan secara otomatis mencap semua rentang waktu proses OpenTelemetry dengan ARN eksperimen dan nama varian. Pipeline evaluasi online membaca atribut ini untuk memetakan skor sesi ke varian yang benar. Tidak diperlukan instrumentasi tambahan dalam kode agen Anda.

## Persyaratan evaluator
<a name="ab-prereqs-evaluators"></a>

**catatan**  
A/B pengujian mendukung evaluator bawaan, kustom LLM-as-judge, dan berbasis kode, tetapi mengharuskan setiap evaluator untuk mengembalikan nilai numerik untuk perhitungan signifikansi statistik. Untuk LLM-as-judge evaluator kustom, konfigurasikan `ratingScale` dengan `numerical` skala (bukan`categorical`). [Untuk evaluator berbasis kode, sertakan `value` bidang dalam skema respons.](code-based-evaluators.md#code-based-response-schema)

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

Peran eksekusi A/B pengujian harus mempercayai prinsip `bedrock-agentcore.amazonaws.com` layanan dan memiliki izin untuk operasi AgentCore Gateway, pembacaan bundel konfigurasi, pembacaan konfigurasi evaluasi online, dan akses CloudWatch Log.

**catatan**  
Anda hanya perlu membuat peran ini secara manual jika Anda membawa peran eksekusi Anda sendiri dan meneruskannya`agentcore run ab-test --role-arn <arn>`. Jika Anda menghilangkan`--role-arn`, AgentCore CLI secara otomatis membuat peran eksekusi untuk pengujian.

Contoh kebijakan kepercayaan:

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

Contoh kebijakan izin:

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