GitHub Copilot?

GitHub Copilot은 최신 인공지능(AI) 기술 중 하나로, 개발자들이 코드 작성 시에 자동 완성 기능을 제공하는 도구입니다. Copilot은 GPT 모델을 기반으로 하며, 자연어 처리(NLP)와 프로그래밍 언어 모델링 기술을 결합하여 개발되었습니다.

Copilot은 프로그래밍 언어의 문법, 라이브러리, 함수, 변수 등을 이해하고, 이를 활용하여 개발자에게 적절한 코드를 제안합니다. Copilot은 이를 위해 다양한 소스 코드와 프로그래밍 예제를 학습하여, 대규모 데이터셋을 생성하였습니다. 이후, 생성된 데이터셋을 토대로 개발자들이 작성하는 코드와 주어진 컨텍스트를 분석하여 유용한 코드를 제안합니다.

GitHub Copilot은 현재 Visual Studio Code와 같은 개발 툴에서 사용할 수 있으며, Python, JavaScript, TypeScript, Ruby, Go, Rust, C++, C#, Java 등 다양한 프로그래밍 언어를 지원합니다. 이를 통해 개발자들은 코드 작성 시간을 단축하고, 효율성을 높일 수 있습니다.

현재 Copilot은 60일의 트라이얼 기간을 주고 있습니다. 그 이후에는 월별로 19$의 비용이 듭니다. 자. 한번 테스트 해봅시다.

VS Code - GitHub Copilot 설치하기

GitHib Copilot은 VS Code MarketPlace에서 손쉽게 찾아보고 설치할 수 있습니다. 자세한 것은 GitHub의 공식문서를 참고 해 보면 좋습니다.

스크린샷 2023-03-12 오후 11.47.00

Django Model 만들기

제가 주로 사용하는 Django 모델 작성으로 테스트를 해봅니다. Video라는 클래스명을 작성하니 나머지 내용들을 자동으로 제안해 줍니다. 여러가지 제안 중 한 가지를 선택할 수 있습니다. VS Code 의 경우에는 “Option + [, ]”을 사용하면 됩니다.

스크린샷 2023-03-12 오후 11.34.48

하하. 얼마나 많은 사람이 Video 모델을 작성해 왔을까요?

Test 작성하기

코드를 작성하다 보면 Test 작성하는 것이 중요한것을 알면서도 귀찮은 일입니다.

  • 테스트 함수 명을 작성하는 것만으로 Video 모델에서 데이터를 가져와서 중요한 title 을 검사하는 테스트 내용을 작성해 줍니다.
  • 테스트를 위한 주석을 작성하면 테스트 함수명과 함수 내부를 자동으로 채워 줍니다.

스크린샷 2023-03-12 오후 11.44.26

Copilot과 함께 코딩하기가 Default가 될까? 개발자는 살아남을까?

점심을 먹으며, Copilot에 대한 이야기를 나누었습니다. Github Copilot과 같은 AI가 그 역할을 대신할 것이므로 코드는 더 이상 문제가 되지 않으며, 대신 모델과 비지니스 요구사항에 대한 이해와 분석만 남는것이 아닌가 하는 의견이 있었습니다. 그렇다고 하면 비즈니스 담당자가 스펙으로 부터 직접 프로그램을 생성할 것이기 때문에 프로그래머는 더 이상 필요하지 않게 되지 않을까요.

하지만 코드는 궁극적으로 기계에 대한 요구 사항을 표현하는 언어입니다. 모든 요구 사항들이 코드의 형태로 정의 되었을 때 요구되는 동작이 돌아갑닏. 결국 “작성된 스펙” 또는 “지시” 만으로 기대되는 모든 기능이 동작한다면 그것이 바로 코드입니다. 그리고 그 요구사항을 작성하는 사람이 프로그래머가 되겠죠.

조금 더 활용해 봐야겠지만, 보조도구로 Colilot은 훌륭해 보입니다. 하루가 다르게 달라지고 있는 AI를 보면 우리의 기대와의 갭은 더 빠르게 줄어들 것으로 보입니다. 보다 정확히는 종종 우리의 기대 보다 좋은 코드를 주겠죠. Copilot류의 도구들과 함께 개발하는 날은 멀지 않은 것 같습니다.