본문 바로가기
기타/정보

깃허브 copilot에 대한 정보

by minchel1128 2021. 8. 1.

copilot은 부조종사를 의미하는 용어로 조종에 보조하는 역할을 담당하고 있습니다. 깃허브 copilot은 OpenAI의 GPT-3을 이용해 프로그래머가 보다 편리하게 내부 구조를 구현할 수 있도록 도와주는 시스템입니다. 현재는 Visual Studio code에서 다운로드 가능한 콘텐츠로 되어있으며 현재는 베타 버전으로 가입 이후에 사용이 가능합니다.

깃허브 copilot은 이름에서 나오듯 깃허브에서 개발한 짝 프로그램 시스템으로 2021년 6월 29일 첫 공개가 되었습니다. 깃허브 copilot은 깃허브에 공개로 기여된 많은 프로그램 코드들을 OpenAI의 시스템인 Codex를 이용하여 인공지능이 코드들을 학습하도록 하였고 프로그래머의 의도를 파악하여 내부에 최적화된 구조를 제안하는 방식으로 되어있습니다.

예시 사진들은 모두 깃허브 공식 설명 페이지인 https://copilot.github.com/ 에서 가져왔습니다.

해당 페이지에 들어가면 가장 먼저 보이는 화면으로 여기서 사용자가 직접 작성한 부분은 import부분과 def에서 주석 부분까지만 작성하였고 아래의 반복문과 조건문, 그에 따른 변수들, 반환 값은 인공지능이 작성한 부분입니다.

그래서 위의 예시처럼 더 빠르게 작업할 수 있도록 도와주도록 설계되어있습니다.

 

해당 부분은 주석을 작성하면 해당 주석을 이해하고 그에 맞는 코드를 입력하는 부분입니다.

데이터를 넣어보면 알겠지만 귀찮은 작업 중 하나가 약간 값이 다르지만 모두 선언해 주어야 하는 시간과 같은 항목인데 해당 예시에서는 초와 분 부분만 적고 나서 나머지 시간, 일, 주, 월, 년은 인공지능이 넣은 부분입니다.

또한 테스트 관련 코드를 인공지능이 깃허브에 있는 테스트 코드들을 찾아서 알아서 넣는 모습도 보여줍니다.

0123

그리고 만약 제안하는 코드가 마음에 들지 않는 경우가 생길 수 있는데 이 경우 다음과 이전을 선택하여 원하는 코드를 입력할 수 있도록 되어있습니다.

 

아직 베타 버전이기 때문에 현재 Q&A를 보면 깃허브 측에서도 해당 기능이 부족하다는 것을 인정하고 있습니다. 즉 해당 코드들은 일종의 제안이긴 하지만 전체 코드들 중 일부만 확인하여 제안을 하므로 컴파일 오류가 발생할 수 있으며 기본적으로 영어로 된 주석은 잘 인식하지만 그 이외의 언어로 작성된 주석의 경우 제대로 인식 못할 가능성이 높습니다. 그리고 간혹 공개된 코드의 개인정보를 가져올 수도 있으며 사용률이 적은 API 등을 사용하는 경우 코드를 이해하지 못하는 경우도 있다고 합니다. 또한 기존의 깃허브 공개 프로젝트에서 사용된 코드들을 기반으로 하므로 보안 취약성 등이 있을 수 있다고 말하고 있습니다. 그리고 현재 기술적으로 개발 도중이므로 일부만 접근해 사용이 가능하지만 이후 상용 프로그램 혹은 유로 프로그램을 개발해 배포할 예정이라고 하며 현재 혹은 앞으로도 피드백을 통해 성능을 개선할 수 있다고 되어있습니다. 그리고 AI로 제안된 코드들의 소유권은 AI가 가지는 게 아닌 사용자가 소유권을 가진다고 합니다.

현재는 제한적이면서 완벽하지는 않지만 해당 기능은 프로그래머의 생산성을 증대시키는 한편 프로그래밍을 공부하지 않은 컴퓨터 언어만 공부해온 일명 코더들의 자리를 충분히 위협할 수 있는 시스템이라고 보입니다. 그래서 해당 기능이 유료화되면서 더욱 완성도가 높아지게 된다면 나중에는 일자리 문제까지도 생길 수 있다고 생각됩니다. 깃허브 copilot은 현재 마이크로소프트의 행동으로 보면(깃허브는 이전에 마이크로소프트에 인수되었습니다.) 기존의 깃허브처럼 제한이 있는 무료 버전과 풀버전의 구독제 유료버전이 나오지 않을까 추정됩니다. 

추후 더 공개되는 정보가 있다면 다른 게시글로 추가로 안내드리겠습니다.

나중에 승인 신청 방법과 사용법을 따로 게시하도록 하겠습니다.

728x90
반응형