‘코드는 반드시 버전 관리한다.’ 그 철칙을 세운 후, 나는 한동안 안도감에 젖어 있었다. 이제 AI가 아무리 빠르게 코드를 뱉어내고 수정한다 해도, 문제가 생기면 언제든 이전의 안정적인 상태로 되돌릴 수 있다는 확신이 생겼기 때문이었다. 그것은 마치 거친 파도 속에서 든든한 닻을 내린 듯한 기분이었다. 이제는 AI가 만들어낸 코드의 양이 방대해져도, 그 변화의 흐름을 인간이 통제하고 이해할 수 있는 방식으로 기록하고 관리할 수 있으리라 믿었다. 이 시스템적 안정감이 때로는 과도한 자신감으로 이어지기도 했다는 사실을 그때는 알지 못했다.
우리는 새로운 국제 결제 모듈을 구축하는 프로젝트를 진행 중이었다. 해외 시장 진출을 위한 핵심 단계였고, 시간은 촉박했다. Ultron WASM은 나의 상세한 프롬프트에 따라 순식간에 복잡한 결제 로직과 데이터 연동 코드를 생성했다. 나는 이전 챕터에서 배웠듯, 프롬프트 하나하나에 심혈을 기울였고, Ultron WASM은 내가 요구한 모든 기능을 완벽하게 구현한 듯 보였다. 또 다른 AI Agent는 생성된 코드에 대한 단위 테스트와 통합 테스트를 자동으로 수행했고, 모든 테스트는 초록불을 뿜어내며 성공을 알렸다.
"대표님, AI 테스트 에이전트가 모든 시나리오에서 100% 통과했습니다. 이 정도면 바로 배포해도 무리 없을 것 같습니다."
수석 엔지니어의 목소리에는 자신감이 가득했다. 나 역시 마음속으로 고개를 끄덕였다. Ultron WASM이 생성한 코드는 버전 관리 시스템에 철저히 기록되어 있었고, AI 테스트 에이전트가 모든 자동화된 테스트를 통과시켰으니, 이제 더 이상 무엇을 걱정해야 할까 싶었다. 밤샘 작업으로 지쳐 있던 팀원들의 얼굴에는 빨리 이 프로젝트를 마무리하고 싶은 기색이 역력했다. 나 역시 그들의 노고를 알기에, 그리고 '1주일에 1개'라는 창업 다작의 시대 속도에 발맞추고 싶은 조급함에, 마지막 단계의 수동 테스트와 몇몇 복잡한 시나리오에 대한 심층적인 사용자 경험(UX) 테스트를 과감히 건너뛰기로 결정했다. "자동화된 테스트가 다 통과했으니 괜찮을 거야. 이 정도면 충분해." 나는 스스로를 설득했다. 그 안일한 판단이 얼마나 큰 대가를 치르게 할지 그때는 상상조차 하지 못했다.
배포는 순조로웠다. 첫 며칠 동안은 아무 문제도 발생하지 않았다. 나는 안도의 한숨을 쉬었고, 팀원들은 서로를 격려하며 다음 프로젝트 준비에 들어갔다. 하지만 일주일 후, 지옥문이 열렸다. 해외 고객센터로부터 수십 통의 긴급 문의가 빗발치기 시작했다.
지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.
오직 멤버십 구독자만 볼 수 있는,
이 작가의 특별 연재 콘텐츠