Evals 개요 — 태스크 정의부터 반복 개선까지
Evals 개요
Evals(평가)는 모델 출력이 지정한 스타일·내용 기준을 충족하는지 테스트하는 과정이에요. LLM 앱이 기대대로 동작하는지, 특히 모델 버전을 올리거나 바꿀 때 성능 변화를 파악하는 핵심 도구예요.
세 단계 흐름
- 태스크 정의 — 모델이 해야 할 일을 eval로 서술
- 테스트 입력으로 실행 — 프롬프트와 데이터로 실행
- 결과 분석·개선 — 결과를 보고 프롬프트를 다듬어 반복
이 방식은 동작 기반 개발(BDD)과 비슷해요. 구현·테스트 전에 '시스템이 어떻게 동작해야 하는지'를 먼저 명세하는 거예요.
예: IT 티켓 분류
from openai import OpenAI
client = OpenAI()
instructions = (
"Categorize the support ticket as Hardware, Software, or Other. "
"Respond with only one of those words."
)
response = client.responses.create(
model="gpt-6-astra",
input=[
{"role": "developer", "content": instructions},
{"role": "user", "content": "My monitor won't turn on - help!"},
],
)
print(response.output_text)
핵심 포인트
평가는 단발성이 아니라 지속적 반복이에요. 데이터셋을 만들어 두고 모델·프롬프트를 바꿀 때마다 같은 테스트를 돌려 회귀(성능 저하)를 잡아내는 문화가 중요해요.