컨셉 드리프트 글은 피처가 예전 의미를 잃을 때를 설명한다. 학습–서빙 스큐는 라이브 피처 파이프라인이 학습 테이블에서 어긋날 때를 설명한다. 둘 다 팀이 여전히 틀리는 운영 질문에는 답하지 않는다. 새 모델을 세 주 뒤 오거부·미검출이 나빠졌음을 발견하지 않고 어떻게 플랜트에 넣느냐다.
이 노트는 챔피언–챌린저 평가—후보를 현 양산 모델 옆에 두고, 낙관이 아니라 증거가 승격할 때까지 돌리는 것—에 관한 것이다.
오프라인 지표가 공손히 거짓말하는 이유
홀드아웃 AUC와 혼동 행렬은 필요하다. 충분하지 않다. 플랜트 트래픽은 믹스·교대·공급 로트에 따라 움직인다. 라벨 규칙도 드리프트한다. 지난 분기 라벨 세트에서 이긴 챌린저가 이번 주 라이브 스트림에서 질 수 있다—특히 오거부와 미검출 비용이 비대칭일 때. 오프라인 보고서는 그 비대칭을 라인이 매기는 방식으로 거의 가격하지 않는다.

공정한 온라인 대결에 필요한 것
- 같은 피처, 같은 시계. 챌린저와 챔피언은 정렬된 타임스탬프로 동일한 라이브 피처 벡터를 점수화해야 한다. 대략적 키로 조인하면 승리를 만들어 낸다.
- 먼저 섀도. 챌린저 출력은 기록·비교되고, 게이트가 말할 때까지 거부·설정값·작업지시를 구동하지 않는다.
- 쌍 지표. 합의율, 제품군별 불일치 군집, 보정된 점수 격차, 라벨이 늦을 때는 승격 코호트별 지연 precision/recall.
- 사람 adjudication 샘플. 불일치는 대시보드만이 아니다. 고정 주간 샘플이 품질로 가 정답을 받는다.
- 승격·롤백은 MoC. promote/rollback 임계값은 실험 전에 적는다. “데이터 과학자에게 더 좋아 보인다”는 게이트가 아니다.

챔피언–챌린저가 아닌 것
안전 임계 하드 인터록에서의 끝없는 A/B가 아니다. 레시피·모델 동결을 건너뛸 핑계가 아니다. 조용히 “승인”으로 타임아웃하는 섀도 모드가 아니며, 노트북 accuracy 칸이 초록이 되었다고 양산 아티팩트를 바꾸는 것도 아니다.
이름 있는 챔피언, 날짜 찍힌 챌린저 런, 롤백 경로를 가진 플랜트는 어떤 모델이 쓰기 경로를 실제로 얻는지 배운다. 최신 파일만 가진 플랜트는 스크랩과 미검출에서, 나중에 배운다.
