

# A/B 테스트 사전 조건
<a name="ab-testing-prereqs"></a>

A/B 테스트를 생성하기 전에 다음 리소스가 있는지 확인합니다.

## 필수 리소스
<a name="ab-prereqs-resources"></a>


| Resource | 설명 | 
| --- | --- | 
| AgentCore 게이트웨이 | 에이전트 런타임을 가리키는 HTTP 대상이 하나 이상 있는 활성 AgentCore Gateway입니다. AgentCore Gateway는 변형 간 트래픽 분할을 처리합니다. | 
| 에이전트 런타임 | Amazon Bedrock AgentCore SDK(버전 1.8 이상)를 사용하여 배포된 에이전트 런타임이 하나 이상 있습니다. SDK는 런타임에서 내보내는 모든 OpenTelemetry 스팬에 A/B 테스트 실험 세부 정보(실험 ARN 및 변형 이름)를 `BaggageSpanProcessor` 자동으로 연결합니다.[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/bedrock-agentcore/latest/devguide/ab-testing-prereqs.html) | 
| 온라인 평가 구성 | 세션에 대해 실행할 평가자를 지정하는 활성 온라인 평가 구성입니다.[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/bedrock-agentcore/latest/devguide/ab-testing-prereqs.html) | 
| 구성 번들(선택 사항) | 구성 번들 기반 변형을 사용할 때 필요합니다. 번들 버전 2개 또는 별도의 번들 2개: 제어용 1개 및 처리용 1개. | 

## SDK 요구 사항
<a name="ab-prereqs-sdk"></a>

Amazon Bedrock AgentCore SDK 버전 1.8 이상이 필요합니다. SDK에는 AgentCore Gateway에서 전파한 실험용 장비 헤더를 읽고 모든 런타임 OpenTelemetry 스팬에 실험 ARN 및 변형 이름을 자동으로 스탬핑`BaggageSpanProcessor`하는가 포함되어 있습니다. 온라인 평가 파이프라인은 이러한 속성을 읽어 세션 점수를 올바른 변형에 매핑합니다. 에이전트 코드에는 추가 계측이 필요하지 않습니다.

## 평가자 요구 사항
<a name="ab-prereqs-evaluators"></a>

**참고**  
A/B 테스트는 기본 제공, 사용자 지정 LLM-as-judge 및 코드 기반 평가자를 지원하지만 각 평가자는 통계적 유의성 계산을 위해 숫자 값을 반환해야 합니다. 사용자 지정 LLM-as-judge 평가자의 경우 `numerical` 스케일( 아님)`ratingScale`을 사용하여를 구성합니다`categorical`. 코드 기반 평가자의 경우 [응답 스키마](code-based-evaluators.md#code-based-response-schema)에 `value` 필드를 포함합니다.

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

A/B 테스트 실행 역할은 `bedrock-agentcore.amazonaws.com` 서비스 보안 주체를 신뢰해야 하며 AgentCore Gateway 작업, 구성 번들 읽기, 온라인 평가 구성 읽기 및 CloudWatch Logs 액세스에 대한 권한이 있어야 합니다.

**참고**  
자체 실행 역할을 가져와와 함께 전달하는 경우에만이 역할을 수동으로 생성하면 됩니다`agentcore run ab-test --role-arn <arn>`. `--role-arn`를 생략하면 AgentCore CLI가 테스트를 위한 실행 역할을 자동으로 생성합니다.

신뢰 정책 예:

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

권한 정책 예제:

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