Your New Prompt 'Feels' Better. That's Not an Eval.

개요

새로운 프롬프트가 기존 프롬프트보다 개선되었는지 여부를 판단하는 것은 단순한 느낌이나 몇 가지 예시에 의존하는 것이 아니라, 자동화된 평가 세트를 구축하고 일관된 방식으로 점수를 매겨 변화를 추적하는 체계적인 접근 방식을 요구한다.

주요 내용

* "더 좋아 보인다"의 함정: 소수의 수작업으로 선별된 예시를 통해 프롬프트의 개선을 판단하는 것은 '바이브'에 의존하는 것이며, 이는 사실상 검증되지 않은 체리피킹(cherry-picking)일 수 있다.
* 최소한의 평가 세트 구축: 20~50개의 실제 또는 현실적인 입력/예상 출력 쌍으로 구성된 평가 세트를 만들어야 한다.
* 일관된 점수 측정: 모든 평가 주기 동안 동일한 방식으로 점수를 매겨야 하며, 매번 눈으로 재검토하는 방식은 지양해야 한다.
* "점수"의 구체적인 의미: 구조화된 출력의 경우 정확한 일치(exact match)가 사용될 수 있으며, 개방형 텍스트의 경우 참조 답변에 대한 유사성 또는 근거(grounding) 점수를 활용해야 한다.
* 회귀 방지: 평가 세트는 일회성 검증을 넘어, 향후 프롬프트 또는 검색(retrieval) 변경 시마다 재실행하여 기존 기능의 예기치 않은 퇴보를 방지하는 데 사용된다.
* 실무에서의 평가 세트: 실제 적용에서는 입력, 예상/참조 답변, 각 프롬프트 버전의 출력 및 점수를 포함하는 스프레드시트 또는 JSON 파일 형태가 될 수 있다.
* 코드화된 점수 측정: "유사성 점수"와 같은 추상적인 개념을 넘어, 생성된 답변이 검색된 맥락에 기반하고 있는지 평가하는 코드를 작성할 수 있어야 한다.

시사점

체계적인 평가 세트 구축 및 자동화된 점수 측정은 "느낌"에 기반한 프롬프트 개선의 주관성을 배제하고, 프로덕션 환경에 배포된 프롬프트의 실제 성능을 객관적으로 검증하며, 예기치 않은 회귀를 방지하는 데 필수적이다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions