본문 바로가기
AI

개발 생산성 향상을 위한 필수 도구, AI 코딩 비서의 활용 이유

by 지나팩 2023. 12. 8.

AI 대전이 전 세계적으로 일어나고 있는 와중에 개발자들 역시 혹여나 일자리가 사라지진 않을지 걱정이 되는 요즘입니다. 저 역시도 마찬가지이지만 개인적인 생각은 오히려 적극적으로 활용하여 새로운 포지션을 만들어야 한다는 생각입니다. AI를 활용해 생산성을 올리는 스킬을 키울 수 있다면 그 또한 남들과는 다른 포지션을 차지할 수 있는 큰 능력이 되리라 생각이 듭니다. 그래서 적극적으로 AI 툴들을 써보고 어떻게 활용해야할 지 고민해야할 시기인 것 같습니다.

 

그래서 왜 AI를 활용해야 하는지 기사를 기반으로 요약해보았습니다.

  1. 생산성 향상: AI 코딩 비서는 개발 과정에서 반복적이고 시간 소모적인 작업을 자동화하여 개발자의 생산성을 크게 향상시킵니다. 예를 들어, 코드 자동 완성, 오류 수정 및 리팩토링 지원 등을 통해 개발자는 더 빠르고 효율적으로 작업을 진행할 수 있습니다.
  2. 실시간 지원: AI 코딩 비서는 개발자가 코드 작성 중에 실시간으로 도움을 줄 수 있습니다. 문법 오류, 잠재적인 버그, 최적화 가능성 등을 감지하고 개발자에게 즉각적인 피드백을 제공하여 개발 과정에서 발생할 수 있는 문제를 조기에 해결할 수 있습니다.
  3. 지식 공유와 학습 기회: AI 코딩 비서는 다양한 개발 지식과 최신 트렌드에 대한 정보를 제공하는데 도움을 줍니다. 개발자는 AI 코딩 비서를 통해 새로운 개념과 기술을 습득하고, 다른 개발자들과의 지식 공유를 통해 성장할 수 있습니다.
  4. 일관성과 품질 유지: AI 코딩 비서는 일관된 코딩 스타일과 표준을 유지하도록 도와줍니다. 개발자들은 팀 내에서 일관성 있는 코드 작성을 유지하고, 버그와 결함을 줄이며, 코드의 품질을 향상시킬 수 있습니다.
  5. 시간과 리소스 절약: AI 코딩 비서는 개발자들이 일상적이고 반복적인 작업에 소요되는 시간과 노력을 절약할 수 있도록 도와줍니다. 이는 개발자들이 더욱 창의적이고 복잡한 작업에 집중할 수 있게 해주고, 프로젝트의 생산성과 효율성을 향상시킵니다.

위 내용과 더불어 더 많은 이유들이 있을 수 있습니다. 

 

생성형 AI는 소프트웨어 개발 지원 분야에서 큰 잠재력을 가지고 있으며, 소프트웨어 테스트, 문서 작업 등을 포함합니다. 가트너 리서치에 따르면, 2027년까지 전체 기업 소프트웨어 엔지니어의 절반 이상이 생성형 AI 도구를 사용하여 소프트웨어 생성, 테스트 및 운영을 진행할 것으로 예상됩니다.

현재로서는 기업 소프트웨어 엔지니어 중 약 5%가 생성형 AI 도구를 사용하고 있지만, 이 비율은 빠르게 증가할 것으로 예상됩니다. 이는 많은 조직이 소프트웨어 수요에 대응하기 어려운 상황에서 개발자들의 한계에 도달하고 있기 때문입니다. 조사 결과에 따르면, 개발자들은 업무 만족도가 낮아지고 속도를 따라가지 못하는 상황에 처해 있다고 합니다.

깃허브 코파일럿(GitHub Copilot), 리플릿 고스트라이터(Replit GhostWriter), 아마존 코드위스퍼러(Amazon Code Whisperer) 등의 대형 언어 모델(LLM)을 기반으로 한 AI 기반 코드 생성 제품은 개발자들의 생산성을 크게 향상시킵니다. 이러한 도구들은 복잡한 코드를 자동으로 생성할 수 있는 능력을 갖추고 있습니다.

하지만 이러한 AI 도구들이 존재한다고 해서 인간 소프트웨어 개발자와 엔지니어가 필요 없어지는 것은 아닙니다. 생성형 AI는 여전히 오류를 발생시킬 수 있으며, 고유한 코드를 작성하는 능력은 갖고 있지 않기 때문입니다.

앞으로 2년 내에는 소프트웨어 엔지니어링 조직의 80%가 내부적으로 재사용 가능한 서비스, 구성 요소, 애플리케이션 제공 도구를 갖춘 플랫폼 팀을 설립할 것으로 예상됩니다. 또한 IDC에 따르면, 기업이 생성형 AI를 사용하여 코드 작성을 실험하는 정도는 텍스트 생성에 생성형 AI를 사용하는 정도와 비슷하게 활발합니다.

 

 

 

IDC 조사에 따르면, AI를 사용하여 텍스트 생성 및 코드 생성을 실험하는 사례가 가장 흔하다고 합니다. 특히 코드 생성을 위해 AI를 사용하는 사례는 절반 이상을 차지하고 있습니다.

시스코의 CIO인 플레처 프레빈은 소프트웨어 개발에도 AI가 적용될 것으로 예상하지 못한 분야 중 하나로 소프트웨어 개발을 언급했습니다. 그는 소프트웨어 개발이 창의적인 예술과 유사하다고 생각합니다. 그러나 챗GPT와 같은 AI 모델은 기업 데이터의 청결성과 보안을 해결하는 데 능숙하며, 기존 코드를 재사용하여 새로운 앱을 개발하는 데에도 사용됩니다.

2022년 마이크로소프트의 조사에 따르면, 깃허브에 등록된 모든 코드 중 절반 이상이 AI의 도움을 받아 개발되었다고 합니다. 깃허브의 CEO인 토마스 돔케에 따르면, 이 비율은 앞으로 5년 내에 80%로 높아질 것으로 예상됩니다.

플레빈은 이전 인터뷰에서 AI 코딩 비서 도구인 코파일럿(Copilot)과 같은 도구를 사용하여 코드 판독, 코드 청결성, 보안, 주석 달기 등을 개발자에게 도움으로 제공함으로써 속도를 크게 높일 수 있다고 언급했습니다. 이러한 도구들은 개발자의 작업을 지원하는 데 뛰어난 성능을 발휘합니다.

다양한 조사 결과에 따르면, AI 코딩 비서는 개발자의 생산성과 행복을 증진시키는 중요한 수단으로 인식되고 있습니다. 생성형 AI 비서는 반복적이고 지루한 작업을 처리하여 개발자가 더 가치 있는 활동에 집중할 수 있도록 도와주며, 이를 통해 조직은 기존 인력으로 더 많은 기능을 제공할 수 있게 됩니다.

또한, AI 비서는 "시민" 개발자들이 변화하는 비즈니스 요구에 신속하게 대응하여 앱을 개발하는 역량을 강화하는 데 도움을 줍니다. AI 도구는 소프트웨어 개발 분야에서 AI 코딩 지원, AI 보조 테스트 도구, 설계-개발 도구와 같은 세 가지 주요 영역에 영향을 미치고 있습니다.

요약하자면, AI 코딩 비서 도구는 개발자의 생산성 향상과 업무 속도 향상을 도모하는 중요한 역할을 수행하며, 텍스트 생성과 코드 생성 등 다양한 소프트웨어 개발 영역에서 활용될 수 있습니다.

 

 

 

 

개발자들은 AI 기반 코딩 비서를 단위 테스트 생성이나 소프트웨어 문서화 등의 목적으로 활용하며, 때로는 코드 일부를 강조하고 해당 코드의 기능에 대한 이해를 높이기 위해 질문하는 방식으로도 사용됩니다.

AI 기반 코딩 비서는 개발자들이 직접 작성하지 않은 코드를 개선하거나 업데이트하는 경우에 많이 활용되고 있습니다. 퇴사한 개발자가 남긴 코드, 방치된 코드, 레거시 애플리케이션에 대한 이해 부족 등의 상황에서 AI 코딩 비서가 유용하게 활용될 수 있습니다.

자연어 처리를 통해 개발자는 LLM에게 말을 걸어 아이디어를 시험해 볼 수 있으며, 코딩에 대한 접근 방식을 고민할 수 있습니다. 또한, 자연어 처리는 개발자의 사용 경험을 개선하는데 확실한 역할을 하고 있습니다.

포레스터 리서치에 따르면, 기업이 AI를 활용하여 생산성을 향상시키고 문제 해결 능력을 개선할 것으로 예상됩니다. 생성형 AI는 이미 소프트웨어 개발 작업에서 최대 40%의 개선을 이룩하고 있다고 보고되었습니다.

깃허브의 조사에 따르면, 코파일럿 도구를 사용하는 개발자 중 88%가 생산성 향상을 체감했으며, 과업 완료 속도가 증가하고 인터넷 검색을 통해 해답을 찾는 시간이 감소한 것으로 나타났습니다.

개발자들은 AI 코딩 비서를 사용함으로써 생산성 향상을 체감하게 되며, 이전에는 작업 전환, 검색 엔진 사용에 대한 만족도가 낮았음을 깨닫게 됩니다. AI 코딩 비서가 제공하는 다양한 기능에 대한 개발자의 평가는 상대적으로 높습니다.

코파일럿 도구를 처음 사용하는 개발자들은 첫 해에 제안된 코드 중 약 30%를 수락하며, 시간이 지남에 따라 익숙해지고 수락 비율이 증가합니다. 그러나 여전히 수락되지 않은 코드의 비율은 남아있기 때문에 개발 과정에서 인간의 존재는 여전히 필수적입니다.

요약하면, AI 기반 코딩 비서는 개발자들이 단위 테스트 생성, 문서화 등의 작업을 보다 효율적으로 수행하고 코드의 이해를 높이는 데 도움을 줍니다. 개발자들은 AI 코딩 비서를 활용하여 생산성을 향상시키고 문제를 해결하는 능력을 향상시킬 수 있습니다. 그러나 개발 과정에서 인간의 역할은 여전히 중요하며, AI 코딩 비서는 개발자들의 작업을 보조하는 도구로 활용됩니다.

 

 

 

생성형 AI 보조 테스트 도구는 조직의 테스트 데이터 생성 능력을 향상시키고 API 테스트 및 회귀 테스트 생성을 지원하는 목적으로 설계되었습니다. 이러한 도구들은 기존 제품에 기능을 추가하는 형태로 등장하였습니다.

또한, AI 보조 설계-개발 도구인 피그마(Figma)와 같은 도구는 개발자가 설계 내용을 빠르게 코드로 변환하고 프론트엔드 프레젠테이션 계층을 생성하는 데 도움을 줍니다.

하지만 현재 생성형 AI가 도입된 여러 조직에서는 일부 문제가 발생하고 있습니다. 이는 코딩 오류, 환각, 보안 취약점 등이 생성형 AI 도구 도입 시 우려 사항으로 제기되고 있습니다.

월쉬는 "우리는 모든 고객에게 생성형 AI의 현실은 환각이라고 조언합니다. 사용자들은 이미 다양한 품질 및 보안 검사 도구를 데브옵스 워크플로의 일부로 갖추고 있어야 하며, 모든 것을 병합하기 전에 선임 엔지니어가 탄탄한 코드 검토 관행을 수행해야 합니다"라고 강조했습니다.

AI 보조 도구의 품질은 코드의 복잡성과 독점성에 따라 다르며, 일반적인 작업인 자바스크립트를 사용한 HTTP 서버용 코드 작성과 같은 경우 수락 비율이 높습니다. 이는 기반 LLM 훈련 데이터가 탄탄하기 때문입니다.

그러나 더 복잡한 코드 개발에서는 독점적인 비즈니스 로직에 의존하는 경우 시간 절약이 크지 않고 모델의 정확성과 성능도 그만큼 높지 않다는 것을 기업 엔지니어들이 알게 되었습니다.

하지만 중장기적으로 생성형 AI 기반 소프트웨어 생성 도구는 정확성이 향상되고 기능이 확장될 것으로 전망됩니다. 예를 들어, 비즈니스 사용자가 기업 수준의 품질이 필요하지 않은 데이터 분석 용도로 1회용 앱을 개발할 수 있는 기능이 추가될 수 있습니다.

월쉬는 "이러한 사용 사례는 비즈니스 사용자의 생산성 도구에 가까울 것이며, 현재의 노코드 시장과 유사할 수 있습니다. 이러한 사용 사례의 등장은 분명히 임박해 있는 것으로 보입니다"라고 말했습니다.

요약하자면, 생성형 AI 보조 테스트 도구는 조직의 테스트 데이터 생성 능력을 향상시키고 API 테스트 및 회귀 테스트 생성을 지원하는 목적으로 설계되었습니다. 그러나 도입 시 발생할 수 있는 문제에 대한 우려도 존재합니다. AI 보조 설계-개발 도구는 개발자가 설계 내용을 빠르게 코드로 변환하고 프론트엔드 계층을 생성하는 데 도움을 줍니다. 생성형 AI 기반 소프트웨어 생성 도구는 중장기적으로 정확성과 확장성이 향상될 것으로 전망되지만, 현재는 일부 문제가 존재하며 기업 엔지니어들은 코드 검토와 다양한 검사 도구의 사용을 권장하고 있습니다.

댓글