DEV Community

Cover image for LLM evaluation harness — 분기마다 챗봇 품질을 자동 평가하는 공장
HyunSeok Jeong
HyunSeok Jeong

Posted on • Originally published at blog.trysitely.com

LLM evaluation harness — 분기마다 챗봇 품질을 자동 평가하는 공장

RAG 챗봇·LLM 에이전트가 운영에 들어가면 한 번 평가하고 끝이 아닙니다. 모델 버전이 바뀌고, 프롬프트가 다듬어지고, 새 컨텍스트가 추가될 때마다 품질이 흔들립니다. evaluation harness는 분기마다 자동으로 모든 변화를 점검하는 공장이고, 사내 챗봇 품질의 운영 안정성을 결정합니다.

마케터가 이 글을 읽어야 하는 이유: 사내 RAG 챗봇·자동화 에이전트가 점점 늘어나는데, 그 품질이 분기마다 어떻게 변하는지 추적이 안 되면 사고가 사용자 보고로만 발견됩니다. evaluation harness는 그 사고를 사전 알림으로 잡는 표준 도구이고, 마케터·운영자가 도구의 골격을 알면 어떤 자리에 도입해야 할지 결정 가능.

골든셋 → 실행 엔진(여러 모델·프롬프트) → 점수 집계 → 회귀 비교 단계의 evaluation harness 데이터 플로우 다이어그램
모델·프롬프트가 바뀔 때마다 자동으로 50개 골든셋이 돌아간다 — 사고를 사용자보다 먼저 잡는 공장.

1. Evaluation harness의 한 줄 직관

골든셋(질문·기대 답변 묶음)을 입력으로, 여러 LLM 설정(모델·프롬프트·컨텍스트)을 자동 실행하고, 결과 점수를 비교 가능한 형태로 저장하는 시스템.

수동 평가의 한계:

  • 사람이 매번 50개 답변을 읽어 점수 매기기 → 분기 1회도 어려움
  • 모델·프롬프트 변경마다 처음부터 다시 → 비교 불가능
  • 결과가 한 번 보고 사라짐 → 추세 추적 불가

harness는 이 세 가지를 자동화합니다.

📌 이 글의 전제

독자가 RAG 챗봇·LLM 에이전트 단어를 일상으로 쓰는 마케터·운영자·분석가를 가정합니다. RAG 평가 글의 4가지 지표를 이미 알고 있다고 가정합니다.

2. 4가지 핵심 컴포넌트

2-1. 골든셋(golden set)

질문·기대 답변·컨텍스트의 묶음. 50-200개가 표준. 분기마다 갱신.

필드 의미
question 사용자 질문
expected_answer 기대 답변 또는 핵심 fact
context_docs 답변에 필요한 문서 ID
difficulty easy/medium/hard
category 도메인 분류 (FAQ, 데이터 조회, 액션 등)

2-2. 실행 엔진(runner)

여러 LLM 설정을 병렬로 실행. 같은 골든셋을 GPT-5 vs Claude Sonnet에 동시 투입해 비교.

2-3. 점수 매기기(scorer)

Ragas 같은 라이브러리로 4개 지표 자동 계산:

  • Context relevance
  • Context recall
  • Faithfulness
  • Answer relevance

2-4. 결과 저장·비교(tracker)

각 실행의 결과를 SQL·JSON·MLflow에 저장. 분기 추세·configuration 비교가 자동.

3. 데이터 플로우 표준 흐름

골든셋 (50-200개 질문)
        │
        ▼
실행 엔진 — N개 configuration 병렬
   ├ GPT-5 + 프롬프트 v1
   ├ GPT-5 + 프롬프트 v2
   ├ Claude Sonnet + 프롬프트 v1
   └ Claude Sonnet + 프롬프트 v2
        │
        ▼
점수 매기기 — 4지표 × N config
        │
        ▼
결과 비교 표
   config × 지표 매트릭스
        │
        ▼
회귀 비교 — 지난 분기 결과 vs 이번 분기
        │
        ▼
보고 생성 (자동)
Enter fullscreen mode Exit fullscreen mode

이 한 흐름이 마케팅 챗봇의 분기 품질 보고를 자동화.

4. 코드 한 묶음 — Pytest 스타일 harness

이게 글에 박는 유일한 코드입니다.


python
Enter fullscreen mode Exit fullscreen mode

Top comments (0)