AI는 제안하고, 사람이 결정합니다
AI가 할 수 있는 일과 할 수 없는 일
AI(Artificial Intelligence, 인공지능) 분석은 참고 의견입니다. AI는 로그와 변경 내역을 읽고 "이 커밋이 원인일 가능성이 높고, 근거는 로그의 이 부분"이라고 제시합니다. 하지만 그 결과로 빌드를 다시 돌리거나 커밋을 빼는 일은 권한 있는 사람이 웹 화면에서 누른 결정만 할 수 있습니다. 이 구분은 화면이 아니라 서버가 지키므로, 메신저에서 "승인합니다"라고 답해도 승인으로 처리되지 않습니다.
왜 이렇게 만들었나 AI는 그럴듯하지만 틀린 답을 낼 수 있습니다. 빌드 결과는 배포와 납품으로 이어지므로, AI가 틀려도 사람이 근거를 보고 걸러 낼 수 있는 구조가 필요합니다. AEGIS(Autonomous Engine for Governed Integration Services — 통제된 통합 서비스를 위한 자율 실행 엔진)는 "AI가 알아서 한다"가 아니라 "AI가 찾아 주고, 사람이 결정하고, 모든 결정이 추적된다"를 기본 원칙으로 삼습니다.
담당자가 고르는 네 가지 결정
실패한 워크플로에서 담당자가 고를 수 있는 결정은 네 가지입니다.
- 재시도 — 아무것도 바꾸지 않고 다시 빌드. 이럴 때: 네트워크 끊김·디스크 부족처럼 원인이 일시적일 때
- 제외 후 재시도 — 지목한 커밋을 실제로 빼고 다시 빌드. 이럴 때: 원인 커밋이 분명하고, 그 커밋 없이도 나머지 변경을 확인할 가치가 있을 때
- 수동 개입 — 작업을 멈춰 두고 사람이 처리. 이럴 때: 인증서·권한·빌드 서버 설정처럼 환경을 손봐야 하거나, 원인을 작성자에게 확인하는 동안
- 취소 — 작업을 접음(되돌릴 수 없음). 이럴 때: 잘못 만든 작업이거나 더 볼 필요가 없을 때
결정이 늦어지면 12시간 뒤 다시 알림이, 24시간 뒤 상위 보고 메일이 갑니다. 실패가 방치되지 않게 하기 위한 장치입니다.
「제외 후 재시도」는 이렇게 동작합니다
AEGIS의 특징적인 기능입니다. 원인 커밋을 뺀 채로 다시 빌드해, 실패 원인을 떼어 놓고 나머지 변경이 정상인지 계속 확인할 수 있게 합니다. 빌드 서버에 옵션을 넘기는 방식이 아니라, 빌드가 참조하는 소스의 기준 시점 자체를 바꿉니다.
- 지목한 커밋 바로 앞 커밋으로 그 저장소의 기준을 되돌립니다. 그래서 중간 커밋을 지목하면 그 뒤에 들어온 같은 저장소의 커밋도 함께 빠집니다. 가장 최신 커밋을 지목할 때가 가장 안전하며, 화면의 변경 내역에서 순서를 확인할 수 있습니다.
- 다른 저장소는 영향을 받지 않고, 뺀 커밋이 저장소에서 지워지지도 않습니다. 근본 수정은 작성자가 새 커밋으로 합니다.
- 변경 내역이 너무 길어 잘린 저장소에서는 되감을 지점을 확신할 수 없으므로 제외가 거부될 수 있습니다. 틀린 곳으로 조용히 되감지 않습니다.
- 제외 후 재빌드한 결과물을 배포에 쓸지는 고객사의 기존 배포 승인 절차가 정합니다.
이 기능을 쓰려면 고객의 기존 Jenkins 빌드 작업(job)이 "되감을 커밋"을 입력으로 받도록 전환해야 합니다. 전환 절차와 도구는 제품에 들어 있고, 실제 전환은 구축 단계에서 합니다.
감사 기록
빌드 생성, 상태 변경, 승인, 제외한 커밋 같은 중요한 행위는 모두 추가만 가능한 감사 기록으로 남습니다. 각 기록은 앞 기록의 지문(해시 — 내용에서 계산한 고유한 값)을 이어 받아 사슬처럼 쌓이므로, 누군가 중간 기록을 고치면 연쇄 해시(hash-chain) 검증에서 드러납니다.
규제 산업, 협력사 납품 검수, 내부 감사처럼 빌드·배포 결정의 추적성이 필요한 조직에서 특히 쓸모가 있습니다.