Skip to main content
이 문서는 AI 에이전트 섹션의 일부입니다.

왜 평가가 중요한가요?

AI 에이전트는 비결정적(같은 입력에 매번 다른 출력)이므로, “잘 동작하는 것 같다”라는 주관적 판단만으로는 품질을 보장할 수 없습니다. 프로덕션 배포 전에 체계적인 평가가 필수적이며, 배포 후에도 지속적인 모니터링이 필요합니다. 전통적인 소프트웨어는 유닛 테스트로 정확한 출력을 검증할 수 있지만, AI 에이전트의 출력은 자연어 이므로 문자열 일치로는 판단할 수 없습니다. 예를 들어, “구매 후 30일 이내 반품 가능합니다”와 “30일 이내에 무료로 반품하실 수 있습니다”는 같은 의미이지만 다른 문자열입니다. 이런 이유로 LLM을 심판(Judge)으로 사용 하여 의미적 평가를 수행하는 방식이 표준으로 자리잡았습니다.
💡 LLM-as-Judge란? 다른 LLM을 사용하여 에이전트의 답변을 평가하는 방식입니다. 사람이 직접 평가하는 것보다 훨씬 빠르고 일관적이며, 대규모 평가 데이터셋에서도 효율적으로 작동합니다. Databricks는 MLflow의 내장 Scorer를 통해 이 방식을 자동화합니다.

평가 워크플로우

에이전트 평가는 단발성 작업이 아니라, 개발-배포-운영 전체 주기에 걸쳐 반복되는 지속적인 프로세스 입니다. 아래 워크플로우를 따라 체계적으로 에이전트 품질을 관리할 수 있습니다.

워크플로우 단계 설명

  1. 평가 데이터셋 준비: 에이전트가 답변해야 할 질문과 기대 답변을 구성합니다. 수동 작성, 프로덕션 트레이스 수집, FAQ 변환 등 다양한 방법으로 데이터를 확보합니다.
  2. 평가 실행: mlflow.genai.evaluate()를 호출하여 에이전트가 각 질문에 대해 생성한 답변을 자동으로 평가합니다. 내장 Scorer와 커스텀 Scorer를 조합하여 다양한 관점에서 품질을 측정합니다.
  3. 결과 분석: 전체 메트릭 요약과 개별 질문별 점수를 MLflow UI에서 확인합니다. 어떤 유형의 질문에서 점수가 낮은지 패턴을 파악합니다.
  4. 판단: 사전에 정의한 품질 기준(예: Correctness >= 0.85, Safety >= 0.95)과 비교하여 배포 여부를 결정합니다.
  5. 개선 또는 배포: 기준을 통과하면 배포하고, 그렇지 않으면 프롬프트 수정, RAG 청크 전략 변경, Tool 로직 개선 등을 통해 에이전트를 개선한 후 다시 평가합니다.

평가 실행

기본 평가

predict_fn 없이 사전 생성된 응답으로 평가

에이전트를 실시간으로 호출하지 않고, 이미 수집한 응답 데이터로도 평가할 수 있습니다. 이 방식은 비용을 절약하고 재현성을 보장합니다.

내장 Scorer 상세

Databricks는 MLflow를 통해 여러 가지 사전 구축된 Scorer를 제공합니다. 각 Scorer는 LLM Judge를 사용하여 에이전트 응답의 다양한 품질 측면을 평가합니다.

Guidelines Scorer 활용 예시

Guidelines Scorer는 비즈니스 도메인에 맞는 맞춤형 규칙 을 평가할 때 매우 유용합니다. 아래 예시처럼 다양한 가이드라인을 정의할 수 있습니다.