다른 서비스
NEW
기획
디자인
개발
프로덕트
아웃소싱
프리랜싱
비즈니스
최근 검색어
전체 삭제
최근 검색어가 없습니다.

개발

“세상 참 좋아졌네”…깃허브 코파일럿 리뷰

 

웹 개발 생산성을 높이기 위한 방법이라는 글에서 ‘깃허브 코파일럿(GitHub Copilot)’에 대해서 소개한 적이 있습니다. 깃허브 코파일럿은 ‘깃허브(GitHub)’에서 2021년에 출시한 서비스로, 개발자가 작성한 주석이나 함수명을 이해하여 코드를 자동 완성해 제시하는 기능입니다. 이번 글에서는 깃허브 코파일럿의 동작 방식과 장단점을 알아보고, 사용 소감과 함께 개발 생산성에 미치는 영향에 대해서 정리해봤습니다.

 

깃허브 코파일럿 동작 방식과 장단점

1) 깃허브 코파일럿 동작 방식

GitHub CopilotOpen AI에서 만든 Codex라는 언어 모델을 사용하였으며, 인공지능이 GitHub가 보유한 수많은 public 소스코드를 학습하여 만들어졌습니다. 개발자가 IDE에 ‘GitHub Copilot Extension’을 설치하고 주석이나 함수명을 입력하면, 이를 인공지능이 파악하여 작성해야 할 소스 코드를 마치 검색어 자동 완성 기능처럼 제시해줍니다.

 

2) 깃허브 코파일럿 장단점

무에서 유를 창조하듯이 개발자가 직접 모든 코드를 작성하는 일은 드뭅니다. 대부분 기존에 누군가 만든 코드(ex. 스택오버플로우에 있는 코드)를 참고하거나 동료 개발자 코드에서 힌트를 얻기도 하는데요. 보통 코드를 참고하려면 구글 검색을 하거나 ‘리포지토리(Repository)’에서 다른 개발자의 코드를 찾아봐야 합니다. GitHub Copilot은 이렇게 참고할 만한 코드를 검색하는 시간을 획기적으로 줄여주는 장점이 있습니다.

 

다만, 아직 인공지능 학습이 덜된 탓인지 깃허브 코파일럿은 한 번에 완벽한 코드를 제시하지는 못합니다. 간혹 AI가 개발자의 의도를 잘못 이해하기도 하고, 상당 부분 수정이 필요한 코드를 제시하기도 합니다. 따라서 개발자가 깃허브 코파일럿에서 제안된 코드를 정확히 이해하지 못하거나 잘못된 해석을 한다면 개발 과정에서 오히려 마이너스가 될 수도 있습니다.

 

 

깃허브 코파일럿과 개발 생산성

1) 깃허브 코파일럿은 누구에게 유용할까?

앞서 얘기했듯이, 인공지능이 제시한 코드를 제대로 이해할 수 없으면 깃허브 코파일럿을 사용하는 실익이 별로 없습니다. 마치, 스택오버플로우에서 이해하지도 못한 소스 코드를 ‘복사, 붙이기’ 하는 것과 비슷한 셈입니다. 따라서 개발 경험이 적은 주니어 개발자나 신규 프로젝트에서 새로운 언어를 학습하는 수준의 개발자에게 깃허브 코파일럿은 오히려 독이 될 가능성이 있습니다. 반면 해당 프로그래밍 언어에 익숙하거나 경험이 많은 시니어 개발자는 깃허브 코파일럿을 사용하여 개발 생산성을 눈에 띄게 높일 수 있습니다.

 

2) 개발 생산성 향상 도구

깃허브 코파일럿은 프로젝트 규모가 크든 작든 개발 생산성 향상 도구로 충분한 활용할 만합니다. 코드 작성 시간을 줄여줄 뿐만 아니라, 개발 과정에서 막혔던 부분에 대한 힌트도 빠르게 얻을 수 있기 때문인데요. 개인적인 경험으로도 깃허브 코파일럿을 사용했을 때 평소보다 최소 1.5배 정도는 개발 속도가 빨라지는 느낌을 받았습니다.

 

 

깃허브 코파일럿 사용 예시(JavaScript + VS Code)

1) 간단한 함수 만들기

깃허브 코파일럿 사용 예시로 간단한 JavaScript 함수를 만들어보도록 하겠습니다. 아래 GIF 이미지에서 볼 수 있듯이 함수명을 입력하면 그에 맞는 소스 코드를 깃허브 코파일럿이 제안하고, 탭(Tab)을 누르면 바로 코드가 적용됩니다. 주석 역시 같은 방식으로 소스 코드가 제시되는데요. 여러 가지 코드가 동시에 제시될 수 있으며, 이 경우에는 단축키(ex. Ctrl + Enter, Alt + [ 또는 Alt + ])를 사용하여 선택할 수 있습니다.

 

간단한 함수
<출처: 곰씨네 IT 블로그>

 

2) API 호출

이번에는 깃허브 코파일럿을 이용해서 jsonplaceholder라는 사이트의Fake API를 호출하는 코드를 만들어 보겠습니다. 아래 그림처럼 호출하려는 URL과 함수명을 작성하면, 깃허브 코파일럿에서 jsonplaceholder posts API를 호출하는 코드를 자동으로 생성합니다. 아쉽게도 아직 실제 개발 프로젝트에서 사용하려면 코드를 많이 손봐야 하지만, 깃허브 코파일럿을 통해 빠르게 API를 호출하는 자바스크립트 코드에 대한 힌트를 얻을 수 있는 것을 보여줍니다.

 

api 호출
<출처: 곰씨네 IT 블로그>

 

 

깃허브 코파일럿이 개발자 일자리를 위협할까?

깃허브 코파일럿이 출시되었을 때 ‘인공지능이 개발자의 일자리를 뺏지 않을까?’ 하는 우려가 있었습니다. 하지만, 개인적으로 지금까지 깃허브 코파일럿을 사용하면서 느낀 바로는 인공지능이 개발자의 일자리를 위협할 정도가 되려면 아직 한참 멀었다고 생각합니다. 개발자라는 직업이 단순히 코드를 짜는 일 외에도, 시스템 분석 및 설계, 데이터베이스, 네트워크, 보안, 비즈니스 커뮤니케이션 등등 많은 일들을 하기 때문인데요.

 

따라서 깃허브 코파일럿이 개발자를 완전히 대체하기보다 조력자(assistant) 정도의 역할을 이어가지 않을까 싶습니다. 다만, 단순 코딩 업무(ex. 간단한 function 개발 등)는 앞으로 깃허브 코파일럿이 차츰 대체해 나갈 것으로 예상됩니다.

 

깃허브 코파일럿은 수많은 개발자가 작성한 코드를 인공지능이 학습한 결과물입니다. 깃허브에서는 public한 소스 코드만 학습했다고 하지만, 여전히 다른 개발자가 만든 코드에 관한 저작권 문제 등 풀어야 할 숙제가 많아 보입니다. 다만 이런 부분들이 잘 해결된다면 앞으로 개발 생태계에 큰 영향을 줄 수 있을 것으로 보입니다.

 

 

깃허브 코파일럿의 미래

지금까지 깃허브 코파일럿에 대해서 알아보고 개발 생산성 측면에서 어떤 장단점이 있는지 살펴봤습니다. 과거에는 택시 운전기사들이 서울 시내 지리를 달달 외어서 운전하던 시절이 있었죠. 그런데 지금은 일반인 운전자들도 내비게이션 도움을 받아 서울 시내에서 손쉽게 목적지를 찾아갈 수 있습니다. 이처럼 깃허브 코파일럿도 전반적인 프로그래밍을 이해하는 개발자가 어떤 특정 언어의 문법을 달달 외우지 않고도 개발할 수 있게 도움을 줄 것으로 예상됩니다. 개인적인 생각으로는 깃허브 코파일럿 같은 인공지능을 잘 활용할 수 있는 능력이 개발자 역량 중 하나로 부각되는 시대가 올 것 같아 앞으로의 미래가 기대됩니다.

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

댓글 0

곰씨네 IT 블로그

곰씨네 IT 블로그(https://gomcine.tistory.com)를 운영 중인 개발자. 한국에서 소프트웨어 엔지니어로 일하다 지금은 미국 동부로 이주하였으며, 주로 웹 개발과 IT 동향에 대한 주제로 글을 공유하고 있습니다.

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.