AIㆍML / 개발자

“2027년까지 개발자 70%가 사용한다는데…” AI 코딩 도구의 함정

Lucas Mearian | InfoWorld 2024.04.05
생성형 AI 기반 코딩 도구는 자연어 프롬프트 또는 부분적인 코드 입력을 기반으로 코드를 작성한다. 개발자는 이런 도구를 사용해 코드를 더 빠르게, 더 정확하게 작성할 수 있다(일부 이메일 플랫폼과 마찬가지로 실시간으로 작성되는 코드를 자동 완성할 수 있도록 제안하기도 한다).
 
ⓒ Getty Images Bank

AI 기반 코드 생성 도구는 소프트웨어 엔지니어링 분야에서 점점 더 널리 보급되고 있으며, 생성형 AI를 실험하는 대부분 기업에서 큰 성과를 거두고 있다. 도입률이 급증하는 이유는 자동화 도구가 새로운 애플리케이션에 대한 코드의 기준선만 제시하더라도 수동 코드 작성 및 업데이트에 소요되던 시간을 절약할 수 있기 때문이다. 


'대세' 되어가는 AI 코딩 어시스턴트

소프트웨어 개발 전문 시장 조사 기관인 에반스 데이터 코퍼레이션(Evans Data Corp.)은 최근 434명의 AI/ML 개발자를 대상으로 실시한 설문조사 결과, 생성형 AI 도구를 사용해 가장 많이 생성할 것으로 예상되는 것이 무엇이냐는 질문에 가장 많은 응답자가 소프트웨어 코드라고 답했고, 알고리즘과 LLM이 뒤를 이었다. 또한 응답자들은 생성형 AI가 개발 주기를 단축하고 ML 기능을 더 쉽게 추가할 수 있을 것으로 기대했다. 

가트너 리서치는 2027년까지 전문 개발자의 70%가 AI 기반 코딩 도구를 사용할 것으로 전망했다. 2023년 9월 기준 10% 미만이었던 것에서 증가한 수치다. 또한 3년 이내에 기업 80%가 소프트웨어 엔지니어링 툴체인에 AI 증강 테스트 도구를 통합할 것이며, 이는 작년 초의 약 15%에서 크게 증가한 수치라고 가트너는 예측했다.

생성형 AI 자동화 소프트웨어 개발에 가장 많이 사용되는 도구 중 하나는 깃허브 코파일럿이다. 깃허브 코파일럿은 깃허브, 오픈AI, 마이크로소프트가 개발한 생성형 AI 모델로 구동되며, 공개 리포지토리에 나타나는 모든 자연어를 학습한다. 

마이크로소프트의 개발자 부문 부사장 아만다 실버에 따르면, 지난해 비즈니스용 깃허브 코파일럿이 출시된 이후 5만 곳 이상의 기업이 해당 서비스를 사용하기로 등록했다. 여기에는 엣시(Etsy), 헬로프레시(HelloFresh) 같은 디지털 네이티브 기업은 물론 오토데스크, 델 테크놀로지스, 골드만삭스 등 유수의 기업도 포함돼 있다. 실버에 따르면, 현재 깃허브 코파일럿은 130만 명 이상의 유료 구독자를 보유하고 있으며, 최대 고객은 5만 개의 라이선스를 보유한 액센츄어다.

깃허브의 코파일럿과 함께 가장 인기 있는 코드 생성 도구로는 구글 바드, 아마존 코드위스퍼러, 마이크로소프트 365 코파일럿(GPT 기반), 리플리트(Replit), 디비 AI(Divi AI), 탭나인(Tabnine), 리팩트닷에이아이(Refact.ai), 코디움(Codeium) 등이 있다. 대부분은 무료이거나 AI 지원 구독 서비스 일부로 제공된다. 


개발자 생산성, 얼마나 올라갈까?

AI 기반 코딩 도구는 개발자의 효율성과 생산성에 막대한 영향을 미칠 수 있다. 실제로 AWS(Amazon Web Services)의 조사 결과, 코드위스퍼러를 사용한 개발자가 도구를 사용하지 않은 개발자보다 작업을 성공적으로 완료할 가능성이 27% 더 높았으며, 평균 57% 더 빨리 완료한 것으로 나타났다. 

(아마존이 기업용로 개발한 생성형 AI 챗봇 아마존 Q(Amazon Q)는 코드위스퍼러 도구를 기반으로 한다. 아마존 Q는 아마존 타이탄(Amazon Titan) 제품군을 비롯한 다양한 모델에 대한 액세스를 제공하는 아마존 베드록(Bedock)으로 구동된다.) 

AWS 퍼시스턴트(Persistent)의 조사에서도 결과는 비슷했다. 코드위스퍼러를 사용하는 개발자는 그렇지 않은 개발자보다 28% 더 빠르게 작업을 완료한 것으로 나타났다. 코드위스퍼러는 애플리케이션을 최신 버전으로 자동 업데이트하는 데도 사용할 수 있다.

예를 들어, 5명의 아마존 개발자로 구성된 한 팀은 아마존 Q 코드 변환을 사용해 단 이틀 만에 1,000개의 프로덕션 애플리케이션을 자바 8에서 자바 17로 업그레이드했다. 아마존 대변인에 따르면, 애플리케이션 한 개를 업그레이드하는 데 이틀이 걸리던 것이 10분도 채 걸리지 않았다.

2023년 4월에 정식 출시된 이후 코드위스퍼러는 10만 명 이상의 고객을 확보했다. 소프트웨어 개발 및 아웃소싱 서비스 기업 HCL테크(HCLTech)는 내부 및 고객용 보안 애플리케이션을 구축하기 위해 5만 명 이상의 HCL테크 엔지니어, 클라우드 실무자 및 개발자에게 코드위스퍼러를 배포하고 있다. 

생성형 AI 소프트웨어 개발 도구는 LLM을 기반으로 하기 때문에 수백만 또는 수십억 줄의 코드를 학습한다. 가장 널리 사용되는 플랫폼은 C부터 Python까지 모든 코딩 언어로 작업할 수 있다.

아마존 코드위스퍼러는 제트브레인 및 VS 코드용 AWS 툴킷(AWS Toolkit for Visual Studio (VS) Code and JetBrains)의 일부로 제공된다. 현재 파이썬, 자바, 자바스크립트, 타입스크립트, C#, Go, 러스트, PHP, 루비, 코틀린, C, C++, 셸 스크립팅, SQL, 스칼라, JSON, YAML, HCL을 지원한다. 

깃허브 COO 카일 데이글은 Computerworld와의 인터뷰에서 "초기 실험 단계에서는 파이썬, 자바스크립트 등의 언어를 활용할 때 코파일럿을 활용했다. 깃허브는 원래 루비 언어를 사용하는 곳으로 유명하지만, 고와 C 같은 다른 언어를 쓰기도 한다. 현재는 코파일럿에서 지원하는 언어 수를 더 확장하려 하고 있다. 기본적으로 코파일럿은 업계에서 많이 쓰이는 주요 언어를 지원한다"라고 설명했다. 

자연어 처리를 기반으로 한 사용자 프롬프트에만 의존하는 생성형 AI 기반 코드 생성기는 스니펫부터 전체 기능까지 다양한 소프트웨어 코드 제안을 제공할 수 있다. 그리고 이런 도구는 업데이트를 통해 더욱 개선할 수 있다. 예를 들어 아마존은 코드위스퍼러 도구를 업데이트한 결과, 모든 언어와 사용례에서 평균 약 20%였던 코드 수락률이 35%로 증가했다고 밝혔다. 

아마존 Q의 소프트웨어 개발 책임자이자 코드위스퍼러 총괄 관리를 담당하는 더그 세븐은 블로그에서 "코드위스퍼러에 포함된 아마존 Q를 통해 개발자는 자신의 코드에 대해 문의하고, 작업 중인 코드의 버그를 찾고, 최적화하고, 번역하는 데 아마존 Q의 기능을 활용할 수 있다"라고 말했다. 

코드 분석 및 깃 통계를 제공하는 깃허브 및 깃랩용 개발자 도구인 깃클리어(GitClear) 조사에서는 개발자가 코파일럿을 사용할 때 코드를 55% 더 빠르게 작성하는 것으로 나타났다. 사람이 작성했을 때와 비교해 깃허브의 코드 품질과 유지보수성을 살펴본 결과, 경험이 적은 개발자가 베테랑 개발자에 비해 AI 지원 프로그래밍 시 더 큰 이점을 얻을 수 있다는 사실을 발견했다. 깃허브 자체 데이터에 따르면, 주니어 개발자는 숙련된 개발자보다 코파일럿을 약 20% 더 많이 사용하고 있다. 


AI 기반 코딩 도구의 역할

AI 지원 코딩의 가장 큰 장점은 사용자가 소프트웨어 개발에 능숙하지 않아도 된다는 점이다. 자연어 처리 기능을 사용하면 비즈니스 사용자도 간단히 프롬프트를 작성하고 프로젝트에 필요한 소프트웨어를 얻을 수 있다.

예를 들어, 사용자는 "서버 측 암호화가 적용된 파일을 업로드해 줘"와 같이 특정 작업을 영어로 설명하는 코멘트를 자연어로 작성할 수 있다. 아마존 대변인에 따르면 코드위스퍼러는 해당 정보를 바탕으로 개발 플랫폼에서 직접 작업을 수행할 수 있는 코드 스니펫을 하나 이상 추천한다.

또한 여러 코딩 도구에는 향상된 코드 보안 기능 검사 및 코드 수정 제안이 포함돼 있다. 일부는 코드 제안이 오픈 소스 교육 데이터와 유사한지 여부를 감지하는 '편향성' 필터링 및 참조 추적기 기능도 제공한다. 후자는 AI 기반 코딩 어시스턴트의 중요한 기능이다. 

아마존과 다른 제공업체들은 비개발자가 비즈니스용 앱을 제작하는 데 도움을 주는 도구도 실험하고 있다. 가령 아마존 대변인은 비개발자의 참여를 AI 접근성을 높이기 위한 우선 순위로 보고 있다고 말했다. 아마존은 비개발자가 샌드박스 환경에서 생성형 AI 및 LLM으로 작업할 수 있는 에듀테인먼트 생성형 AI 애플리케이션 빌더인 파티락(PartyRock)을 출시했다.

세븐은 Computerworld와의 인터뷰에서 "다양한 애플리케이션 구축을 실험해 볼 수 있다. 생성형 AI를 사용하는 다양한 페르소나를 위한 도구가 늘어날 것"이라고 말했다.


모델별로 차이 나는 정확도

세븐은 코드위스퍼러의 코드 수락률이 약 30~40%라고 말했지만, 100%에 가깝지 않다고 해서 코드위스퍼러가 작성한 코드가 부정확하거나 오류가 있다는 의미는 아니다. 수락률은 개발자가 요청한 내용을 생성형 AI 도구가 올바르게 해석했는지를 나타낸다.

세븐은 개발자와 AI 코드 생성기 사이의 대화를 개발자가 무언가를 생성하도록 요청한 다음 후속 요청을 통해 요청을 수정하는 것과 유사한 방식을 설명했다. 세븐은 코드위스퍼러가 오류 없이 사용 가능한 코드를 생성하는 능력은 "상당히 높은 수준"이지만 아마존은 내부 지표를 공개하지 않는다고 덧붙였다. 

개발자와 IT 리더들과 얘기해 보면 사용 가능한 코드를 올바르게 생성하는 인기 있는 AI 기반 코드 증강 도구의 능력을 50%에서 80%까지로 평가한다. 디지털닷에이아이 CEO 데릭 홀트는 "가설이었지만, 이제 실제 연구에서 이를 확인하기 시작했다"라고 말했다. 

지난해 코넬 대학교의 연구에 따르면, 다양한 생성형 AI 코딩 도구 간에는 정확도에 큰 차이가 있다. 챗GPT, 깃허브 코파일럿, 아마존 코드위스퍼러는 각각 65.2%, 64.3%, 38.1%의 확률로 올바른 코드를 생성하는 것으로 나타났다. 해당 연구가 발표된 지 1년이 지났지만, 이 논문 주저자이자 UCLA 헨리 사무엘리 공학 및 응용과학대학의 대학원생 연구원인 부락 예티슈티렌은 AI 지원 코딩 툴의 정확도는 현재도 "거의 비슷하다"라고 지적했다.

한편 깃클리어는 코파일럿 정확도를 조사하기 위해 2020년부터 2023년까지 1억 5,300만 줄 이상의 코드를 검토했다. 코드 이탈, 중복 및 사용 기간의 주요 변화를 강조하면서 깃허브 코파일럿과 같은 AI 도구가 프로그래밍 관행에 미치는 영향을 조사했다.

깃클리어는 500명의 개발자를 대상으로 해당 설문조사를 실시해 "AI를 적극적으로 사용할 때 어떤 지표를 기준으로 평가해야 하는지"를 물었다. 이 질문에서 개발자들이 꼽은 상위 3가지 문제는 코드 품질, 작업 완료 시간, 프로덕션 인시던트 수였다. 

하지만 깃클리어 보고서 집필팀은 "개발자들이 단기간에 효과가 있는 빠르고 쉬운 제안을 넘치게 받으면 기존 시스템을 재사용할 수 있도록 개선할 수 있는지 제대로 확인하지 않고 코드를 더 추가하려는 유혹에 빠지게 된다"라고 지적했다. 


코드는 늘어나는데, 오류는 더 많아진다?

디지털닷에이아이의 홀트에 따르면 개발자들은 자동화 도구를 사용해 45% 더 많은 코드를 생산하고 있지만, 이것이 반드시 좋은 것만은 아니다. 

코드씬(CodeScene) CTO 아담 톤힐은 X에서 "AI 지원 프로그래밍의 가장 큰 문제는 애초에 작성해서는 안 되는 코드를 너무 쉽게 생성할 수 있다는 것"이라고 썼다. 

또 다른 문제점은 코드가 사람이 생성하지 않을 때 더 불투명해진다는 것이다. 그 결과, 코드의 오류와 보안 허점을 효과적으로 테스트할 수 있는지에 대한 의문을 포함해 품질 문제가 대두되고 있다.

개발자 보안 플랫폼 스니크(Snyk)가 지난해 소프트웨어 엔지니어를 대상으로 실시한 설문조사에서는 절반 이상 응답자가 안전하지 않은 AI 코드 제안이 일반적이라고 답했다.

홀트는 "놀라운 일이 아니다. 아직은 초기 단계이고 특정 리포지토리에 있는 모든 코드에 대해 이런 모델을 학습시키고 있다. 원래 코드를 작성한 개발자가 저지른 실수를 반복하는 것뿐"이라고 말했다. 개발자의 작업 시간 대부분이 새로운 기능을 작성하는 것이 아니라 기존 코드 수정에 사용된다는 점을 고려할 때, 사람이 작성하지 않은 코드를 읽고 문제를 발견하는 능력은 또 다른 문제가 된다고 홀트는 지적했다. 

하지만 이런 문제가 있더라도 코파일럿과 같은 도구가 코드 생산 능력을 가속화한다고 믿지 않는다면 개발자는 이를 채택하지 않았을 것이라는 설명이다. 깃허브 연구에 따르면, 개발자는 코파일럿을 사용할 때 75% 더 성취감을 느낀다. 

6개월 동안 코파일럿을 사용한 450명의 액센츄어(Accenture) 개발자를 대상으로 한 연구에서, 제안된 코드의 88%가 유지되었고, 빌드 성공률이 45% 증가했으며, 설문조사에 참여한 모든 개발자가 코파일럿이 유용하다고 답했다고 마이크로소프트의 실버는 말했다. 


좋은 것 알지만...주의해야 할 3가지

그러나 깃클리어는 AI 지원 프로그래밍의 사용이 증가함에 따라 "이탈", "이동", "복사/붙여넣기" 코드의 양이 크게 증가한다는 사실도 발견했다. 

'이탈'은 리포지토리에 푸시됐다가 2주 이내에 되돌리거나 제거 또는 업데이트되는 코드다. 2023년 이전에는 개발자가 모든 코드를 직접 작성하는 경우는 상대적으로 드물었고, 코드 이탈은 3~4%에 불과했다. 하지만 코파일럿이 베타 버전으로 제공된 첫해, 즉 챗GPT가 출시된 해에는 전체 코드 이탈이 9%나 급증했다. 

2022년부터 2023년까지 AI 어시스턴트 도구의 증가는 리포지토리에 푸시되는 '실수 코드'와 밀접한 상관관계가 있었다. 코드 생성에 사용되는 코파일럿 보급률은 2021년에 0%, 2022년에 5~10%, 2023년에 30%로 나타났다고 깃클리어는 밝혔다. 또한 "현재 패턴이 2024년까지 계속된다면 2주 이내에 전체 코드 변경 사항의 7% 이상이 되돌려질 것이다. 2021년의 두 배에 달하는 비율"이라고 설명했다. 

코드 복사/붙여넣기만큼 장기적인 코드 유지 관리에 치명적인 재앙은 없을 것이다. 재사용된 코드에는 이전의 실수, 보안 취약점 또는 기타 문제가 포함될 수 있다.

홀트는 "문제를 파악할 수 있고 최고의 개발자가 만든 소량의 코드로만 모델을 훈련할 수 있을 것이라는 데는 의심의 여지가 없다. 하지만 지금은 주니어 개발자를 고용하고 있으며, 이것이 더 광범위한 소프트웨어 개발 라이프사이클에 어떤 의미가 있는지에 주의를 기울이지 않는다면 위험을 감수해야 할 것"이라고 강조했다.

아마존의 세븐은 코드위스퍼러와 다른 제품의 강점 중 하나는 기존 코드에 오류가 있는지 검사한 다음 변경 사항을 제안하는 기능이라고 주장하며 "따라서 실제로 변경할 수 있는 코드를 제공한다. 이런 맥락에서 아마존 Q(코드위스퍼러)를 사용하면 개발자에게 디버깅 동반자가 생긴다는 이점이 있다"라고 덧붙였다.

이어 세븐은 "개발자에게 익숙하지 않을 수 있는 기존 코드의 불일치를 확인하는 데 특히 유용하다. 그리고 Q는 그런 면에서 정말 훌륭하다"라고 말했다. 

자동화된 도구의 또 다른 장점은 개발자나 엔지니어가 작업을 설명하기만 하면 새 애플리케이션을 개발하든 기존 애플리케이션을 디버깅하든 도구가 알아서 작업을 완료하는 '설정 후 잊기 모드'로 사용할 수 있다는 점이다. 세븐은 "두 경우 모두 코드의 정확성과 코드의 품질이 매우 높다"라고 설명했다.

시간이 지남에 따라 소프트웨어 생성 도구는 계속 개선될 것이지만, 항상 사람이 개입할 필요는 있을 것이다.

홀트는 "검토, 카탈로그화 또는 이 두 가지가 혼합된 역할 등 개발자의 역할은 항상 존재할 것이라고 직감한다. 코드를 전달하는 것이 목표가 아니라는 사실에 대해 이야기하고 있는 것이 아니다. 고객이 좋아하는 훌륭한 기능을 제공하는 것이 진정한 목표다"라고 말했다.

마지막으로 홀트는 "소프트웨어 개발 분야에서 일할 날이 아직 오래 남은 것 같다"라고도 덧붙였다. 
editor@itworld.co.kr
Sponsored

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

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

Copyright © 2024 International Data Group. All rights reserved.