인공지능(AI)이 코딩 작업을 빠르게 대체하고 있지만, AI가 만든 코드가 기능적으로는 완벽해도 '조잡함'이라는 새로운 문제에 직면하고 있습니다. 불필요한 추상화, 중복 코드, 잘못된 설계 결정 등은 당장은 문제가 없어 보여도 장기적으로 소프트웨어의 유지보수를 어렵게 하고 기술 부채를 증가시킵니다. 기능적 정확성은 테스트로 검증할 수 있지만, 코드의 '조잡함'은 측정하기 어려워 AI 시대의 새로운 도전 과제로 떠오르고 있습니다.
이러한 문제를 해결하기 위해 'SlopCodeBench'라는 새로운 벤치마크가 등장했습니다. SlopCodeBench는 코드의 '장황성(Verbosity)'과 '침식도(Erosion)'라는 두 가지 지표를 통해 조잡함을 측정합니다. 장황성은 중복되거나 불필요하게 긴 코드 줄의 비율을, 침식도는 코드베이스의 복잡도가 특정 함수에 얼마나 집중되어 있는지를 나타냅니다. 이 벤치마크로 평가한 결과, AI 에이전트가 생성한 코드는 기존 코드보다 장황성과 침식도 모두 평균 약 2배 높게 나타났습니다. 특히, 요구사항을 단계적으로 추가하고 매 단계 모델의 문맥을 초기화하는 반복적인 개발 방식에서는 잘못된 설계 결정이 누적되어, 모든 테스트를 통과하는 엄격한 기준에서는 최첨단 모델조차 해결률이 0%를 기록했습니다.
이는 AI가 단순히 코드를 생성하는 것을 넘어, 장기적인 관점에서 코드 품질을 관리하는 능력이 아직 부족하다는 것을 시사합니다. 코드 줄 수(LOC)의 증가도 조잡함의 유용한 신호가 될 수 있지만, 단순히 줄 수를 줄이는 데 매달리면 본질적인 의미를 잃을 수 있습니다. 함수 간의 의존 관계, 응집도 등 더 깊이 있는 분석과 함께 여전히 사람의 판단과 안목이 필요합니다. AI가 코딩을 '해결'했다고 말하기에는 아직 이르며, 대규모 프로젝트에서 AI가 생성하는 수백만 줄의 코드를 사람이 모두 검토하는 것은 현실적으로 불가능하므로, AI 시대에 맞는 새로운 코드 품질 관리 및 평가 방법론 개발이 시급합니다.