이 글은 야간 무인 파이프라인이 스스로 만들어낸 스킬이나 설정을 다음 날 프로덕션에 어떻게 내보낼지 고민하는 국내 클라우드/AI 엔지니어를 위해 씁니다. 자율 하네스가 자기 코드를 고치는 사례가 늘어나는 지금, 그 고친 결과물을 어떤 절차로 실제 트래픽에 태울지는 아직 표준이 없습니다. 오늘 소개할 논문은 이 배포 단계에 카나리와 자동 롤백을 끼우는 구체적인 설계를 제안하고, 그 효과를 시뮬레이션으로 직접 재보았습니다.

문제의 출발점은 저자들이 직전에 내놓은 연구입니다. 1,600개가 넘는 스킬을 가진 프로덕션 하네스가 밤사이 스스로 라우팅과 검색 실패를 진단하고 리트리버 설정과 분해 규칙을 사람 검수 없이 재생성하는 구조였습니다. 문제는 배포 방식이었습니다. 재생성된 후보는 다음 날 아침 곧바로 전체 트래픽의 100퍼센트를 서빙했습니다. 오프라인 복구 루프 자체의 점검을 통과했더라도 실제 트래픽에서 더 나빠질 가능성은 남아 있었고, 그런 경우 사람이 알아챌 때까지 그날의 모든 요청이 회귀를 그대로 맞았습니다. 이 논문은 “생성된 후보”와 “전체 트래픽을 서빙하는 후보” 사이에 결정론적이고 트레이스로 촉발되는 롤백 게이트를 가진 점진적 트래픽 카나리를 끼우면, 이 무검증 전면배포 대비 장애 반경과 평균 복구시간(MTTR)이 얼마나 줄어드는지를 직접 잽니다.

첫 번째 기여는 게이트를 감으로 잡지 않았다는 점입니다. 슬라이딩 윈도우 회귀 탐지 게이트의 창 크기(W)와 오류 임계값(k)을 정확 이항분포 꼬리확률 탐색으로 골라, 기저 오류율 0.03에서 단일 윈도우의 오탐 확률이 2.12×10⁻⁶이 되도록 맞췄습니다. 저자들은 실험 과정도 숨기지 않았습니다. 초안에서는 창 크기 10에 임계 30퍼센트(오류 3개)라는 소박한 설정을 썼는데, 이 값이 기저 오류율에서도 오탐이 거의 확실하게 발생하는 수준이었다는 사실을 이항분포 캘리브레이션 과정에서 발견하고 최종 실험 전에 바로잡았다고 밝힙니다. 결과에서 발견한 게 아니라 결과를 내기 전에 계산으로 잡아낸 실수라는 점이 이 공개의 핵심입니다.

실험은 완전히 오프라인이고 시드가 고정된 재현 가능한 시뮬레이션입니다. 2만 틱짜리 스킬 호출 결과 스트림을 만들고 2천 틱째에 오류율이 계단식으로 튀는 회귀를 주입했습니다. 전면배포(카나리 가중치 1.0, v2가 매 틱마다 트래픽을 받음)와 카나리(가중치 0.1, 열 틱 중 한 번만 v2가 트래픽을 받음) 두 정책을 동일한 게이트 아래에서 비교했고, 회귀 심각도 세 단계(오류율 0.15, 0.35, 0.6, 기저값 0.03 대비)에 시드 60개씩을 곱해 총 360회를 돌렸습니다. 결과는 명확했습니다. 360회 전부에서 오탐은 0건, 탐지율은 100퍼센트였습니다.

카나리는 장애 반경(blast fraction)을 1.0에서 0.1로, 즉 90퍼센트 줄였습니다. 하지만 저자들은 이 숫자를 헤드라인으로 내세우지 않습니다. 카나리 가중치를 0.1로 정하고 탐지가 항상 성공한다면 장애 비율이 대략 0.1에 수렴하는 것은 설계상 거의 당연한 결과이기 때문입니다. 세 심각도 모두에서 장애 반경 감소율이 정확히 90.0퍼센트로 똑같이 나온 것 자체가, 이 숫자가 측정치가 아니라 라우팅 가중치의 구조적 산물이라는 증거라고 논문은 스스로 지적합니다.

Blast Fraction by Rollout Policy and Regression Severity 카나리(가중치 0.1)는 전면배포(가중치 1.0) 대비 세 심각도 모두에서 장애 반경을 0.1로 낮춘다. 다만 논문은 이 90퍼센트 감소를 실증적 발견이 아니라 카나리 가중치 설계에 따른 구조적 결과로 명시한다. 시뮬레이션 데이터를 시각화한 분석용 그림이다.

측정치로서 의미가 더 큰 것은 v2에 실제로 노출된 절대 호출 건수입니다. 전면배포에서는 회귀가 발생한 뒤 평균 2,012에서 2,160건의 요청이 버그 있는 버전을 그대로 맞았습니다. 카나리에서는 그 수가 212에서 378건으로 줄었습니다. 심각도별로 82.5퍼센트(오류율 0.15)에서 89.5퍼센트(오류율 0.6)까지 감소했는데, 감소폭이 가장 작은 쪽이 오히려 완만한 회귀라는 점이 눈에 띕니다. 카나리는 완만한 회귀를 탐지하는 데 시간이 더 걸리고, 그만큼 v2 노출이 더 쌓이기 때문입니다.

v2-Exposed Invocation Count by Policy and Severity 전면배포는 약 2,000건의 호출을 버그 버전에 그대로 노출시키지만 카나리는 212에서 378건으로 줄인다. 감소폭이 가장 작은 쪽은 완만한 회귀로, 탐지 시간이 길어질수록 노출이 함께 늘어난다는 것을 보여준다. 저장소 자체의 로컬 벤치(2026년 7월 19일 측정)에서 나온 결과다.

이 논문이 실제로 “발견”이라 부를 만한 대목은 따로 있습니다. 카나리는 모든 심각도에서 전면배포보다 롤백까지 더 오래 걸렸지만, 그 격차는 회귀가 심할수록 급격히 좁혀졌습니다. 완만한 회귀(오류율 0.15)에서는 전면배포가 30,864.6밀리초 만에 롤백한 반면 카나리는 53,841.7밀리초가 걸려 약 74.5퍼센트 더 느렸습니다. 중간 심각도(오류율 0.35)에서는 그 격차가 8.86퍼센트로, 심한 회귀(오류율 0.6)에서는 4.82퍼센트로 줄었습니다. 원인은 게이트의 작동 방식에 있습니다. 게이트는 최소 30개의 v2 호출 결과를 모으고 그중 8개 이상이 오류여야 발동합니다. 전면배포는 매 틱이 v2 호출이라 이 30개를 거의 즉시 채우지만, 카나리는 열 틱 중 한 틱만 v2로 가기 때문에 같은 30개를 채우려면 전체 시스템 틱이 약 열 배 더 필요합니다. 완만한 회귀는 애초에 창을 여러 번 검사해야 임계값을 넘기 때문에 여기에 카나리의 트래픽 희석이 곱해져 지연이 크게 벌어집니다. 반대로 심한 회귀는 회귀가 시작된 직후 첫 창 검사에서 바로 임계값을 넘기 때문에, 두 정책의 차이는 그 첫 창 하나를 채우는 시간 차이로 줄어듭니다.

Canary MTTR Penalty Relative to Full Rollout by Severity 카나리의 MTTR 페널티는 완만한 회귀에서 약 74.5퍼센트에 달하지만 심한 회귀에서는 9퍼센트 아래로 줄어든다. 이 심각도별 격차가 논문이 실제로 새롭게 측정한 결과다. MTTR 수치는 이 저장소 자체의 관측성 스팬 로그에서 뽑은 실측 지연시간 6개(12.705, 35.029, 25.011, 6.271, 6.458, 0.004밀리초)를 시드 샘플링해 합산한 값이다.

한 가지 더 눈여겨볼 지점은 이 MTTR 수치가 상상으로 만든 숫자가 아니라는 것입니다. 저장소 안 관측성 파이프라인(scripts/harness/span.py의 스모크 테스트)이 실제로 남긴 스팬 로그 6개를 지연시간 풀로 삼아 시드 고정 샘플링했습니다. 표본이 여섯 개뿐이라는 한계는 저자들도 곧바로 인정합니다.

이 연구가 갖는 실용적 의미는 세 층위로 나뉩니다. ThakiCloud AI 플랫폼 입장에서는 밤샘 자율 스킬 진화와 회고 기반 모델 승격이 실제 스케줄 러너에 반영될 때, 카나리와 자동 롤백 게이트를 끼워 무검증 전면배포의 장애 반경을 줄이면 24시간 무인 운영의 안전 마진을 확보할 수 있다는 실용적 근거가 됩니다. 조금 더 넓게 보면, 에이전트가 스스로 코드나 스킬을 고치는 자기수정 AI가 늘어나는 흐름에서 결정론적 트레이스 기반 회귀 게이트와 자동 롤백을 묶는 이 패턴은 자율 시스템 안전성을 위한 재사용 가능한 표준 컴포넌트로 자리잡을 여지가 있습니다. 학술적으로는, 기존 카나리 배포 연구가 대체로 마이크로서비스나 웹 트래픽을 배포 단위로 다뤄온 데 비해 이 논문은 배포 단위를 “자율 에이전트가 생성하고 수정한 스킬”로 확장했습니다. LLM 산출물이 갖는 비결정론적 품질을, 모델의 자기보고가 아니라 스팬 트레이스 위의 결정론적이고 코드가 소유하는 게이트로 다룬다는 방법론이 자기진화 에이전트 하네스 문헌에 새 축을 더한다는 것입니다. 관련 연구에서 논문은 MOSS의 이진 헬스프로브와 전체 트래픽 스왑 방식을, 자신의 점진적 트래픽 카나리와 통계적 회귀 게이트 방식과 정확히 한 축에서 구분해 자리매김합니다.

논문은 스스로의 한계도 길게, 그리고 솔직하게 적어 둡니다. 가장 무거운 한계는 실험 전체가 완전히 합성된 결과 스트림이라는 점입니다. 실제 스킬이 실제 트래픽 분할에 배포된 적은 없고, 실제 롤백도 실행되지 않았습니다. 지연시간 풀이 단 6개의 실측 스팬으로 이루어져 실제 프로덕션 지연시간 분포나 꼬리 행동을 대표하지 못한다는 점, 90퍼센트 장애 반경 감소가 발견이 아니라 카나리 가중치 0.1과 완벽한 탐지율이 만든 구조적 결과라는 점도 반복해서 짚습니다. 게이트 설정(창 크기 30, 임계 8) 역시 단 하나만 시험했기 때문에 MTTR과 장애 반경 사이의 파레토 프론티어는 아직 그려지지 않았습니다. 회귀 모델도 계단형으로 상승하는 베르누이 오류율 하나뿐이라, 점진적 드리프트나 지연시간만 나빠지는 경우, 비용 폭증, 의미적 품질 저하 같은 다른 실패 양상에는 이 결과가 그대로 옮겨지지 않을 수 있습니다. 무엇보다 이 논문은 카나리와 롤백 메커니즘을 제안하고 시뮬레이션으로 검증했을 뿐, 실제 프로덕션 복구 루프나 하네스의 라이브 관측 코드에 직접 구현하지는 않았습니다.

더 자세한 내용과 전체 데이터는 Hugging Face 논문 페이지에서 확인할 수 있습니다.

https://huggingface.co/datasets/thaki-AI/daily-paper-2026-07-20-canary-gated-skill-rollout