코딩해주는 AI 코파일럿(Copilot), 개발자 실직 위기?
2021년 6월 29일 코딩해주는 AI 툴, 코파일럿(Copilot)이 공개되었습니다.
코파일럿(Copilot)이란?
Github와 OpenAI가 공동 개발한 인공 지능(AI)을 기반으로 코드를 자동 생성해주는 툴입니다.
Github는 소스 코드 관리(SCM, source code management)와 버전 컨트롤 툴인 git을 이용하는 오픈 소스 코드 저장소들을 호스팅 하는 웹서비스입니다. 자세한 개념은 아래 링크 참고해주세요.
OpenAI는 마이크로소프트가 2019년에 지원한 AI 연구 스타트업 회사입니다.
이 두 회사가 공동 개발해서 출시한 코파일럿을 좀 더 정확히 설명하자면 직접 작성해주는 툴이라기보다는, 개발자가 작성 중인 코드를 AI가 분석해서 적절한 코드를 제안해주는 서비스입니다.
이 행태의 서비스를 깃허브 CEO인 'Nat Friedman'은 코드를 작성할 수 있게 옆에서 도와준다는 의미로 "AI pair programmer"라 표현하고 있으며, 가상 버전의 형태입니다.
여기서 페이 프로그래밍(Pair programmer)이란 두 개발자가 동일한 프로젝트에서 협업하는 개발 방식입니다.
어떻게 사용하는가?
마이크로 VS Code(Visual Studio Code)의 익스텐션(extension) 형태로 사용 가능합니다. Codespaces처럼 VS Code가 작동하는 환경에서 사용이 가능합니다.
참고로 VS Code는 파이썬(Python), 자바스크립트(JavaScript)와 같은 코드를 작성하고 실행할 수 있는 에디터의 한 종류입니다. 각종 언어의 코드 작성, 디버깅 및 코드 실행 기능을 제공합니다. 일전에 소개드린 파이참과 같은 파이썬 에디터로 많이 사용되며 파이참보다 조금 더 가벼운 느낌의 에디터입니다.
하지만 VS Code는 IDE는 아니며 Codespaces의 경우는 Github에서 출시 예정인 클라우드 기반의 온라인 개발 환경입니다.
어떤 점들이 좋은가?
1. 코딩을 더 쉽게 해 주며 시간 단축
코파일럿을 활용하면, 이 코파일럿이라는 AI가 추천해주는 추천 코드를 이용하면 더 쉬운 코딩이 가능하며, 코딩 시간도 줄여줍니다.
오픈 API 공동설립자이자 최고 기술 책임자인 그렉 브록맨(Greg Brockman)에 따르면 "프로그래밍은 무언가를 어떻게 해야 하는지에 대한 아이디어를 생각해내고 그것을 구현하는 것이라며, 깃허브 코파일럿은 후자인 구현하는 것에 능숙하다"라고 말하며 그는 이 작업을 라스트 마일(last-mile) 프로그래밍이라고 일컬으며 컴튜터가 결국 속도를 향상할 수 있다고 설명했습니다.
2. 별도의 API 설명서가 필요 없다.
API 설명서가 필요 없습니다. AI는 이미 작업 중인 프레임워크(Framework)의 특정 기능들과 특성을 잘 알고 있기 때문입니다.
MS의 최고 기술 책임자인 케빈 스캇(Kevin Scott)은 이렇게 설명했습니다. "생산성을 높일 수 있는 도구를 얻기 위해 많은 문서를 꼼꼼히 살펴볼 필요가 없어진다"
3. 맥락 이해가 더 용이하다.
코파일럿은 오픈 AI의 GPT-3의 후속작인 코덱스(Codex)가 탑재되어 있습니다. 즉 공개코드 수십억줄을 학습했다는 말입니다. 이는 코드 패턴을 분석하고 반복되는 코드 라인을 자동으로 채워줍니다. 또 구현하고자 하는 함수를 테스트 할 수 있는 코드도 제안해 줍니다. 이 결과로 기존의 코드 자동완성 도구들보다 텍스트 맥락을 이해하는 속도가 훨씬 빠르고 용이합니다.
4. 영어로 작성하면 코드로 변환해주는 기능 제공
코파일럿은 구현하고자 하는 기능을 영어와 같은 자연어로 작성하더라도 이를 인식해서 적절한 코드로 변환해주기도 합니다. 새로운 언어를 배우고 있거나 해당 코드를 포함하는 도구를 사용해본 경험이 없다면 유용한 기능으로 보입니다.
기타:
코파일럿은 파이썬(Python), 자바스크립트(JavaScript), 타입 스크립트(TypeScript), 고(Go), 루비(Ruby)와 같은 프로그래밍 언어에서 더 잘 작동한다고 합니다.
경쟁 툴로는 'Kite'라는 스타트업이 있습니다. 이 업체는 코드 자동 완성 기능을 이용해서 코드 작성을 도와주는 서비스를 이미 출시한 바가 있습니다. 하지만 Kite는 코드를 '완성'하는 수준에 머물러 있으며 코파일럿처럼 많은 코드들을 '완성'후 '생성까지 해주는 수준은 아닌 것으로 판단하고 있습니다.
이 글의 다른 글 읽기
'Linux & GIT' 카테고리의 다른 글
git fetch --prune 명령 (0) | 2021.11.17 |
---|---|
VS Code 코파일럿(Copilot) Extention 설치 방법 (0) | 2021.07.27 |
git log --pretty 확장 옵션 예제 (0) | 2021.07.08 |
git log 명령 사용 - 커밋 히스토리 조회 방법들 (0) | 2021.07.07 |
git merge할때 발생하는 충돌 쉽게 이해하고 해결하기 (0) | 2019.06.20 |
댓글