안녕하세요, 리키입니다. 오늘 전해 드릴 소식은 인공지능(AI) 코딩과 ‘바이브 코딩’을 활용할 때 코드 품질 기준을 어떻게 유지해야 하는지에 대한 내용입니다.
최근 AI 개발 분야에서 큰 발전이 이루어지고 있습니다. 이제 비개발자들도 자체적으로 수익을 창출하는 앱을 만들 수 있게 되었죠. 특히 인공지능은 처음부터 코드를 작성하는 ‘그린필드 코드’뿐만 아니라, 기존의 대규모 애플리케이션인 ‘브라운필드 코드’에도 적용되고 있습니다. 최근 모델들은 도구를 활용하는 능력이 매우 향상되어 더 큰 애플리케이션 내에서 기능을 구현하는 데 성공했고, 개발자들이 코드를 검토할 시간을 줄이고 요구사항 정의와 기능 테스트에 집중하게 되었습니다.
하지만 이러한 빠른 속도로 새로운 기능을 구축하다 보면 기술 부채(technical debt)가 쌓일 위험이 커집니다. 만약 감독 없이 진행된다면 팀은 스파게티 코드의 산더미를 마주할 수 있습니다. 따라서 문제가 통제 불능 상태로 확대되기 전에 코드 품질 기준을 최우선으로 생각해야 하는 것이 중요합니다.
문제는 AI가 생성한 코드를 인간이 검토하는 과정에서 발생합니다. Claude나 커서(Cursor)에게 코드를 검토해 달라고 요청하는 것은 마치 학위 논문을 검토해 달라고 요청하는 것과 같아서, 어떤 분야의 표준이나 기준을 적용해야 할지 맥락이 부족할 수 있습니다.
AI가 생성한 코드들이 쌓일 경우 팀은 어떻게 해야 하는지에 대한 고민도 필요합니다. 특히 아키텍처 변경 같은 부분에서 검토를 생략하면 비용이 나중에 몇 달 뒤에 나타나게 됩니다. AI가 만든 변경 사항들이 서로 겹쳐지면서, 이전 레이어가 제대로 작동하지 않을 때 문제가 발생하고 버그는 예상치 못한 곳에서 발생하여 디버깅 시간이 길어질 수 있습니다.
결국 AI의 이점을 누리면서도 발생하는 문제를 해결하기 위해서는 코드 부채를 낮추기 위한 방법이 필요합니다. 현재까지 사람들이 찾은 가장 좋은 방법들은 주로 두 가지 범주로 나뉩니다. 바로 풀 리퀘스트(pull request)에서 코드 품질을 확인하는 도구를 사용하거나, 저장소 전체의 코드 품질을 점검하는 도구를 사용하는 것입니다.
이러한 도구들을 활용하면 관리적인 측면에서 어떤 팀이 더 많은 선임 개발자를 필요로 하는지, 혹은 어느 팀이 코드 품질 기준을 높여야 하는지를 파악할 수 있습니다. 또한, 레거시 저장소처럼 당장 건드리지 않더라도 숨겨진 논리적 오류나 예상치 못한 부작용이 있는지 확인하여 잠재적인 영향을 이해하는 데도 도움이 됩니다.
참고 원문: https://www.aikido.dev/blog/code-quality-when-vibe-coding
