Articleaws.amazon.com·2026년 11월 4일·0

Use decision models with Amazon Bedrock AgentCore Evaluations

Quick Summary

Amazon Bedrock AgentCore Evaluations에 Jev와 Strands Decider 2B를 연결하면 고정된 선택지의 판단을 확률 기반 점수로 평가할 수 있으며, 실제 트래픽 검증을 거쳐 기존 LLM as a judge 평가를 보완할 수 있다.

Use decision models with Amazon Bedrock AgentCore Evaluations 관련 대표 이미지

🖼️ 인포그래픽

Use decision models with Amazon Bedrock AgentCore Evaluations 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Use decision models with Amazon Bedrock AgentCore Evaluations의 핵심 내용을 4단계로 요약한 인포그래픽
Use decision models with Amazon Bedrock AgentCore Evaluations 핵심 내용을 4단계로 압축한 4컷 인포그래픽

💡 한 줄 요약

Amazon Bedrock AgentCore Evaluations에 Jev와 Strands Decider 2B를 연결하면 고정된 선택지의 판단을 확률 기반 점수로 평가할 수 있으며, 실제 트래픽 검증을 거쳐 기존 LLM-as-a-judge 평가를 보완할 수 있다.

📌 핵심 요약

  • Amazon Bedrock AgentCore Evaluations는 개발 중 온디맨드 평가, 저장 세션의 배치 평가, 운영 트래픽의 온라인 평가를 지원하며, 15개 내장 평가기와 사용자 정의 LLM-as-a-judge 및 AWS Lambda 기반 코드 평가기를 제공한다.
  • TypeSafe의 호스팅 모델 Jev와 오픈소스 20억 매개변수 모델 Strands Decider 2B는 고정된 선택지에 대한 보정된 확률을 반환한다. 질문 유형은 예·아니요의 noul, 최대 255개 선택지의 choice, 2~10개 순서 수준의 score다.
  • 예제는 Strands Agents로 구현하고 AgentCore runtime에 배포한 HR Assistant를 대상으로 한다. 고정 모의 데이터를 사용하는 도구 5개와 결정론적 코드 평가기, 내장 LLM-as-a-judge 평가기, 선택적으로 추가하는 의사결정 모델 평가기를 함께 사용한다.
  • 각 의사결정 모델 백엔드는 TRACE 수준의 Groundedness와 Helpfulness, SESSION 수준의 GoalCompletion 평가기를 제공한다. 어댑터는 OpenTelemetry spans를 모델 입력으로 바꾸고, 출력 확률을 라벨과 수치로 변환하며, Helpfulness의 기대 수준은 0~1로 정규화한다.
  • 의사결정 모델로 다시 표현한 평가 기준은 기존 기준보다 엄격하거나 느슨해질 수 있으므로 출시 판단에 사용하기 전에 자체 트래픽의 라벨 표본으로 검증해야 한다. 원문은 독립 평가자 3명의 다수결 기준 라벨과 의견 불일치 기록을 권하며, 5단계 절차 중 3단계 도입부에서 제공 내용이 끊긴다.

🧩 주요 포인트

  1. 고정 선택지의 확률 출력 → 좁고 반복적인 판단에 임계값을 적용하거나 선별 신호로 활용할 수 있으며, 근거 연결과 상세 설명이 필요한 평가는 내장 LLM-as-a-judge와 병행하는 구성이 적합하다.
  2. AWS Lambda 기반 코드 평가기와 확률 변환 어댑터 → Jev 또는 Strands Decider 2B를 기존 평가 흐름에 추가하고, 질문 유형에 맞는 라벨과 수치를 AgentCore 평가 결과로 전달할 수 있다.
  3. 자체 트래픽과 독립 평가자 3명의 기준 라벨 → 모델의 판단 차이뿐 아니라 평가 기준 자체의 모호함을 확인할 수 있으며, 임계값의 신뢰성은 이러한 검증을 전제로 한다.

🧠 상세 정리

1. 반복 가능한 판단을 확률 기반 평가로 연결

원문은 응답이 정책을 준수했는지, 도구 호출을 승인해도 안전한지, 답변이 검색된 문맥과 일치하는지처럼 좁고 반복적인 질문에서 출발한다. 의사결정 모델은 구조화된 상태와 허용된 답의 고정 집합을 받아 자유 형식 설명 대신 각 답에 대한 보정된 확률을 반환하므로, 라벨과 임계값 적용이 가능한 수치가 필요한 평가 단계에 적합하다고 설명한다. Amazon Bedrock AgentCore Evaluations는 개발 중 온디맨드 평가부터 저장 세션의 배치 평가와 운영 트래픽의 온라인 평가까지 에이전트 수명주기를 지원한다. 이 기능은 15개 내장 평가기 외에도 Amazon Bedrock 모델을 사용하는 사용자 정의 LLM-as-a-judge와 AWS Lambda에서 자체 로직을 실행하는 코드 평가기를 제공한다. 코드 평가기에서 외부 시스템·모델·API를 호출할 수 있다는 점이 Jev와 Strands Decider 2B를 연결하는 기반이다.

2. 의사결정 모델의 세 가지 질문 유형

의사결정 모델은 고정된 선택지 중 하나를 고르고 보정된 신뢰도 점수를 반환하도록 학습된 작고 특화된 모델로 소개된다. TypeSafe의 호스팅 모델 Jev와 Strands Agents 팀의 오픈소스 20억 매개변수 모델 Strands Decider는 모두 noul, choice, score 질문을 지원한다. noul은 예·아니요 질문에 대해 0은 아니요, 1은 예를 뜻하는 확률을 반환하고, choice는 최대 255개 선택지 중 가장 가능성이 높은 답과 전체 확률 분포 및 신뢰도를 제공한다. score는 순서가 있는 2~10개 수준을 대상으로 확률 가중 점수와 수준별 분포 및 신뢰도를 반환한다. 응답의 모든 사실이 도구 결과로 뒷받침되는지는 예·아니요 질문으로, 응답이 얼마나 유용한지는 4단계 score 질문으로 표현할 수 있다. 원문은 단순한 이진 판단을 넘어 신뢰도를 활용하거나 특정 평가 기준을 일관되게 적용하려는 경우에 이러한 방식이 유용하다고 설명한다.

3. LLM-as-a-judge와의 역할 분담

AgentCore의 내장 평가기는 범용 LLM을 사용해 응답을 평가 기준과 대조하고 판단 이유를 설명한다. 이러한 설명은 여러 근거를 연결하거나 누락된 정보를 찾고 응답을 깊이 검토해야 하는 작업에서 점수만큼 유용할 수 있다. 반면 의사결정 모델은 에이전트가 요청을 거부했는지 또는 응답이 주제를 유지했는지처럼, 정보를 갖춘 사람이 빠르게 판단할 수 있는 명확한 질문에 적합하다. 원문은 자체 트래픽에서 질문의 유효성을 검증한 뒤 특정 판단이나 점수에 의사결정 모델을 사용할 수 있으며, 정책에 정의된 유해성이나 고정관념 범주에도 접근법을 확장할 수 있다고 설명한다. 두 백엔드 모두 같은 상태에 대해 한 요청으로 여러 질문을 처리할 수 있으므로, 지표별 통과·실패 신호로 추가 검토할 턴을 선별하는 계층으로도 사용할 수 있다. 따라서 의사결정 모델은 기존 LLM 평가기를 대체하기보다 좁은 검사를 담당하고, 내장 평가기는 더 폭넓은 판단과 문제 원인 설명을 제공하는 보완 관계로 제시된다.

4. HR Assistant 예제와 실행 전제

예제는 Strands Agents로 만든 HR Assistant를 AgentCore runtime에 배포하고, 결정론적 코드 검사와 내장 LLM-as-a-judge 및 의사결정 모델 평가를 함께 적용한다. 에이전트는 유급휴가 잔액, 휴가 신청, HR 정책, 복리후생, 급여명세서에 관한 고정 모의 데이터를 반환하는 도구 5개로 직원 질문에 답한다. 고정 데이터는 평가기의 동작을 확인하기 쉽게 하며, 정답 데이터까지 있으면 각 평가기가 의도한 실패를 찾아내는지도 확인할 수 있다. 실행에는 AgentCore Evaluations 지원 리전의 AWS 계정, 활성화된 Amazon CloudWatch Transaction Search, Amazon Bedrock 기반 모델 접근 권한, Python 3.12 이상, AWS CLI와 Docker가 필요하고 기본 리전은 US West (Oregon)이다. Jev에는 TypeSafe API 키가 필요하며, Strands Decider에는 서버를 실행할 호스트가 필요하다. Strands Decider는 테스트용으로 로컬에서 실행하거나, Lambda가 접근할 수 있도록 VPC 내부의 Amazon EC2에서 실행할 수 있다.

5. 기본 평가 파이프라인의 구성

전체 예제 코드는 AgentCore samples GitHub 저장소에 있으며, ../utils/deploy.py는 HR Assistant를 배포하고 evaluate.py는 평가기 배포와 에이전트 호출 및 평가 모드 실행을 처리한다. evaluate.py를 플래그 없이 실행하면 먼저 AgentCoreLambdaEvaluatorRole 실행 역할을 만들고 두 결정론적 Lambda 평가기를 패키징해 배포한다. hr-response-length는 TRACE 수준에서 응답 길이 범위를 검사하며, hr-fact-checker는 SESSION 수준에서 알려진 모의 데이터와 HR 사실이 맞는지 정규표현식으로 검증한다. 이후 두 평가기를 제어 영역에 코드 평가기로 등록하고, EvaluationClient와 OnDemandEvaluationDatasetRunner를 사용해 라벨이 있는 시나리오 5개를 온디맨드로 평가한다. 이때 Builtin.Correctness, Builtin.Helpfulness, Builtin.ResponseRelevance를 함께 실행하며, 마지막으로 실시간 세션을 100% 샘플링해 지속 평가하는 온라인 구성을 만든다. 이 기본 흐름만으로도 결정론적 검사와 LLM-as-a-judge 점수를 함께 얻을 수 있고, 의사결정 모델은 선택적으로 추가된다.

6. Jev와 Strands Decider 평가기의 추가

Jev를 사용하려면 --with-jev --jev-secret-arn <ARN>을 지정하며, 이 설정은 jev-evaluator를 배포하고 JevGroundedness, JevHelpfulness, JevGoalCompletion을 등록한다. --with-decider는 strands-decider-evaluator를 배포하고 Strands Decider 2B를 백엔드로 사용하는 대응 평가기 3개를 등록한다. 여기에 --decider-ec2를 추가하면 Amazon EC2 인스턴스, 보안 그룹, IAM 역할, Lambda VPC 구성을 수동 콘솔 작업 없이 자동으로 준비한다. 두 백엔드의 Groundedness는 TRACE 수준의 noul 질문으로 Grounded 또는 Ungrounded 라벨과 P(grounded)를 반환한다. Helpfulness는 TRACE 수준의 4단계 score 질문으로 가장 확률이 높은 수준을 라벨로 사용하고 기대 수준을 0~1로 정규화하며, GoalCompletion은 SESSION 수준의 3개 선택지 choice 질문으로 최빈 선택지와 확률 가중 값을 제공한다. 이 평가기들은 기존 평가 흐름을 변경하지 않고 기본 평가기와 나란히 실행된다.

7. OpenTelemetry 입력과 확률 출력의 변환

의사결정 모델 연결은 AWS Lambda 안에서 모델을 호출하고 라벨이나 수치를 반환하는 사용자 정의 코드 평가기로 구현된다. AgentCore에 등록된 Lambda는 에이전트의 OpenTelemetry spans를 전달받으며, spans.py 모듈이 여러 형태로 들어올 수 있는 내용을 정규화한 뒤 모델 요청에 적합하게 구성한다. TRACE 수준 평가에서는 대상 턴과 짧은 이전 이력만 보내고, SESSION 수준 평가에서는 전체 대화를 포함하므로 평가 범위에 따라 입력 문맥이 달라진다. 반환 결과를 변환할 때 noul은 true의 확률을 값으로 사용하고 가장 확률이 높은 답을 라벨로 삼는다. score는 수준별 확률로 계산한 기대 수준을 [0, 1]로 정규화하고, choice는 미리 정의한 선택지별 값의 확률 가중 평균을 사용한다. 따라서 같은 의사결정 모델의 확률 출력이라도 질문 유형에 따라 수치의 의미와 계산 방식이 달라지며, 어댑터가 이를 AgentCore 평가 결과 형식으로 연결한다.

8. 자체 트래픽으로 평가 기준과 임계값 검증

원문은 기존 평가 기준을 의사결정 모델 질문으로 다시 쓰는 행위를 기존 측정의 복제가 아닌 새로운 측정의 생성으로 본다. 질문을 재구성하면 의도보다 엄격하거나 느슨한 판단이 나올 수 있으므로, 출시 여부를 결정하는 데 사용하기 전에 자체 트래픽의 라벨 표본으로 검증해야 한다고 강조한다. 첫 단계는 저장된 세션에서 관심 있는 실패와 경계 사례를 충분히 포함하는 표본을 만드는 것으로, 정상 사례만 모으면 평가기가 어디에서 실패하는지 알 수 없다. 두 번째 단계에서는 독립 평가자 3명이 각 턴의 해당 속성을 평가하고 다수결을 기준 라벨로 삼으며, 만장일치 사례와 의견이 갈린 사례를 구분해 기록한다. 의견이 갈리는 턴은 모델이 판단하기 전부터 평가 기준 자체의 모호함을 드러내므로 특히 가치가 있다고 설명한다. 세 번째 단계의 제목은 같은 입력으로 두 평가기를 실행하는 것이지만, 제공된 원문은 그 설명 도중에 끊겨 있어 예고된 5단계 전체와 이후 검증 결과는 확인할 수 없다.

🧾 핵심 주장 / 시사점

  • 확률 기반 점수의 실용성은 임계값을 설정할 수 있다는 데 있지만, 원문은 실제 트래픽 검증을 그 전제로 둔다. 모델이 확률을 반환한다는 사실만으로 특정 에이전트의 출시 판단에 바로 사용할 수 있다는 결론은 성립하지 않는다.
  • 고정 모의 데이터를 쓰는 HR Assistant는 평가기 동작을 확인하기 위한 예제다. 이를 자체 사용 사례에 적용할 때는 실제 세션과 기준 라벨을 통해 판단 차이를 확인해야 한다는 흐름으로 이어진다.
  • 사람 평가자 사이의 의견 불일치는 모델 오류와 구분해 볼 필요가 있다. 원문은 이러한 불일치가 평가 질문이나 기준 자체의 모호함을 드러낼 수 있다고 강조한다.

✅ 액션 아이템

  • Jev 또는 Strands Decider 2B를 적용할 고정 선택지 질문을 정하고, 상세 설명이 필요한 판단은 내장 LLM-as-a-judge와 병행하는 구성 검토.
  • AWS Lambda 기반 코드 평가기에서 OpenTelemetry spans의 입력 범위와 질문 유형별 확률 변환 방식을 확인.
  • 출시 판단에 사용할 임계값은 자체 트래픽의 실패·경계 사례와 독립 평가자 3명의 다수결 기준 라벨을 바탕으로 검증.

❓ 열린 질문

  • Jev 또는 Strands Decider 2B에 맡길 고정 선택지 질문과 내장 LLM-as-a-judge의 상세 평가를 병행할 판단은 무엇인가?
  • Groundedness, Helpfulness, GoalCompletion의 확률 기반 점수를 출시 판단에 사용하려면 자체 트래픽에서 어떤 임계값이 적절한가?
  • 독립 평가자 3명의 의견이 갈린 사례에서 평가 기준의 어떤 모호함을 확인할 수 있는가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.