이 리뷰는 GitClear사가 며칠 전에 발표한 "AI Copilot 코드 품질 연구" 보고서를 요약 리뷰한 결과이다.
당연히 이 글 작성도 AI가 도와주었다.
내용이 많지만 그래프와 그 위의 간단 설명만 봐도 이해가 되고, 맨 뒤의 '그래서 뭘 해야 하나?'와 '결론'만 봐도 된다.
음... 개발팀의 누군가는 한 번씩 읽어보면 좋겠다.
짧은 서론
AI가 개발자 영역에 푸~~욱 들어왔다. 앤쓰로픽 클로드에 들어오는 대회의 37.2%가 컴퓨터 및 수학 영역에서 들어온다고 한다. 아마 우리가 아는 영역 가운데 가장 Active 하게 사용되는 영역일 거다. 잘 되고 있는지, 잘 안 되는 부분이 있다면 어떻게 해야 할지 살펴보자.
보고서의 핵심 내용 요약
2024년은 AI 코파일럿이 소프트웨어 개발 프로세스에 본격적으로 편입되면서 코드 품질 측면에서 중요한 전환점이 된 거의 첫번째 해다. 이 연구에서는 무려 2억 1,100만 라인의 코드 변경 데이터를 분석한 결과, 다음과 같은 주요 경향이 포착되었다.
첫째, 코드 복제 비율이 사상 최고치를 기록했다. 2024년 커밋의 6.66%에서 5라인 이상의 중복 코드 블록이 발견됐으며, 이는 2020년 대비 10배 증가한 수치다. 특히 단일 커밋 내 Copy/Paste 작업이 코드 이동(moved lines)을 처음으로 추월하며, 개발자들의 재사용보다 복제를 선호하는 경향이 뚜렷해졌다.
둘째, 리팩토링 활동이 급감했다. 2020년 전체 코드 변경의 24.1%를 차지하던 코드 이동(moved) 라인 비율이 2024년 9.5%로 추락했다. 이는 AI 도구의 제한된 콘텍스트 윈도우가 광범위한 시스템 이해를 어렵게 하여 발생한 현상으로 해석된다. 즉 AI가 아직 복잡한 코드에 한계가 있다는 뜻이다.
셋째, 신규 코드 추가율이 46.2%까지 상승했고 동시에 코드 변경(churn) 비율도 26% 증가했다 (위 표 참조). 또 중복코드 비율이 많이 증가했다. 이는 AI가 생성한 코드가 단기적 문제 해결에는 유용하지만 장기적 유지보수 부담을 가중시킨다는 것을 시사한다.
2024년 Google의 DORA 보고서 는 이러한 추세를 뒷받침하며 AI 도입팀에서 결함 발생률이 상승하고 있음을 확인했다. 특히 AI 사용량이 25% 증가할 때마다 배포 안정성이 7% 하락하는 상관관계가 관측됐다.
그래서 뭘 해야 하나?
1. 생산성 지표의 재정의 필요성
코드 라인 수나 커밋 빈도 같은 양적 지표만 추구할 경우 기술 부채가 가속화된다. 2024년 분석에 따르면 신규 추가 코드의 12.3%가 복제 코드였으며, 이는 향후 유지보수 비용을 3배 이상 증가시킬 것으로 예상된다. 코드 재사용률, 모듈화 지수, 결함 전파율 같은 질적 메트릭을 동시에 트래킹해야 한다.
2. 코드 리뷰 프로세스 자체를 혁신
AI 생성 코드의 경우 사람이 짠 코드보다 3배 빠른 속도로 중복 블록이 발생한다. 코드 리뷰 시 표준화된 검증 체크리스트를 도입하고, 정적 분석 도구와 결합된 AI 기반 중복 탐지 시스템을 필수 프로세스로 편입해야 한다. (보고서에는 GitClear의 솔루션을 쓰라는..)
3. 콘텍스트 확장 기술의 전략적 활용
현재 AI 코파일럿의 평균 컨텍스트 윈도우 크기(대략 10개 파일)는 대규모 리팩토링 작업에 근본적 한계다. 코드베이스의 구조적 맥락을 이해할 수 있는 확장 도구를 도입하여 AI의 시스템 차원 이해도를 높여야 한다. (비싼 AI 도구를 쓰라는..)
4. 기술 부채 관리 방식의 전환
2024년 처음으로 Copy/Paste 라인 수가 Moved 라인 수를 초과했다. 이는 단편적 문제 해결이 축적된 기술 부채가 시스템 복잡도를 기하급수적으로 증가시킬 위험 신호다. 기술 부채를 '예방 가능한 위험'에서 '적극적 관리 대상'으로 전환하는 조직 문화가 필요하다.
5. 사람 개발자와 AI의 협업 모델의 진화
코드 생성 과정에서 인간 개발자의 핵심 역할은 이제 '최초 구현자'에서 '시스템 설계자'로 이동해야 한다. 2024년 데이터는 AI가 생성한 코드의 70% 이상이 3개월 내 수정을 필요로 한다는 것을 보여준다. 따라서 개발자는 AI가 제안한 구현체를 구조적 관점에서 평가하고, 추상화 계층을 설계하며, 장기적 진화 경로를 제시하는 데 집중해야 한다.
결론
AI 코딩 보조도구는 생산성 측면에서 혁신적 도약을 가져왔다. 이 보고서에서는 AI가 본격적으로 사용된 2024년 데이터를 기반으로 AI 코딩 보조도구의 무분별한 사용이 장기적 코드 품질에 심각한 영향을 미칠 수 있음을 경고하고 있다. 각 개발 팀, 나아가 개발자 커뮤니티는 AI가 생성 코드의 질적 관리 방안/표준을 수립해야 할 필요가 있다.
한 줄 요약 : AI 좋은데, 도움이 되도록 관리하면서 쓰자. 사람 개발자는 개발 전체 사이클과 시스템 관점의 뷰를 가지고 협업하자.
#나는인공지능이싫어요
'소프트웨어 이야기' 카테고리의 다른 글
AI가 개발자를 대치할 수 있을까? (3) | 2025.02.10 |
---|---|
소프트웨어 엔지니어 가이드 북 [광고] (8) | 2024.10.24 |
'요새 개발자 채용시장'에 관한 동영상의 댓글들 (41) | 2024.08.10 |
소프트웨어 개발자 부트캠프 운영자 워크숍 (0) | 2024.08.05 |
GitHub Copilot 소송.. (0) | 2024.07.10 |