anti-patterns
안티패턴 — 평가 & 회귀
섹션 제목: “안티패턴 — 평가 & 회귀”1) “느낌 기반 튜닝”
섹션 제목: “1) “느낌 기반 튜닝””한두 개 입력으로 “좋아진 것 같다”고 판단. 회귀 세트 없음.
2) 평균만 보고 슬라이스 무시
섹션 제목: “2) 평균만 보고 슬라이스 무시”전체 정확도 +2%지만 abuse 슬라이스 -8%. 평균의 함정.
3) 정확도 한 축만 추적
섹션 제목: “3) 정확도 한 축만 추적”비용 2배가 됐는데 모름. 4축(정확도/parse/비용/지연) 표를 함께 봐라.
4) 자기 검증으로 통과 처리
섹션 제목: “4) 자기 검증으로 통과 처리”같은 모델·같은 sub-agent가 자기 출력을 채점하고 published. 자기 편향. CLAUDE.md §10 위반.
5) Judge 프롬프트를 버전 관리하지 않음
섹션 제목: “5) Judge 프롬프트를 버전 관리하지 않음”Judge가 조용히 바뀌면 평가 결과가 흔들린다. 실제로는 프롬프트가 안 변했는데 점수만 변한다.
6) 라벨이 합성 데이터뿐
섹션 제목: “6) 라벨이 합성 데이터뿐”운영 분포와 동떨어진 합성 입력만 평가. 운영에서 처음 보는 패턴이 깨진다.
7) 시간 누수
섹션 제목: “7) 시간 누수”테스트 케이스에 학습/튜닝에 쓴 데이터가 섞임. LiveCodeBench가 시간 분할을 강조하는 이유.
8) 회귀 기준이 암묵적
섹션 제목: “8) 회귀 기준이 암묵적”“이정도면 괜찮지”가 사람마다 다름. 임계값을 metrics.yml처럼 명시하라.
9) “평가가 비싸서 안 돌려요”
섹션 제목: “9) “평가가 비싸서 안 돌려요””계층화(smoke / full), 캐시, 샘플링으로 풀어라. 안 돌리면 결국 운영에서 더 비싸진다.
10) 운영 모니터링과 단절
섹션 제목: “10) 운영 모니터링과 단절”평가 세트가 6개월째 그대로. 데이터 플라이휠 없음. 새 패턴이 매번 사고를 일으킨다.
11) “좋아 보이면 머지” — CI 차단 없음
섹션 제목: “11) “좋아 보이면 머지” — CI 차단 없음”회귀 기준이 metrics.yml에 있어도 CI가 강제하지 않으면 결국 안 본다. 자동 차단이 필수.