결과 및 출력 이해
배치 평가 결과는 API 응답의 집계 요약과 CloudWatch Logs의 세션별 세부 정보라는 두 계층으로 구성됩니다.
결과 집계
배치 평가가 완료되면 GetBatchEvaluation 응답에는 집계 요약이 포함된 evaluationResults 객체가 포함됩니다.
세션 수
| 필드 | 설명 |
|---|---|
|
|
모든 평가자가 성공적으로 평가한 세션 수입니다. |
|
|
한 명 이상의 평가자가 실패한 세션 수입니다. |
|
|
아직 평가 중인 세션 수(작업이 완료되면 0). |
|
|
세션 소스에서 검색된 총 세션 수입니다. |
|
|
평가를 위해 무시된 세션 수입니다. 이 서비스는 작업당 최대 500개의 세션을 평가합니다. 500개 이상의 세션이 검색되면 서비스는 500개의 최신 세션을 선택하고 나머지 세션은 무시합니다. |
평가자별 요약
의 각 항목은 한 평가자에 대한 집계 지표를 evaluatorSummaries 제공합니다.
| 필드 | 설명 |
|---|---|
|
|
짧은 ID(예: |
|
|
평가된 모든 세션의 평균 점수입니다. 범위는 평가자에 따라 다릅니다(일반적으로 0~1). |
|
|
이 평가자가 성공적으로 점수를 매긴 세션 수입니다. |
|
|
이 평가자가 오류를 반환한 세션 수입니다. |
응답의 예
{ "batchEvaluationId": "12345678-1234-1234-1234-123456789012", "status": "COMPLETED", "evaluationResults": { "numberOfSessionsCompleted": 47, "numberOfSessionsFailed": 3, "numberOfSessionsIgnored": 0, "totalNumberOfSessions": 50, "evaluatorSummaries": [ { "evaluatorId": "Builtin.GoalSuccessRate", "statistics": { "averageScore": 0.72 }, "totalEvaluated": 47, "totalFailed": 0 }, { "evaluatorId": "Builtin.Helpfulness", "statistics": { "averageScore": 0.81 }, "totalEvaluated": 47, "totalFailed": 0 } ] } }
CloudWatch Logs의 세션별 세부 정보
GetBatchEvaluation 응답의 outputConfig 필드는 세션별, 평가자별 결과가 OpenTelemetry 이벤트로 기록되는 CloudWatch Logs 위치를 지정합니다.
{ "outputConfig": { "cloudWatchConfig": { "logGroupName": "/aws/bedrock-agentcore/evaluations/batch", "logStreamName": "12345678-1234-1234-1234-123456789012" } } }
로그 스트림의 각 이벤트에는 회전별, 평가자별 세부 정보가 포함됩니다.
| 필드 | 설명 |
|---|---|
|
|
이 턴의 숫자 점수입니다. |
|
|
범주형 레이블(예: , |
|
|
점수에 대한 LLM 생성 추론입니다. |
이러한 이벤트를 읽으려면 CloudWatch Logs API를 사용합니다.
import boto3 logs_client = boto3.client("logs", region_name="us-west-2") response = logs_client.get_log_events( logGroupName="/aws/bedrock-agentcore/evaluations/batch", logStreamName="12345678-1234-1234-1234-123456789012", ) for event in response["events"]: print(event["message"])
점수 해석
배치 평가 점수는 온디맨드 평가와 동일한 규칙을 따릅니다.
-
숫자 점수(
value): 범위는 평가자에 따라 다릅니다. 대부분의 기본 제공 평가자는 0에서 1까지 점수를 매기며, 여기서 높을수록 좋습니다. -
레이블(
label): 점수에 대한 범주형 설명입니다. 예를 들어는Very Helpful, ,Somewhat Helpful와 같은 레이블을Builtin.Helpfulness반환합니다Not Helpful.
오류 처리
작업 수준 오류
배치 평가 작업이 완전히 실패할 경우 status는 FAILED 이고 에는 무엇이 잘못되었는지 설명하는 오류 메시지가 하나 이상 errorDetails 포함됩니다. 일반적인 원인:
-
지정된 소스에서 세션을 찾을 수 없습니다.
-
CloudWatch 로그 그룹 또는 서비스 이름이 잘못되었습니다.
세션 수준 오류
전체 작업이 성공하는 동안 개별 세션이 실패할 수 있습니다. 의 numberOfSessionsFailed 수는 오류가 발생한 세션 수를 evaluationResults 나타냅니다. 세션별 오류는 CloudWatch Logs 출력에 기록됩니다.
평가자 수준 오류
성공적으로 평가된 세션 내에서 개별 평가자는 실패할 수 있습니다. 각 평가자 요약의 totalFailed 수는 평가자가 점수를 매길 수 없는 세션 수를 나타냅니다. 일반적인 원인에는 잘못된 스팬 또는 필수 속성 누락이 포함됩니다.
실행 간 결과 비교
일반적인 워크플로는 변경(프롬프트 업데이트, 모델 스왑, 도구 수정) 전후에 배치 평가를 실행하고 집계 점수를 비교하는 것입니다.
# After running two batch evaluations baseline = client.get_batch_evaluation(batchEvaluationId=baseline_id) treatment = client.get_batch_evaluation(batchEvaluationId=treatment_id) baseline_summaries = { s["evaluatorId"]: s["statistics"]["averageScore"] for s in baseline["evaluationResults"]["evaluatorSummaries"] } treatment_summaries = { s["evaluatorId"]: s["statistics"]["averageScore"] for s in treatment["evaluationResults"]["evaluatorSummaries"] } print(f"{'Evaluator':<35} {'Baseline':>10} {'Treatment':>10} {'Delta':>10}") print("=" * 67) for eid in baseline_summaries: b = baseline_summaries[eid] t = treatment_summaries.get(eid, 0) delta = t - b print(f"{eid:<35} {b:>10.4f} {t:>10.4f} {delta:>+10.4f}")
CLI에서 결과 보기
GetBatchEvaluation API 외에도 AgentCore CLI는 동일한 결과를 표시합니다.
-
agentcore view batch-evaluation <batch-evaluation-id>- 단일 작업 및 결과를 봅니다(원시 출력에--json추가). -
agentcore batch-evaluations history- 배치 평가 작업을 나열합니다(실행 중인 작업은 서비스에서 새로 고쳐지고 추가--json). -
agentcore run batch-evaluation … --json- 위의 JSON 예제에 표시된 것과 동일한evaluationResultsbatchEvaluationId/ /evaluatorSummaries객체를 반환합니다.
# View a single batch evaluation job and its results agentcore view batch-evaluation 12345678-1234-1234-1234-123456789012 --json # List batch evaluation jobs (running jobs are refreshed from the service) agentcore batch-evaluations history --json
참고
평가자를 선택하기 위한 실행 명령 플래그는 -e, --evaluator <ids…> (또는 )입니다--evaluator-arn <arns…>.