오늘날 세계에서 인공지능 기술은 놀라운 속도로 발전하고 있으며 인공 지능은 우리 삶의 필수적인 부분이 되고 있습니다. 최근 GitHub는 Copilot(코파일럿)이라는 흥미로운 도구를 선보였는데, 이는 업계 내에서 큰 파장을 일으키고 있습니다. 코딩에 대한 열정과 AI에 대한 관심이 있는 고등학생으로서 이 놀라운 코딩보조도구를 리뷰하고 싶었습니다. 이 게시물에서는 GitHub Copilot에 대한 생각과 코딩 환경에 대한 잠재적 영향에 대해서 이야기합니다.
GitHub Copilot은 널리 사용되는 IDE에 포함되어 개발자가 코드를 더 빠르고 효율적으로 작성할 수 있도록 지원하는 AI 기반 코딩 도우미입니다. Open AI에서 만든 Codex라는 언어 모델을 사용하였으며, 깃허브에 업로드 되어있는 수많은 소스코드를 학습하여 만들어졌습니다. 그리고 주석, 함수명 등을 입력하면 이를 파악하여 작성해야 할 소스코드를 마치 검색어 자동 완성 기능처럼 제시해줍니다. 이 기능은 마치 지식이 풍부한 프로그래밍 파트너가 필요할 때 언제든지 도와줄 준비가 되어 있는 것과 같습니다.
Github Copilot의 가장 큰 장점은 깃허브에 업로드된 엄청난 양의 소스코드를 참고하기 위해 검색하거나 레포지토리에서 일일이 확인해야할 필요 없이, 가장 도움이 될 만한 부분을 ai가 자동으로 추천하여 제시해준다는 점입니다. 이는 현재 마주한 코딩문제를 해결해준다는 것 뿐만 아니라, 근본적인 검색 시간을 단축시켜 전반적인 코딩소요시간을 단축시키는 효과를 일으킵니다.
그러나, 아직 인공지능의 학습이 덜 된건지, 깃허브 코파일럿은 완벽한 코드를 제시해주진 못합니다. 간혹 개발자의 코드를 잘못 이해하고, 상당 부분 수정이 필요해보이는 코드를 제시하기도 합니다. 시니어 개발자처럼 코드에 대한 이해를 가지고 코파일럿의 코드를 가려서 사용할 수 있으면 괜찮겠지만, 만약 개발자가 코파일럿의 코드를 이해하지 못하고 잘못된 해석을 한다면 개발과정, 실력 발전에 있어서 오히려 독이 될 수도 있습니다.
Github Copilot은 누구에게 유용할까요?
앞서 얘기했듯이, Copilot이 제시한 코드를 제대로 이해하지 못한다면 Copilot을 사용하는 실질적인 이익은 별로 없습니다. 마치 스택오버플로우에서 이해하지도 못하는 소스코드를 복붙하는 것과 비슷하죠.
따라서 개발경험이 적은 주니어 개발자나 새로운 언어를 배우는 개발자에게 Github Copilot은 오히려 독이 될 가능성이 높습니다. 반면 해당 프로그래밍 언어에 익숙하거나 경험이 풍부한 시니어 개발자에게는 깃허브 코파일럿을 개발보조도구로 사용하여 개발 생산성을 눈에 띄게 높일 수 있을 것입니다.
깃허브 코파일럿은 개발자를 완전히 대체할 수 있을까요?
제 생각에는 인공지능이 현재 개발자의 자리를 위협할 정도는 아니지만, 미래에는 혹시라도 거의 대부분의 영역을 대체할 수도 있지 않을까 예상합니다. 개발자라는 직업이 단순히 소스코드를 짜는 것 뿐만 아니라 설계, 보안, 커뮤니케이션 등 다른 많은 일들도 하기 때문입니다.
따라서 깃허브 코파일럿은 개발자 옆에서 도움을 주는 개발보조도구의 역할을 이어가지 않을까 예상합니다. 다만, 점점 발전하면서 간단한 소스코드 작성(ex. 간단한 함수 작성)은 스스로 할 수 있을 것 같습니다.