평가는 어디에 들어가야 할까
연구자가 기억날 때만 실행하는 평가는 제대로 된 평가 체계가 아니야. 핵심 질문은 이것이야. 개발 주기의 어느 시점에 평가 모음을 실행할까?
- 로컬 개발. 5~20개 사례로 구성한 빠른 간이 평가를 몇 초 안에 실행해 개발자가 푸시하기 전에 결과를 확인하게 해. just eval-fast.
- 풀 리퀘스트. 100~500개 사례로 구성한 전체 결정론적 평가를 CI 단계에서 실행해. 통과율이 기준값 아래로 떨어진 PR은 병합할 수 없게 해.
- 출시 전. 유료 LLM 판정 모델과 사람이 평가한 사례까지 포함한 전체 평가로 출시 태그 생성을 통제해.
- 정기 실행 (야간 실행). 전체 데이터셋을 대상으로 시간이 오래 걸리는 평가 모음을 실행하고, 운영 로그와 비교해 분포 변화를 확인해.
- 온라인 (운영 환경). 표본 추출 계층에서 실시간 요청을 수집하고 채점해 회귀를 알려 줘. 새로 발견한 경계 사례는 오프라인 데이터셋으로 다시 보내.
PR 단계 평가가 가장 큰 효과를 내
한 가지만 할 수 있다면 PR 관문부터 만들어. 대부분의 회귀는 프롬프트를 한 번 수정할 때 생기고, 평가 모음을 다시 실행하지 않아서 그대로 남아. 모든 PR에서 평가 통과 여부를 확인하면 수정 비용이 가장 적게 드는 시점에 회귀를 잡을 수 있어.
원칙: 개발 흐름에서 평가를 일찍 실행할수록 회귀를 수정하는 비용이 적게 들어. 로컬 < PR < 출시 전 < 운영 환경.
운영 관측 데이터가 개선의 고리를 완성해
운영 요청의 1~5%를 추출해 온라인 평가 파이프라인으로 보내면 오프라인 평가의 효과를 크게 높일 수 있어. 실제 환경에서 발견한 문제는 다음 날의 회귀 테스트가 돼. Braintrust와 Inspect AI 같은 도구는 이 과정을 구체적으로 지원해.