그 50만 달러 AI 리라이트 이야기는 실제로 테스트 스위트에 관한 이야기다
Source: Dev.to
배경
한 회사가 AI가 JavaScript 라이브러리를 Go로 재작성하면서 연간 약 $300 k의 컴퓨팅 비용을 절감했다고 주장했습니다. 헤드라인은 AI 기적을 암시하지만, 실제 주인공은 아무도 프롬프트를 입력하기 전에 이미 존재하던 테스트 스위트였습니다.
테스트 스위트의 역할
팀은 원본 JavaScript 라이브러리를 포괄적으로 검증한, 전투에서 검증된 테스트 스위트를 보유하고 있었습니다. 이 테스트들을 사용해 AI가 생성한 모든 Go 코드 조각을 검증했습니다.
- AI의 기여: 한 언어에서 다른 언어로 구문을 번역하는 것으로, 실제로 유용한 작업입니다.
- 테스트 스위트의 기여: 번역된 코드가 올바르게 동작하는지 확인하는 것입니다. 테스트가 없었다면 팀은 검증되지 않은 Go 코드를 프로덕션에 배포했을 것입니다.
$500 k 절감은 JavaScript 대신 Go를 실행함으로써 얻은 인프라 개선에서 비롯되었습니다. AI는 마이그레이션 일정을 단축시켰을 뿐이며, 테스트가 그 가속을 안전하게 만들었습니다.
테스트가 중요한 이유
소프트웨어 역사에서 모든 생산성 배가 요소는 결과물을 검증할 수 있는 방법에 의존합니다:
- 컴파일러는 타입 시스템에 의존합니다.
- 리팩터링 도구는 테스트 커버리지가 필요합니다.
- 코드 생성기는 검증이 필요합니다.
- AI 코드 어시스턴트도 동일한 안전망이 필요합니다.
이 이야기에서 테스트 스위트를 제외한다면, 검증되지 않은 재작성 코드를 배포한 팀이 됩니다—“우연히 잘 됐다”는 시나리오 혹은 더 나쁜 경우, 곧 발생할 포스트모템이 될 것입니다.
팀에 주는 시사점
많은 팀이 이 성공 사례를 복제하려 할 것입니다. 대부분은 실패할 텐데, 그 이유는 AI가 코드를 번역하지 못해서가 아니라 미묘한 오류를 잡아낼 테스트 커버리지가 부족하기 때문입니다.
- 재작성에서 발생하는 미묘한 버그는 가장 위험합니다: 코드는 컴파일되고 정상 경로는 동작하지만, 숨겨진 문제(예: 레이스 컨디션)가 몇 주 후에 드러납니다.
- AI‑지원 재작성의 매력적인 전제조건은 체계적인 테스트‑주도 개발입니다.
테스트에 대한 투자는 예상치 못한 방식으로 수년 뒤에 결실을 맺었습니다.
결론
AI가 회사를 큰 금액만큼 구했다는 바이럴 이야기를 볼 때, 그 밑에 숨은 지루한 인프라—테스트 스위트, CI 파이프라인, 그리고 신중한 엔지니어들을 찾아보세요. AI는 강력한 도구이지만, 그 도구가 만든 결과물을 신뢰할 수 있게 만드는 장인 정신 없이는 공을 받을 수 없습니다.
질문: 내일 핵심 시스템을 AI‑지원으로 재작성하려 한다면, 오류를 식별할 수 있을 만큼 테스트 커버리지가 충분할까요?