회귀 평가 모음은 시스템에 대한 조직의 기억이야
수정한 모든 버그는 회귀 테스트로 남길 가치가 있어. 보고된 모든 실패는 평가 데이터셋의 사례로 남길 가치가 있어. 시간이 지나면 회귀 평가 모음이 시스템에서 발생한 모든 실수를 기록하고, 같은 실수가 소리 없이 되돌아오지 않도록 막아 줘.
평가와 개선 주기
- 평가가 실패를 찾아내 — 출시 전 평가 모음이 회귀를 잡거나, 운영 환경 표본에서 새로운 실패 양상이 드러나.
- 실패가 사례가 돼 — 적절한 태그를 달아 회귀 데이터셋에 추가해.
- 시스템을 고쳐 — 프롬프트, 검색, 모델 업그레이드 등 진단 결과가 가리키는 부분을 바꿔.
- 평가로 수정 결과를 확인해 — 새 사례가 통과하고 기존의 다른 사례가 회귀하지 않았는지 확인해.
- 출시하고 관찰해 — 운영 환경 표본 추출로 같은 실패 양상이 재발하는지 살펴봐.
회귀 평가 모음은 절대 줄어들지 않아
수정 사항을 출시할 때마다 자라야 해. 6개월 동안 "쉽게 통과해 온 사례"였더라도 폐기하지 마. 모델 업그레이드가 바로 그런 사례에서 조용히 회귀를 일으킬 수 있어. 해당 동작이 더는 필요하지 않을 때(예: 기능 제거)만 폐기해.
원칙: 수정한 모든 버그는 회귀 테스트가 돼야 해. 출시할 때마다 자라는 데이터셋은 팀이 가진 가장 가치 있는 자산이야.
이상적인 목표치가 아니라 기준선과의 차이
올바른 CI 관문은 "이전 출시보다 통과율이 떨어졌어?"라고 물어야지, "통과율이 절대 기준값을 넘었어?"라고 물으면 안 돼. 절대 기준값은 분포 변화에 적응하지 못하지만, 기준선과의 차이를 쓰면 시스템이 향상될수록 기준도 자연스럽게 높아져.