Official release of Github copilot (Review of Use)
시작하기전
Copilot이 정식 출시가 되었다. 예전부터 관심 있던 프로젝트라 주의 깊게 봤다. 2021, 2022년 두 번에 걸쳐 Copilot 글을 블로그에 작성한 적이 있다. AI 자동 프로그래밍 (GitHub Copilot) , GitHub Copilot 저 당시에는 Copilot가 베타 테스트였다. 미리 신청한 사람만 해볼 수 있었는데 현시점에는 모든 사람이 사용할 수 있다고 깃허브 측에서 발표했다. 노코딩 AI 도구인 Copilot은 누구든 사용할 수 있고 Copilot 비용은 한 달에 $10 혹은 1년에 $100이다. 인기 있는 오픈 소스 프로젝트에 참여하는 학생과 관리자에게는 무료로 제공된다. 혹은 학생 인증을 받았다면 무료로 사용이 가능하다.
기술 부분
No-coding인 Copilot은 개발자에게 한층 더 편리하게 다가왔다. OpenAI의 GPT-3에서 나온 Codex와 Github의 데이터베이스로 구축된 Copilot 프리뷰 기간 당시에는 120만 명이 가입했으며 현재 코드의 40%는 Copilot에 의해 작성되고 있다. OpenAI Codex가 공개적으로 사용할 수 있는 자연어, 소스 코드를 학습을 시켜 사람이 사용하는 언어와 프로그래밍 언어 모두 작동을 할 수 있다. IED 확장은 Context에 따라 전송된다.
GitHub Copilot is generally available to all developers 의 블로그를 참고 하자면 Thomas Dohmke 깃허브 최고경영자에 따르면 “With GitHub Copilot, for the first time in the history of software, AI can be broadly harnessed by developers to write and complete code. Just like the rise of compilers and open source, we believe AI-assisted coding will fundamentally change the nature of software development, giving developers a new tool to write code easier and faster so they can be happier in their lives.”
“소프트웨어 역사상 처음으로 GitHub Copilot을 사용하면 개발자가 AI를 광범위하게 활용하여 코드를 작성하고 완성할 수 있습니다. 컴파일러와 오픈 소스의 등장과 마찬가지로 AI 지원 코딩은 소프트웨어 개발의 본질을 근본적으로 변화시켜 개발자에게 더 쉽고 빠르게 코드를 작성할 수 있는 새로운 도구를 제공하여 더 행복한 삶을 살 수 있도록 할 것이라고 믿습니다.”
사용 방법
Copilot은 Visual Studio, Visual Studio Code, Neovim, JetBrains IDE에서 사용할 수 있다. Visual Studio 기준으로 vscode extension 형태로 제공하는데 extension에서 Copilot을 검색한 뒤 설치하면 된다.
이렇게 설치하면 밑에 sing in to Github이 뜬다. 그러면 Sing in to GitHub을 누른 뒤 로그인만 하면 쉽게 로그인이 가능하다.
이렇게 로그인만 하면 바로 Copilot가 가능 하다.
Copilot은 주석 처리한 뒤 자신이 원하는 것을 작성하면 Copilot이 인식하고 그에 맞는 코드를 보여 준다. 만약 자신이 필요한 코드라면 탭을 눌러 완성 시켜 주면 된다. 이렇게 한 번에 끝나는 코드도 있고 한줄 한줄 인공지능으로 추천해 주는 경우도 있다. 혹은 개발자가 작성 중인 코드의 문맥을 분석한 뒤 스스로 코드를 보여 주기도 한다. 이에 따라 주석에서 실행한 명령어만으로도 프로젝트를 완성 시킬 수도 있고 간단한 게임 또한 만들 수 있다.
설치 하다 문제점
Copilot을 설치하고 실행하려고 했지만 역시나 문제가 발생했다. 바로 실행이 안 된다고 했다.
오류가 뜬 이유를 보니 vscode 업데이트의 문제였다. 문제 해결은 아주 쉬웠다. This link를 눌러 다시 다운로드하여 설치해도 괜찮고.
Code를 눌러 업데이트를 확인하여 업데이트를 진행하면 된다. 이렇게 업데이트를 진행하면 바로 copilot을 사용할 수 있다. 생각보다 단순한 오류니, 업데이트하고 사용하면 된다. 포기하지 마십쇼
사용 후기
우선 사용해 보니까 편리한 건 사실이다. 하지만 코드를 전혀 모르는 사람이 사용하기에는 문제가 있다. 또한 Research: quantifying GitHub Copilot’s impact on developer productivity and happiness 블로그의 글을 참고 하여 작성 했습니다. Eirini Kalliamvakou 작성자에 따르면 2,000명 이상의 개발자를 대상으로 설문 조사한 결과 개발자의 생산 속도가 높아지고 만족도가 60%~70%가 향상되었다고 한다. 또한 정신적인 에너지를 낭비하지 않아도 된다고 한다. 마지막으로 Copilot을 사용하지 않으면 2백 이상 느리게 개발하게 된다. 따라서 Copilot을 사용하므로 편리한 것은 사실이다. “Copilot을 사용한 개발자는 작업을 완료하는데 평균 1시간 11분이 걸렸고 GitHub Copilot을 사용하지 않은 개발자는 평균 2시간 41분이 걸렸다.”
- 개발자의 만족도가 향상 됬됐으며 60~75%가 Copilot을 사용 사용했을 때 더 만족하고 작업에 더 집중을 할 수 있다고 한다.
- Copilot이 흐름을 유지하고(73%) 반복적인 작업 동안 정신적 노력을 보존하는 데 도움이 되었다고 한다.
- Copilot을 사용 사용하여 작업을 할더 빨리 완료한다고 90% 이상이 보고 했다.
- Copilot을 사용한 개발자가 GitHub Copilot을 사용하지 않은 개발자보다 55% 더 빠르게 작업을 완료
Research: quantifying GitHub Copilot’s impact on developer productivity and happiness 한번 읽어 보는것을 권장 합니다.
구독제..?
다행히도? 학생은 무료로 사용할 수 있게 해준다고 한다.
Free for verified students and maintainers of popular open source projects
GitHub Copilot wouldn’t be possible without GitHub’s vibrant community of students and creators. To support and give back to those communities, we’re making GitHub Copilot available for free to verified students and maintainers of popular open source projects.
If you’re a student and want to participate in the program, apply for the GitHub Student Pack to get started. And if you’re an open source maintainer, check out our FAQ to see if you qualify to start using GitHub Copilot at no cost.
깃허브 Copilot은 깃허브의 활기찬 학생과 크리에이터 커뮤니티가 없었다면 불가능했을 것이다. 이러한 커뮤니티를 지원하고 돌려주기 위해, 우리는 GitHub Copilot을 인기 있는 오픈 소스 프로젝트의 검증된 학생과 유지 관리자들이 무료로 사용할 수 있도록 만들고 있습니다.
학생이고 프로그램에 참여하고 싶다면 GitHub 학생 팩을 신청하여 시작하십시오. 또한 오픈 소스 유지 관리자인 경우 GitHub Copilot을 무료로 사용할 수 있는 자격이 있는지 확인하려면 FAQ를 확인하십시오.
앞으로의
많은 개발자가 copilot 서비스가 출시 되었을 때 우려와 혹은 새로운 기술이 나와 희비가 갈리는 현상이 있었다. 이제 개발자도 인공지능으로 자리를 뺏길까 봐 많은 우려가 있었지만, 개인적인 입장으로는 copilot가 개발자의 일자리를 위협할 정도는 아니라고 생각한다. 물론 블로그 글이 올라간 뒤 몇 년이 지나면 말이 달라질 수도 있고 엄청난 업그레이드로 많은 변화가 있을 수도 있다. 하지만 우선 코드를 알고 이해해야 copilot도 사용이 가능하고 개발자는 코드만 짜는 것이 아닌 여러 일들을 하므로 앞으로 우리가 다른 일에도 집중할 수 있게끔 단순 코드를 짜는 것은 우리에게 많은 도움을 줄 거라고 확실하고 믿고 있다.
장점 혹은 단점
작성 중인 글에도 많이 나오는 이야기지만 개발하다 보면 모든 코드를 직접 작성 하는 개발자도 있지만 모든 코드를 직접 작성하는 일은 드물다. 대부분 오픈소스 즉 기존에 누군가가 작성해둔 코드를 가져오거나 Stack Overflow에 질문 혹은 코드를 참고해서 작성한다. 이러한 부분에서 Copilot은 내가 직접 코드를 찾아보지 않아도 추천해 주는 코드를 작성할 수 있기 때문에 시간 측면에서 많은 도움을 얻을 수 있고 확실히 코드를 작성할 때 피로감이 줄어드는 것을 볼 수 있다.
다만 아직 완벽하지 않아 오류가 날 때도 있고 원하는 코드가 안 나올 때도 있으며 한 번에 완벽한 코드 제시를 못 하는 건 사실이다. 또한 개인적인 날짜 등이 나오기도 한다. 내가 코드를 잘 모르고 사용한다면 컴파일할 시 오류가 날 수도 있고 코드를 다시 수정해야 하는 의미로 더 피로감이 몰려오고 마이너스가 될 수 있다.
하지만 이러한 부분은 점점 더 학습하고 한 단계씩 발전해 나가면 되는 문제이다. 앞으로 더 좋아질 것이라 믿고 있으며 몇 년 뒤 내가 이렇게 블로그에 작성한 것이 부끄러워질 수도 있는 날이 올 것이다.
찬성 vs 반대
장단점이 있다. 그리고 대부분이 걱정했던 문제는 인공지능이 개발의 영역까지 들어와 개발자의 일자리를 뺏을까 봐 많은 개발자가 우려했다. 하지만 개인적인 생각은 copilot이 개발자의 일자리를 뺏으려면 한참 남았다고 생각하며 copilot은 개발자와 경쟁 관계가 아닌 개발자 옆에서 도와줄 수 있는 든든한 조력자로 생각하면 편할 거 같다. 또한 개발자의 일자리를 뺏을 수 없는 이유 중 하나는 개발자는 코드만 짜는 것이 아닌 구축부터 설계 네트워크 보안등 많은 일들을 해야 한다. 앞으로 우리의 든든한 assistant로 많이 성장할 거 같아서 많은 이들이 찬성하는 분위기이다. 처음 출시 되었을 때는 반대의 여론이 많았지만 한 번씩 사용해 보면 많이들 생각이 바뀐다.
결론
앞서 얘기했듯이 copilot은 정말 큰 도움이 된다. 만약 개발자가 코드를 어느 정도 사용할 수 있고 인공지능이 추천한 코드를 제대로 이해할 수 있다면 copilot은 선택이 아닌 필수라고 생각이 든다. 왜냐하면 개발 생산성을 눈에 띄게 높일 수 있고 코드를 짜면서 힌트를 얻는 기분이 들어 조력자 한 명이 내 옆에서 계속 도와주는 느낌이라 피로감이 정말 현저히 낮아진다. 개인적으로 개발 속도가 2백 이상 빨라진 건 아니지만, 예전에 일일이 찾아보고 이해하는 시간보다 빨라진 것은 사실이다. 개인적으로 AI 모델을 많이 봤지만 나에게 가장 필요하고 앞으로 더 성장 가능성이 보이는 인공지능이다. 그래서 더욱 기대된다. 그리고 앞으로 나와 copilot의 케미가 좋아질 거라 믿는다. python코드를 많이 사용하는 개발자라면 한번 경험해보시면 좋을것 같습니다.
참고 자료
GitHub Copilot is generally available to all developers
읽어 보면 좋은 글
깃허브, 코덱스 기반 노코딩 AI ‘코파일럿’ 정식 출시
Github Copilot: 개발자를 위한 AI 기반의 강력한 자동 완성 도구
댓글남기기