AIㆍML / 개발자

"코딩 속도 개선 vs. 코드 품질 저하" AI 코딩 어시스턴트의 과제

Matt Asay  | InfoWorld 2024.02.13
깃허브 코파일럿 같은 AI 코딩 도구가 코드 작성 속도를 55% 개선한다는 조사 결과는 개발자에게 매우 유용하게 보인다. 그러나 2020년 1월부터 2023년 12월까지 변경된 1억 5,300만 줄의 코드를 분석한 깃클리어(GitClear)는 2024년 코드 이탈률이 2배 늘어날 것이라고 예측했다. 코드 이탈률은 작성 후 2주 이내에 되돌려지거나 업데이트되는 코드 비율을 말한다. 

즉 깃클리어의 결론은 2023년에 생성된 코드는 반복 기여자의 코드와 비슷하다는 것인데, 마치 유지관리 가능성보다 장황한 코드 작성에 더 관심이 많은 단기 계약직 프로그래머를 고용한 것 같은 상황이다.
 
ⓒ Getty Images Bank

파워DNS 설립자 버트 휴버트는 지나치게 부풀려진 코드는 보안의 위험이 있다고 지적했다. 개발자가 AI 도구를 사용해서는 안 된다는 것이 아니라, AI에 과도하게 의존하면 멍청한 코드를 만들어낼 수 있고, 그런 일이 발생하지 않도록 주의를 기울여야 한다는 의미다.
 

모두가 사용하는 AI 도구

주요 원인은 지난해부터 폭발적으로 늘어난 생성형 AI다. 데이터셋 제작자 사이먼 윌슨은 “지난 1년 반 동안 인간은 거대한 텍스트 말뭉치를 가져와 GPU에서 실행해 새로운 소프트웨어를 만들 수 있다는 사실을 발견했다. 이 LLM은 삶을 크게 개선하며, 수백 줄의 파이썬 코드로도 만들 수 있다”라고 말했다.

LLM에서 까다로운 점은 구축에 사용되는 코드가 아니라 학습에 쓰이는 데이터다. 2023년에는 검색 증강 생성(RAG) 같은 수단으로 환각을 방지하는 방법이 공유되기도 했다.

한편으로 LLM의 유도 방법은 여전히 일관성 없는 암흑의 예술이다. 윌리슨은 “모델을 작동하기 위해 해야 하는 일은 엄청나게 멍청한 작업”이라고 지적했다. 소프트웨어 개발보다 챗GPT에 기말 학기 논문 작성을 요청하는 것도 그렇다. 그러나 특정 작업에 LLM을 쓰는 것은 원하는 것을 얻기 위해 프롬프트라는 손잡이를 돌리는 연습이나 마찬가지다.

AI로 생성된 소프트웨어를 포함, 오늘날의 소프트웨어 전반에서 가장 나쁜 점은 코드의 팽창이다. 휴버트는 “코드가 많을수록 위험이 커진다”라고 주장했다. 핵심은 간결한 코드를 쓰는 것이다. 간결한 소프트웨어가 더 안전한 소프트웨어다. 휴버트는 배포되는 코드가 너무 많고, 그 대부분은 제3자에 의해, 때로는 의도되지 않지만 대부분 검수되지 않은 채 배포된다며 “평범한 코드로 가득 찬 공격 표면이 점점 더 넓어진다”라고 지적했다.

AI는 문제를 더 악화시킨다.
 

게이트 설치하기

정답은 기계가 자동화하고 사람이 실행하는 코드 리뷰다. 물론 코딩 어시스턴트 AI가 더 복잡하고 유지 관리가 어려운 코드를 만든다는 의견도 있겠지만, 일단 AI가 사람의 유지 관리 필요성을 최소화한다는 사실은 일견 그럴듯하게 들린다. 하지만 공격 표면은 여전히 확대된다.

코드 품질에 대한 답은 언제나처럼 코드 리뷰다.

누가 코드를 만들었느냐는 프로덕션 프로세스만큼 중요하지 않다. 최근 한 개발자는 “좋은 코드는 좋은 개발자가 만들기도 하지만, 그만큼 좋은 프로세스에서 만들어진다”라고 말했다. 이러한 프로세스는 개발자가 소프트웨어 개발의 기본을 배우는 책임을 회피하지 않는 데 달려 있다. 개발자가 경험이 부족하면 데이터 구조, 알고리즘, 분산 시스템, 네트워킹 같은 고급 소프트웨어 엔지니어링 분야를 건너뛸 위험이 있고, 효과적 코드 리뷰를 수행하기 어렵게 된다.

개발자는 AI 도구의 새로운 기회를 수용하는 동시에 AI 도구를 효과적으로 사용할 때 필요한 필수 요소를 깊이 이해해야 하고, 단순히 AI 도구에 이용당해서는 안 된다. 개발 책임자가 강력한 코드 리뷰를 요구하고, 리뷰를 통해 코딩 프로세스에 참여하는 사람과 AI의 수준이 높아지면 충분히 가능한 미래다.
editor@itworld.co.kr 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.