Metric의 선택법

Dahun Yoo·2026년 8월 1일

Deep Eval

목록 보기
5/9
post-thumbnail

평가 지표를 어떻게 선택해야하나를 기재한다.

Metric 선택법

DeepEval에서는 몇가지 표준 메트릭(평가지표, 평가기준) 을 제공하고 있다. 이름들이 조금 어렵긴 한데... 이름이 좋아보인다는 이유로 고르지 말고, 이 점수가 낮으면 어느 컴포넌트를 고쳐야할까? 로 접근해야한다.

대표적인 Metric

대표적으로는 아래의 표와 같다.

평가 질문후보 메트릭주로 진단하는 대상
답변이 질문에 관련 있는가?AnswerRelevancyMetricgenerator/final answer
답변의 주장이 검색 문서에 근거하는가?FaithfulnessMetricRAG generator
검색 결과에 불필요한 내용이 많은가?ContextualRelevancyMetricretriever
필요한 근거를 빠뜨렸는가?ContextualRecallMetricretriever
중요한 근거가 위에 랭크되었는가?ContextualPrecisionMetricretriever/reranker
정해진 도구를 올바르게 호출했는가?ToolCorrectnessMetricagent
전체 과업을 달성했는가?TaskCompletionMetrictraced agent
제품 고유 기준을 만족하는가?GEval요구사항에 따라 결정
출력이 JSON schema를 만족하는가?JsonCorrectnessMetric 또는 결정적 검사structured output
대화 전체가 목적을 달성했는가?conversational metricsmulti-turn chatbot

처음에는 전체 suite 중 5개 정도로 추려본다.

표준 Metric으로 부족하면 Custom metric

표준 메트릭으로 부족하면, GEval 과 같은 custom metric을 만들어볼 수 있다.

방식적합한 기준
GEval정확성, 친절성, 유용성처럼 자연어로 설명 가능한 단일 품질 축
DAGMetric조건부 분기와 hard gate가 있는 rubric
BaseMetric 직접 구현완전한 코드 기반 점수 계산
ConversationalGEval대화 전체에 대한 제품 고유 기준
ConversationalDAGMetric대화 전체의 조건부 평가

Metric 선택 절차

1. 사용자 위험을 추려본다.

특정 케이스마다, 이 케이스가 실패했을 때 발생할 위험을 리스트업해본다. 예를 들어

잘못된 환불 기간 때문에 사용자가 환불 기회를 놓친다.

2. 실패한 컴포넌트를 특정한다.

필요한 정책 문서를 못 찾음
    → Retriever

문서는 찾았지만 90일이라고 답함
    → Generator grounding

올바른 답변이지만 신청 방법이 빠짐
    → 제품 고유 답변 구성

3. 그 실패에 가장 가까운 metric을 고른다.

근거 누락
    → ContextualRecallMetric

근거와 모순
    → FaithfulnessMetric

신청 방법 누락
    → 환불 완전성 GEval

예를 들어 나의 경우에는 아래와 같이 생각해보았다.

  • 질문과 무관한 답변이 나오는지?
    • 질문 : 지난주에 산 상품을 환불하려면 어떻게 해야 하나요?
    • 답변 : 일반 배송은 결제 후 평균 2~3일이 걸립니다.
    • -> 질문 관련성
  • 검색 근거와 모순되는 주장을 하는지?
    • 근거 : 구매 후 30일 이내에는 주문 번호와 함께 고객센터에 요청하면 전액 환불할 수 있습니다.
    • 질문 : 지난주에 산 상품을 환불하려면 어떻게 해야 하나요?
    • 답변 : 구매 후 90일 이내에 주문 번호와 함께 고객센터에 요청하면 전액 환불할 수 있습니다.
    • -> 근거 신뢰성
  • 정답문서에 노이즈가 포함되어 있는지?
    • 근거 :
      • 구매 후 30일 이내에는 주문 번호와 함께 고객센터에 요청하면 전액 환불할 수 있습니다.
      • 일반 배송은 결제 완료 후 평균 2~3일이 걸립니다.
      • 회원 등급은 최근 12개월의 구매 금액을 기준으로 산정합니다.
      • 선물 포장은 주문서의 옵션 메뉴에서 추가할 수 있습니다.
    • 질문 : 지난주에 산 상품을 환불하려면 어떻게 해야 하나요?
    • 답변 : 지난주 구매 건은 30일 이내이므로 주문번호와 함께 고객센터에 전액 환불을 요청할 수 있습니다.
    • -> 컨텍스트 관련성

그럼에도 불구하고...

그럼에도 불구하고, 평기지표들이 많다보니 선택하기가 어려울 수 있다. 이것을 달달 외운다고 해도 llm과 agent는 계속 발전하고 있다보니 그때그때 상황마다 또 안맞는 것들이 있을 수 있다.

그런 경우에는 deepEval에서 제공하는 스킬을 설치하고, llm에게 물어보자.

https://deepeval.com/docs/vibe-coder-quickstart

적절한 평가방법에 대해 알려줄 수 있을 것이다.

ref

profile
QA Engineer

0개의 댓글