최근에는 개발자들이 더욱 빠르게 개발을 할 수 있도록 다양한 도구들이 제공되고 있습니다. 그 중에서도 ChatGPT와 Github Copilot은 매우 유용한 도구입니다.
ChatGPT는 매우 자연스러운 대화를 통해 구글 혹은 StackOverflow에 검색하는 시간을 단축해주고 있으며, Github Copilot은 반복되는 코드 스니펫을 자동으로 생성하여 생산성을 크게 향상시켜주고있습니다.
이번 글에서는 제가 위 두 도구를 모두 사용하며 얻고 있는 장점과 단점에 대해 알아보겠습니다.
사실 꽤나 크게 화제가 된 ChatGPT는 모르는 사람이 거의 없을 것이라고 생각합니다.
OpenAI에서 개발한 대화형 인공지능 언어 모델이며, 인간처럼 대화를 이어나가며 정보를 제공하고 질문에 답변하는 능력을 갖추고 있습니다.
얼마전 출시한 GPT-4는 최신 버전의 이 모델로, 이전 세대인 GPT-3보다 더 많은 학습 데이터와 더 큰 모델 규모를 사용하여 높은 성능과 정확도를 제공하고 있습니다.
저는 Google 혹은 Stackoverflow에 질문하던 내용들을 ChatGPT에 우선 질문하고, 거기서 만족하지 못할 때 추가로 Google에 검색하는 방식으로 사용을 하고 있습니다.
아래는 실제로 사용해 본 사례입니다.
가끔은 변수명이나 함수명 짓는데 도움을 구하기도 하는데, 이것도 꽤나 좋습니다.
회사에서 사용할 때는 주의해야합니다. API로 호출하지 않고 대화형 웹화면을 사용하는 경우, 대화 데이터를 기반으로 학습할 수 있는 보안 이슈가 있습니다.
이런 것을 우려하기에 현재 Open AI에서는 Opt-Out ( 거부 요청 ) 을 받고 있습니다. 아래의 구글 폼을 제출하면, Opt-Out이 가능합니다.
대부분의 답변의 경우 제대로된 답변을 주는 경우가 많지만, 단점 파트에서도 언급하였듯이 가끔씩 잘못된 정보를 주는 경우가 있습니다. 이는 어쩔 수 없는 학습형 모델의 한계이기 때문에, 사용할 때 꼭 검토가 필요로합니다.
Github Copilot은 Github에서 개발한 코드 자동완성 도구입니다. 다양한 프로그래밍 언어와 프레임워크를 지원하며, 개발자들의 생산성을 향상시키는 데 도움을 주고 있습니다.
위에서 설명한 ChatGPT와는 달리, IDE에서 바로 사용이 가능하며 현재 개발중인 코드 베이스를 학습하여 그것을 기반으로 코드를 자동완성해줍니다.
백엔드 개발자인 저는 DTO 작성 혹은 Documentation 만들기와 같이 귀찮은 작업들을 자주 하고있습니다. 하지만, Copilot과 함께한다면 저는 무섭지 않습니다. 이것을 Copilot이 잘 도와주거든요!
실제로 이렇게 Copilot이 추천해주기도합니다. ( f까지만 쳤는데, 이렇게 전부 완성해주는 Copilot 최고! )
근데 가끔 주석 같은 것을 자동완성하려고 할 때는 무섭습니다.
다른 사람들은 문제 해결 같은 도움도 얻고 있다고 했지만, 저는 그 정도의 도움까지는 얻지 못했습니다.
ChatGPT의 주의점에서 말했듯이, 회사에서 사용하는 경우 주의해야 할 것들이 있습니다.
라이센스 및 코드 유출 가능성과 같은 보안 이슈가 있기에, 사용전 회사의 검토가 필요하며 요즘 제공하고 있는 Github Copilot for Business 도입도 고민해보면 좋을 것 같습니다.
현재 저희 회사는 Github Copilot for Business를 도입하여 사용중입니다.
오늘은 ChatGPT와 Github Copilot에 대해 알아보았습니다. 몇몇 사람들은 ChatGPT GPT-4가 출시된 이후로 "개발자는 대체될 것이다"를 외치고 다니시는 것 같던데, 아직은 시기 상조가 아닌가 싶습니다.
개발자가 대체되기 시작하면 다같이 대체되지 않을까 싶기도합니다.
여튼 현재 ChatGPT와 Github Copilot은 개발자 모두의 생산성을 높여주는 툴로써 사용할 수 있으니, 모두 한 번 사용해봐도 좋다고 생각합니다!