AI가 일주일 동안 백엔드 코드를 작성하게 했더니 실제로 망가진 것들
요약
AI 코딩 어시스턴트를 활용해 백엔드 전체를 개발하려 했던 실험적 시도와 그 과정에서 발생한 기술적 오류를 다룹니다. AI가 생성한 코드가 완벽하지 않음을 인지하고 엔지니어의 판단력이 필수적임을 강조합니다.
핵심 포인트
- AI는 고립된 환경에서는 완벽해 보이나 동시성 문제 등 복잡한 로직에서 오류를 범할 수 있음
- AI 생성 코드가 즉시 프로덕션에 적용 가능하다는 가설은 위험함
- AI는 생산성을 높이는 도구이지만 엔지니어링 판단을 대체할 수는 없음
- AI의 실수를 통해 개발자의 사각지대를 발견하고 더 견고한 시스템을 구축할 기회로 삼아야 함
저는 괜찮을 거라고 스스로에게 말했습니다. 저는 몇 달 동안 AI 코딩 어시스턴트를 제안 및 자동 완성 기능으로 사용해 왔고, 그것은 아주 잘 작동했습니다. 그래서 촉박한 마감 기한이 있는 새로운 프로젝트가 생겼을 때, 'AI가 백엔드 전체를 처리하게 하면 어떨까?'라고 생각했습니다.
커서(Cursor) 작업 공간을 설정하고, 상세 사양서를 작성한 다음, 생성 버튼을 눌렀습니다. 그 뒤에 이어진 것은 5일 동안의
AI는 고립된 환경에서는 완벽해 보이는 토큰 새로고침(token refresh) 플로우를 작성했습니다. 하지만 부하가 걸리거나 동시 새로고침 요청이 발생하면 서로의 토큰을 무효화시켰습니다. AI의 해결책은 무엇이었을까요?
AI가 제 프로젝트를 망가뜨린 것은 아니었습니다. '생성된 코드가 프로덕션 레디 코드와 같다'는 저의 가정이 무너진 것이었습니다.
AI는 페어 프로그래머로 사용될 때 놀라운 생산성 증대 도구(force multiplier)입니다. 하지만 엔지니어링 판단을 대체하는 수단으로 취급할 때는 오히려 위험 요소가 됩니다.
이번 주는 저에게 디버깅에 3일의 추가 시간을 소요하게 했지만, 혼자서 만들었을 때보다 더 견고한 시스템을 출시할 수 있게 해주었습니다. 왜냐하면 AI의 실수들이 제가 가진 사각지대(blind spots)가 어디인지 가르쳐 주었기 때문입니다.
AI를 사용하세요. 하지만 운전대는 직접 잡으세요.
혹시 AI가 생성한 코드와 관련하여 비슷한 경험을 하신 적이 있나요? 댓글로 여러분의 생생한 경험담(war stories)을 들려주시면 좋겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기