12장. 카나리는 트래픽 비율이 아니라 위험 제한이다
오프라인 통과는 출발점이다
평가 세트는 이미 아는 위험을 검사한다. 실제 트래픽에는 새 표현, 새 증거 형식, 새 악용이 들어온다. 그래서 오프라인 게이트를 통과한 후보도 작은 범위에서 관찰한다. 카나리의 목적은 “새 버전을 빨리 퍼뜨리기”가 아니라 영향 반경을 제한한 채 모르는 실패를 찾는 것이다.
안전한 카나리 순서
- 그림자 실행: 기준 버전만 고객에게 응답하고 후보는 같은 입력을 읽기 전용으로 처리한다.
- 내부 사용자: 직원 또는 승인된 테스트 계정에만 후보 결과를 보여 준다.
- 저위험 요청: 소액·읽기 전용처럼 영향이 제한된 세그먼트에 노출한다.
- 작은 실제 비율: 자동 롤백 조건과 당직자를 준비한 뒤 확장한다.
- 단계적 승격: 지표뿐 아니라 최소 관찰 시간과 사례 수를 충족한다.
ClaimOps의 쓰기 도구는 카나리에서도 dry_run을 유지한다. 실제 환불 카나리는 별도의 승인 프로젝트다.
비교할 지표
- 결과 분포 변화: approve/manual/need/deny 비율
- 기준과 후보의 불일치율
- 위험 승인과 개인정보 누출
- 성공 건당 비용과 p95 지연
- 도구 호출 수, 재시도, UNKNOWN 상태
- 사람 검토자가 뒤집은 비율
결과 분포 변화는 오류의 증거가 아니라 조사 신호다. 마케팅 캠페인으로 배송 파손 요청이 실제로 늘었을 수 있다. 따라서 입력 분포와 함께 본다.
자동 롤백과 중단 스위치
위험 승인 또는 개인정보 누출은 즉시 후보 라우팅을 0으로 내린다. 비용 증가나 지연은 짧은 확인 창을 둘 수 있다. 롤백 명령이 실제로 작동하는지 배포 전에 연습한다. 중단 스위치는 모델 호출만 멈추는 것이 아니라 쓰기 도구 권한도 끊어야 한다.
완료 기준
- 그림자 실행과 실제 카나리의 차이를 설명할 수 있다.
- 즉시 롤백 지표와 관찰 후 판단 지표를 구분했다.
- 후보 모델과 쓰기 도구를 각각 끄는 중단 경로를 설계했다.