홀드아웃은 켜서 쓰는 기능입니다. 기본으로 시뮬레이션과 최적화는 실패한 클러스터만(cluster-local) 잽니다. 일반화가 잘 됐는지 보고 싶을 때 홀드아웃을 켜고 강도(
light / full)를 고릅니다. 작은 팀은 대개 없이 시작했다가, 개선 플로우가 출시할 만한 수정을 꾸준히 내놓기 시작하면 더합니다.홀드아웃 만들기
데이터셋에서 Split → Create holdout를 누릅니다. 이렇게 나눌 수 있습니다.- Random N% 무작위 20%(기본).
- By tag 특정 태그를 전부 홀드아웃(예:
hard예시). - By date range 컷오프 뒤에 더한 예시를 홀드아웃(앞으로의 방어력 평가).
- Manual pick 예시를 낱개로 체크.
홀드아웃을 지키는 방식
홀드아웃으로 표시하면 개선 플로우의 제안 생성이 그 예시를 읽지 못합니다. 진단, 근본 원인 분석, 레버 선택이 홀드아웃이 아닌 쪽만 씁니다. 하지만 시뮬레이션은 제안을 양쪽에 돌립니다.- Train 쪽 개선을 만든 곳. “분포 안” 개선을 보여줍니다.
- Holdout 쪽 정직한 신호. 일반화를 보여줍니다.
오버피팅 경고
제안이 train 성능은 크게 올리는데 holdout 성능은 꿈쩍도 안 하면 Nora가 경고합니다.이 제안이 train 점수는 +12% 올렸는데 holdout은 +0.5% 입니다. 개선 플로우에 쓴 실패 예시에 오버피팅했을 수 있습니다. 개선 패턴을 넓히는 걸 생각해 보세요.경고가 막지는 않습니다. 그래도 출시할 수 있습니다. 다만 강한 힌트입니다.
로테이션
홀드아웃은 돌려 가며 바꿔야 합니다. 같은 예시가 늘 홀드아웃이면 낡아서, 개선 플로우가 시험하는 패턴을 못 덮습니다. 이렇게 권합니다.- 홀드아웃을 매달(또는 분기마다) 바꿉니다.
- 새 실패를 고치면 새 홀드아웃 예시를 더합니다.
- 이제 사소해진(늘 통과하는) 홀드아웃 예시는 물립니다.
홀드아웃과 회귀 스위트는 다릅니다
둘 다 테스트 전용이지만 다릅니다.- Holdout 트래픽의 일반 대표 샘플. 넓게 덮습니다.
- 회귀 스위트 영원히 막을 특정 실패. 좁고 방어적입니다.
Enterprise: 프로덕션 홀드아웃
위험이 큰 Flow는 Nora가 프로덕션 트래픽의 일부를 늘 샘플링 하도록 설정할 수 있습니다. 실행이 자동으로 데이터셋에 쌓이고, 오프라인으로 사람이(또는 판사가) 주석을 달아, 홀드아웃이 자연스럽게 늘어납니다. Flow 설정 → Sampling → Production holdout에서 켭니다.분할과 시뮬레이션
시뮬레이션이 쪽마다 따로 알려 줍니다.- Train: 47/50 통과.
- Holdout: 18/20 통과.
- Overall: 65/70 통과.