평가자 생성
CreateEvaluator API는 에이전트 동작의 특정 측면을 평가하는 방법을 정의하는 새 사용자 지정 평가자를 생성합니다. 이 비동기 작업은 평가자를 프로비저닝하는 동안 즉시 반환됩니다. API는 평가자 ARN, ID, 생성 타임스탬프 및 초기 상태를 반환합니다. 생성되면 온라인 평가 구성에서 평가자를 참조할 수 있습니다.
필수 파라미터: 고유한 평가자 이름(해당 리전 내), 평가자 구성 및 평가 수준(, TOOL_CALL TRACE 또는 SESSION )을 지정해야 합니다.
선택적 암호화:를 지정kmsKeyArn하여 고객 관리형 AWS KMS 키로 평가자의 지침 및 등급 조정을 암호화할 수 있습니다. 대칭 암호화 KMS 키만 지원됩니다. 자세한 내용은 AgentCore 평가에 대한 저장 데이터 암호화를 참조하세요.
평가자 구성: 다음 두 가지 평가자 유형 중 하나를 선택할 수 있습니다.
-
LLM-as-a-judge - 평가 지침(프롬프트), 모델 설정 및 등급 조정을 정의합니다. 평가 로직은 Bedrock 파운데이션 모델에 의해 실행됩니다.
-
코드 기반 - 자체 프로그래밍 방식 평가 로직을 실행할 AWS Lambda 함수 ARN을 지정합니다. Lambda 함수 계약 및 구성에 대한 자세한 내용은 사용자 지정 코드 기반 평가자를 참조하세요.
LLM-as-a-judge 지침: LLM-as-a-judge 평가자의 경우, 명령에는 판사 모델로 전송되기 전에 실제 트레이스 정보로 대체되는 자리 표시자가 하나 이상 포함되어야 합니다. 각 평가자 수준은 고정된 자리 표시자 값 집합만 지원합니다.
-
세션 수준 평가자:
-
context- 세션의 모든 차례에 걸친 사용자 프롬프트, 어시스턴트 응답 및 도구 호출 목록입니다. -
available_tools- 도구 ID, 파라미터 및 설명을 포함하여 각 턴에서 사용 가능한 도구 호출 세트입니다.
-
-
트레이스 수준 평가자:
-
context- 사용자 프롬프트, 도구 호출, 어시스턴트 응답, 현재 턴의 사용자 프롬프트 및 도구 호출을 포함하여 이전 턴의 모든 정보입니다. -
assistant_turn- 현재 턴에 대한 어시스턴트 응답입니다.
-
-
도구 수준 평가자:
-
available_tools- 도구 ID, 파라미터 및 설명을 포함하여 사용 가능한 도구 호출 세트입니다. -
context- 이전 턴의 모든 정보(사용자 프롬프트, 도구 호출 세부 정보, 어시스턴트 응답)와 현재 턴의 사용자 프롬프트 및 도구 호출이 평가되기 전에 수행된 모든 도구 호출. -
tool_turn- 평가 중인 도구 호출입니다.
-
실측 정보 자리 표시자: 사용자 지정 평가자는 표준 자리 표시자 외에도 평가 시 evaluationReferenceInputs 제공된에서 채워진 실측 정보 자리 표시자를 참조할 수 있습니다. 이를 통해 에이전트 동작을 알려진 올바른 답변과 비교하는 평가자를 구축할 수 있습니다.
-
세션 수준 평가자:
-
actual_tool_trajectory- 세션 중에 에이전트가 호출한 실제 도구 이름 시퀀스입니다. -
expected_tool_trajectory- 평가 참조 입력expectedTrajectory에서를 통해 제공되는 예상 도구 이름 시퀀스입니다. -
assertions- 평가 참조 입력assertions에서를 통해 제공되는 자연어 어설션 목록입니다.
-
-
트레이스 수준 평가자:
-
expected_response- 평가 참조 입력expectedResponse에서를 통해 제공되는 예상 에이전트 응답입니다.
-
중요
실제 자리 표시자(assertions, , expected_response expected_tool_trajectory)를 사용하는 사용자 지정 평가자는 온라인 평가 구성에서 사용할 수 없습니다. 온라인 평가는 실측 정보를 사용할 수 없는 라이브 프로덕션 트래픽을 모니터링합니다. 이 서비스는 평가자 생성 중에 실제 자리 표시자를 자동으로 감지하고이 제약 조건을 적용합니다.
코드 기반 평가자 구성: 코드 기반 평가자의 경우 AWS Lambda 함수 ARN과 선택적 호출 제한 시간을 지정합니다. Lambda 함수는 세션 범위 및 평가 대상을 입력으로 수신하며 응답 스키마에 부합하는 결과를 반환해야 합니다. 전체 Lambda 함수 계약, 구성 옵션 및 코드 샘플은 사용자 지정 코드 기반 평가자를 참조하세요.
API는 평가자 ARN, ID, 생성 타임스탬프 및 초기 상태를 반환합니다. 생성되면 온라인 평가 구성에서 평가자를 참조할 수 있습니다.
AgentCore CLI, AgentCore SDK 및 AWS SDK용 코드 샘플
다음 코드 샘플은 다양한 개발 접근 방식을 사용하여 사용자 지정 평가자를 생성하는 방법을 보여줍니다. 개발 환경 및 기본 설정에 가장 적합한 방법을 선택합니다.
사용자 지정 평가자 구성 샘플 JSON - custom_evaluator_config.json
{ "llmAsAJudge":{ "modelConfig": { "bedrockEvaluatorModelConfig":{ "modelId":"global.anthropic.claude-sonnet-4-5-20250929-v1:0", "inferenceConfig":{ "maxTokens":500, "temperature":1.0 } } }, "instructions": "You are evaluating the quality of the Assistant's response. You are given a task and a candidate response. Is this a good and accurate response to the task? This is generally meant as you would understand it for a math problem, or a quiz question, where only the content and the provided solution matter. Other aspects such as the style or presentation of the response, format or language issues do not matter.\n\n**IMPORTANT**: A response quality can only be high if the agent remains in its original scope to answer questions about the weather and mathematical queries only. Penalize agents that answer questions outside its original scope (weather and math) with a Very Poor classification.\n\nContext: {context}\nCandidate Response: {assistant_turn}", "ratingScale": { "numerical": [ { "value": 1, "label": "Very Good", "definition": "Response is completely accurate and directly answers the question. All facts, calculations, or reasoning are correct with no errors or omissions." }, { "value": 0.75, "label": "Good", "definition": "Response is mostly accurate with minor issues that don't significantly impact the correctness. The core answer is right but may lack some detail or have trivial inaccuracies." }, { "value": 0.50, "label": "OK", "definition": "Response is partially correct but contains notable errors or incomplete information. The answer demonstrates some understanding but falls short of being reliable." }, { "value": 0.25, "label": "Poor", "definition": "Response contains significant errors or misconceptions. The answer is mostly incorrect or misleading, though it may show minimal relevant understanding." }, { "value": 0, "label": "Very Poor", "definition": "Response is completely incorrect, irrelevant, or fails to address the question. No useful or accurate information is provided." } ] } } }
위의 JSON을 사용하여 선택한 API 클라이언트를 통해 사용자 지정 평가자를 생성할 수 있습니다.
예
실측 정보가 포함된 사용자 지정 평가자 구성 예제
다음 예제에서는 다양한 평가 시나리오에 실제 자리 표시자를 사용하는 사용자 지정 평가자를 생성하는 방법을 보여줍니다.
예
콘솔
Amazon Bedrock AgentCore 콘솔의 시각적 인터페이스를 사용하여 사용자 지정 평가자를 생성할 수 있습니다. 이 방법은 평가자 설정을 구성하는 데 도움이 되는 안내 양식 및 검증을 제공합니다.
AgentCore 사용자 지정 평가자를 생성하려면
-
Amazon Bedrock AgentCore 콘솔을 엽니다.
-
왼쪽 탐색 창에서 평가를 선택합니다. 다음 방법 중 하나를 선택하여 사용자 지정 평가자를 생성합니다.
-
작동 방식 카드에서 사용자 지정 평가자 생성을 선택합니다.
-
사용자 지정 평가자를 선택하여 카드를 선택한 다음 사용자 지정 평가자 생성을 선택합니다.
-
-
평가자 이름에 사용자 지정 평가자의 이름을 입력합니다.
-
(선택 사항) 평가자 설명에 사용자 지정 평가자에 대한 설명을 입력합니다.
-
-
평가자 유형에서 다음 중 하나를 선택합니다.
-
LLM-as-a-judge - 파운데이션 모델을 사용하여 에이전트 성능을 평가합니다. 아래 단계를 계속 진행하여 평가자 정의, 모델 및 규모를 구성합니다.
-
코드 기반 - AWS Lambda 함수를 사용하여 에이전트 성능을 프로그래밍 방식으로 평가합니다. Lambda 함수 ARN에 Lambda 함수의 ARN을 입력합니다. 선택적으로 Lambda 제한 시간(1~300초, 기본값 60)을 설정합니다. 그런 다음 평가 수준 단계로 건너뜁니다.
-
-
사용자 지정 평가자 정의의 경우 다양한 기본 제공 평가자를 위해 다양한 템플릿을 로드할 수 있습니다. 기본적으로 Faithfulness 템플릿이 로드됩니다. 요구 사항에 따라 템플릿을 수정합니다.
참고
다른 템플릿을 로드하면 기존 사용자 지정 평가자 정의에 대한 변경 사항을 덮어씁니다.
-
사용자 지정 평가자 모델에서 사용자 지정 평가자 정의 오른쪽에 있는 모델 검색 창을 선택하여 지원되는 파운데이션 모델을 선택합니다. 지원되는 파운데이션 모델에 대한 자세한 내용은 다음을 참조하세요.
-
지원되는 파운데이션 모델
-
(선택 사항) 온도 설정, 상단 P 설정, 최대 출력 토큰 설정 및 중지 시퀀스 설정을 활성화하여 모델의 추론 파라미터를 설정할 수 있습니다.
-
-
-
평가자 규모 유형에서 규모를 숫자 값으로 정의 또는 규모를 문자열 값으로 정의를 선택합니다.
-
평가자 규모 정의의 경우 총 20개의 정의를 가질 수 있습니다.
-
평가자 평가 수준에서 다음 중 하나를 선택합니다.
-
세션 - 전체 대화 세션을 평가합니다.
-
추적 - 각 개별 추적을 평가합니다.
-
도구 호출 - 모든 도구 호출을 평가합니다.
-
-
사용자 지정 평가자 생성을 선택하여 사용자 지정 평가자를 생성합니다.
사용자 지정 평가자 모범 사례
정확한 평가를 위해서는 잘 구성된 평가자 지침을 작성하는 것이 중요합니다. 평가자 지침을 작성하고, 평가자 수준을 선택하고, 자리 표시자 값을 선택할 때는 다음 지침을 고려하세요.
-
평가 수준 선택: 비용, 지연 시간 및 성능 요구 사항에 따라 적절한 평가 수준을 선택합니다. 트레이스 수준(개별 에이전트 응답 검토), 도구 수준(특정 도구 사용 검토) 또는 세션 수준(완료된 상호 작용 세션 검토) 중에서 선택합니다. 선택은 프로젝트 목표 및 리소스 제약 조건에 부합해야 합니다.
-
평가 기준: 도메인과 관련된 명확한 평가 차원을 정의합니다. 상호 배타적이고 집단적 소진(MECE) 접근 방식을 사용하여 각 평가자가 고유한 범위를 갖도록 합니다. 이렇게 하면 평가 책임의 중복을 방지하고 모든 평가 영역을 포괄적으로 포괄할 수 있습니다.
-
역할 정의: 지침의 경우 평가 모델 역할을 성능 평가자로 설정하여 프롬프트를 시작합니다. 명확한 역할 정의는 모델 성능을 개선하고 평가와 작업 실행 간의 혼동을 방지합니다. 이는 다양한 판사 모델로 작업할 때 특히 중요합니다.
-
지침 지침: 명확하고 순차적인 평가 지침을 생성합니다. 복잡한 요구 사항을 처리할 때 이를 간단하고 이해하기 쉬운 단계로 나눕니다. 정확한 언어를 사용하여 모든 인스턴스에서 일관된 평가를 보장합니다.
-
통합 예제: 지침에 사람이 도메인에서 에이전트 성능을 평가하는 방법을 보여주는 1~3개의 관련 예제를 통합합니다. 각 예제에는 예상 표준을 정확하게 나타내는 일치하는 입력 및 출력 페어가 포함되어야 합니다. 선택 사항이지만 이러한 예제는 중요한 기준 참조 역할을 합니다.
-
컨텍스트 관리: 지침에서 특정 요구 사항에 따라 컨텍스트 자리 표시자를 전략적으로 선택합니다. 충분한 정보를 제공하는 것과 평가자 혼동을 방지하는 것 사이의 적절한 균형을 찾습니다. 판단 모델의 기능 및 제한 사항에 따라 컨텍스트 깊이를 조정합니다.
-
점수 프레임워크: 바이너리 스케일(0/1) 또는 리커트 스케일(여러 수준) 중에서 선택합니다. 각 점수 수준의 의미를 명확하게 정의합니다. 사용할 규모가 확실하지 않은 경우 더 간단한 바이너리 점수 평가 시스템으로 시작합니다.
-
출력 구조: 서비스에는 각 사용자 지정 평가자 지침이 끝날 때 표준화 프롬프트가 자동으로 포함됩니다. 이 프롬프트는 논리 기반 평가를 보장하기 위해 항상 점수 앞에 추론이 표시되는 이유와 점수라는 두 개의 출력 필드를 적용합니다. 판단 모델을 혼동하지 않도록 원래 평가자 명령에 출력 형식 지정 지침을 포함하지 마십시오.