Skip links

GitHub Copilot – 혁신적인 개발 어시스턴트의 등장

GitHub Copilot은 2021년 6월에 ChatGPT를 개발한 OpenAI와 Microsoft 산하의 개발자 플랫폼인 GitHub가 손을 잡고 선보인 혁신적인 개발 도우미로, 개발자들 사이에서 큰 관심을 받고 있습니다.

이 서비스는 GPT-3 모델을 기반으로 하여 사용자가 코드를 작성할 때 개발 속도를 높이기 위한 도구로 사용합니다.

쉽게 설명하면 내가 만드는 프로그램을 GitHub에서 누군가가 만들어 놓은 프로그램을 검색하고, 자동 반영해주는 “AI 기반 개발 소스 코드 추천 도우미“라고 보시면 됩니다.

 

예를 들어 함수 이름을 작성하거나 주석문을 잘 입력할 경우 자동으로 Github에 등록되어 있는 코드 리스트를 보여주며 개발자는 어떤 것을 고를 것인지 선택만 하면 코드가 즉시 반영이 됩니다.

이를 통해 개발자들은 반복적이고 일상적인 작업에서 벗어나 더 창의적이고 복잡한 작업에 집중할 수 있게 됩니다.

Copilot을 지원하는 프로그램은 Visual Studio, Visual Studio Code, Vim, InteliJ 등 전세계 개발자들이 가장 많이 사용하는 프로그램에서 Plugin 형태의 프로그램을 설치하여야 서비스 지원을 받을 수 있으며, 기업에게는 유료 버전으로 제공되며 학생에게는 무료로 사용할 수 있도록 해주고 서비스를 하고 있습니다.

이러한 GitHub Copilot의 장단점은 다음과 같습니다.

* 장점:

  1. 생산성 향상: Copilot은 코드 작성을 보다 빠르고 효율적으로 만들어줍니다. 개발자는 자동 생성된 코드를 활용하여 반복적이고 일상적인 작업에서 벗어나 더 복잡하고 창의적인 부분에 집중할 수 있습니다.
  2. 다양한 언어 지원: Copilot은 다양한 프로그래밍 언어와 프레임워크를 지원하여 사용자가 선호하는 언어로 코딩할 수 있도록 합니다.
  3. 학습과 지속적인 업데이트: GPT-3 기반의 Copilot은 사용자의 입력과 피드백을 기반으로 계속 학습하며, GitHub은 지속적으로 서비스를 업데이트하여 새로운 언어와 기능을 추가합니다.
  4. 코드 예시 제공: Copilot은 사용자가 입력하는 컨텍스트를 이해하고, 해당 컨텍스트에 적합한 코드 예시를 제공함으로써 사용자의 코딩 능력을 지원합니다.

* 단점:

  1. 정확성 문제: 자동 생성된 코드는 항상 정확하지 않을 수 있습니다. 사용자는 Copilot이 제안하는 코드를 신중하게 검토하고 수정해야 합니다.
  2. 보안 문제: Copilot이 생성한 코드가 보안적으로 취약할 수 있습니다. 특히, 안전성이 중요한 응용 프로그램에서는 사용자가 직접 코드를 검토하고 보완해야 합니다.
  3. 의존성 문제: Copilot에 지나치게 의존하면 개발자가 자신의 능력을 향상 시키는 데 도움이 되는 경험을 놓치게 될 수 있습니다.
  4. 라이선스 문제: Copilot을 사용하면 생성된 코드가 해당 코드의 라이선스에 따라야 합니다. 이는 상용 소프트웨어나 오픈 소스 프로젝트에서 주의가 필요한 부분입니다.

GitHub Copilot은 혁신적인 기술로 개발자들에게 새로운 경험과 기회를 제공하지만,

사용자는 이러한 장점과 단점을 함께 고려하여 적절히 활용해야 합니다. 이 서비스는 개발자들 간에 다양한 의견을 불러일으키고 있습니다.

앞으로 GitHub Copilot이 어떻게 발전해 나갈 지에 대한 기대와 관심이 계속해서 높아지고 있습니다.

 

필자가 써본 예로는 공개적으로 알려져 있는 알고리즘 (퀵 소트, 피보나치수열 등) 의 이름만 입력해도 코드가 자동으로 완성되는 것을 확인할 수 있습니다.

다만 지원되는 코드가 100% 다 쓸 수 있는 코드가 아니며, 에러가 발생하는 코드도 다수 포함 되어져 있어 개발자가 수작업이 다시 소스코드를 수정해가며 적용을 해야 합니다.

 

Copilot은 개발 도우미로서 내가 부족한 부분에서는 많은 도움을 주고 있지만, 어디까지나 참고만 할 뿐 개발자 대신 AI가 사람을 대처하기 까지는 좀 더 시간이 걸릴 것으로 보여집니다.

그러나 공상과학에서나 볼 수 있었던 사람을 대신하는 날이 아주 먼 미래가 아닌 것은 분명해 보이는 것 같습니다.