AI 코드 수리 에이전트 — 모델보다 신뢰 경계가 먼저다
2026년 6월 새벽 2시, 알림이 울렸습니다. 자동 수리 에이전트가 배포한 패치 때문에 API 응답 시간이 평소 120ms에서 3400ms로 튀었어요. 롤백 버튼을 누르고 나서야 정신이 들더군요. "어느 모델을 쓸까"보다 "어떻게 막을까"를 먼저 고민했어야 했습니다.
신뢰 경계 설계 없이는 어떤 모델도 안전하지 않기 때문에, 모델 선택은 마지막 단계라고 봅니다.
롤백 없는 자동화가 만든 새벽 장애
2026년 5월부터 3개월간 GPT-4o로 자동 수리 에이전트를 실험했어요. 문제는 6월 17일 밤에 생겼습니다.
쿼리 최적화 패치를 승인했더니 5분 뒤 응답 시간이 28배 튀었어요. 인덱스를 잘못 건드렸거든요. 롤백 자동화가 없어서 14분간 서비스가 느렸습니다.
이후 자동 롤백을 추가했어요. 응답 시간 150% 초과 시 1분 안에 복구되게요. 7월 3일 메모리 누수 패치는 42초 만에 자동 복구됐습니다.
블라스트 반경도 제한했어요. 8월부터 스테이징에서 24시간 돌린 뒤 이상 없으면 프로덕션 승인을 요청하게 바꿨습니다. 이후 3건 중 1건은 스테이징에서 걸러졌어요.
어느 모델을 믿을 것인가는 그 다음 질문이에요
모델별 차이는 분명 있어요.
변경 최소화 성향: Claude Sonnet 3.5는 기존 코드를 최대한 건드리지 않으려 해요. GPT-4o는 리팩토링을 적극적으로 제안하고요. 2026년 7월 한 달간 각 모델이 만든 패치 크기를 비교했더니, Sonnet은 평균 18줄, GPT-4o는 34줄이었습니다. 운영 환경에선 적게 바꾸는 쪽이 안전했어요.
자기 확신 캘리브레이션: GPT-4o는 확신 시 91% 정확했지만, Sonnet은 83%였어요. 대신 Sonnet은 불확실할 때 솔직했습니다. 저는 후자를 더 신뢰해요.
도구 실패 시 행동: Sonnet은 멈추고 물어봤고, GPT-4o는 추측해서 진행했어요. 자동 수리엔 멈추는 쪽이 안전합니다.
하지만 이런 차이는 신뢰 경계가 있을 때만 의미가 있습니다. 롤백·블라스트 반경·승인 지점 없이 모델만 잘 고르면 안전하다는 건 환상이에요.
그래도 좋은 모델이 더 안전하지 않나요?
"모델 성능이 높으면 실수가 적을 텐데, 그럼 더 안전한 거 아닌가요?"
맞습니다. 하지만 부분적으로만요. 8월 측정 결과 GPT-4o는 100건 중 7건, Sonnet은 12건을 잘못 고쳤어요. 문제는 그 7건과 12건이 프로덕션에 바로 들어가면 둘 다 장애라는 점입니다.
모델 정확도는 실수 빈도를 줄이지만 영향은 못 줄입니다. 1건이 인덱스를 잘못 건드리면 서비스가 멈춰요. 신뢰 경계는 그 1건을 막는 장치죠.
"롤백·제한만으로는 혁신이 느려지지 않나요?"
느려져요. 하루 3.2건에서 1.1건으로 줄었지만, 장애는 월 2.3건에서 0.4건으로 떨어졌습니다.
속도가 중요하면 스테이징 자동화를 공격적으로 가져가세요. 저는 스테이징은 롤백만으로, 프로덕션은 24시간 관찰 후 승인받게 했습니다.
"모델별 차이를 무시하는 건 현실적이지 않다"는 반론도 있습니다. 차이를 무시하진 않지만 순서가 중요합니다. 신뢰 경계를 먼저 설계하고, 그 안에서 모델을 비교하세요. 롤백 없이 "더 정확하니까"로 고르는 건 위험합니다.
내일 당장 이것부터 확인하세요
지금 만들고 있는 에이전트 코드를 열어서 롤백 로직이 있는지 확인하세요. 없다면 모델 선택을 멈추고 이것부터 만드세요.
기준값 대비 150% 초과 시 1분 안에 이전 버전으로 되돌리는 로직입니다. 5줄이면 됩니다. 저는 이걸 먼저 만들지 않아서 3번 새벽에 일어났어요. 당신은 안 그러길 바랍니다.
변경 최소화 성향, 자기 확신 캘리브레이션, 도구 실패 시 행동 같은 모델별 차이는 그 다음에 보면 됩니다. 순서를 바꾸면 언젠가 새벽 2시에 알림을 받게 될 거예요.
자주 묻는 질문
Q. 스테이징 환경이 없으면 어떻게 하나요?
A. 카나리 배포로 대체할 수 있어요. 트래픽 5%만 새 버전으로 보내고 10분간 관찰하세요. 기준 초과 시 자동 롤백하면 됩니다.
Q. 자동 롤백은 어떤 지표로 트리거하나요?
A. 4가지를 봅니다. 5xx 에러율 1% 초과, 응답 시간 150% 초과, 메모리 80% 초과, DB 커넥션 풀 90% 초과요. 하나라도 1분간 지속되면 롤백합니다.
Q. 모델을 바꿀 때마다 신뢰 경계를 다시 설계해야 하나요?
A. 경계 자체는 안 바뀌지만 임계값은 조정할 수 있어요. Sonnet으로 바꿨을 때 변경 크기 제한을 50줄에서 70줄로 완화했지만, 롤백·승인 구조는 유지했습니다.
Q. 사람 승인 단계가 병목이 되지 않나요?
A. 됩니다. 평균 4.2시간 대기했어요. 우선순위로 해결했죠. 보안 패치 30분, 성능 개선 24시간, 리팩토링 72시간 내 승인으로 차등화했습니다.
Q. 신뢰 경계 설계에 얼마나 시간이 걸렸나요?
A. 첫 버전은 2일, 3개월간 7번 개선했어요. 롤백은 첫날, 카나리는 1주 뒤, 승인은 3주 뒤 추가했습니다. 한 번에 완벽하게 만들 순 없었어요.