GitHub Copilot은 GitHub와 OpenAI가 개발한 코드 완성 및 프로그래밍 AI 어시스턴트로, Visual Studio Code, Visual Studio, Neovim, Eclipse 및 JetBrains 통합 개발 환경(IDE) 사용자들이 코드를 자동 완성할 수 있도록 지원한다. 현재 개인 개발자와 기업을 대상으로 구독 서비스로 제공되는 이 생성형 AI 소프트웨어는 2021년 6월 29일 GitHub에 의해 처음 발표되었다. 사용자는 코드 생성에 사용할 대규모 언어 모델을 선택할 수 있다.
2022년 6월 21일, GitHub는 Copilot이 기술 미리 보기 단계를 벗어나 개인 개발자를 위한 구독 기반 서비스로 제공된다고 발표했다. 이 일반 공급은 소프트웨어 개발 분야에서 생성형 AI 채택의 전환점이 되었으며, AI 페어 프로그래밍을 주류 관행으로 이끌었다.
역사 및 개발
GitHub Copilot은 2021년 6월 29일 Visual Studio Code 개발 환경을 위한 기술 미리 보기로 처음 발표되었다. 이 도구는 2021년 10월 29일 JetBrains 마켓플레이스에 플러그인으로 출시되었으며, Neovim 플러그인은 2021년 10월 27일 공개 저장소로 이어졌다. GitHub는 2022년 3월 29일 Visual Studio 2022 IDE용 Copilot 제공을 발표했다.
2022년 6월 21일의 일반 공급 릴리스는 개인 개발자를 위한 구독 모델을 도입했으며, 학생과 인기 있는 오픈소스 프로젝트의 유지 관리자에게는 무료 티어를 제공했다. 기업은 중앙 집중식 관리 및 정책 제어 기능이 포함된 별도의 플랜을 구매할 수 있었다.
GitHub Copilot은 2014년 2월에 출시된 Visual Studio 2013용 Bing Code Search 플러그인의 진화된 형태로, 이는 마이크로소프트 연구 프로젝트였다. 해당 플러그인은 MSDN 및 Stack Overflow를 포함한 소스와 통합되어 자연어 쿼리에 응답하여 상황에 맞는 코드 스니펫을 제공했다.
기능
Copilot은 자연어로 프로그래밍 문제가 제공되면 솔루션 코드를 생성할 수 있다. 또한 입력 코드를 영어로 설명하고 프로그래밍 언어 간 코드를 번역할 수 있다.
Copilot은 개발자가 OpenAI의 GPT 모델, 앤트로픽의 Claude, xAI의 Grok, Google의 Gemini를 포함한 여러 대규모 언어 모델(LLM) 중에서 선택할 수 있게 한다. 이러한 유연성 덕분에 개발자는 성능, 비용 또는 특정 작업 요구 사항에 따라 모델을 선택할 수 있다.
웹사이트에 따르면 GitHub Copilot에는 코드 주석을 실행 가능한 코드로 변환하는 기능, 코드 덩어리, 반복적인 코드 섹션, 전체 메서드 또는 함수의 자동 완성과 같은 프로그래머를 위한 보조 기능이 포함되어 있다. GitHub는 Copilot의 자동 완성 기능이 약 절반의 경우에 정확하다고 보고한다. 예를 들어 일부 Python 함수 헤더 코드의 경우 Copilot은 첫 시도에서 함수 본문 코드의 나머지 부분을 43%의 확률로, 10회 시도 후에는 57%의 확률로 올바르게 자동 완성했다.
GitHub는 Copilot의 기능을 통해 프로그래머가 문서를 읽는 데 소요되는 시간을 줄여 익숙하지 않은 코딩 프레임워크와 언어를 탐색할 수 있다고 밝힌다.
구현
GitHub Copilot은 처음에 OpenAI Codex로 구동되었으며, 이는 GPT-3의 수정된 프로덕션 버전이다. Codex 모델은 또한 수십 개의 프로그래밍 언어로 작성된 수 기가바이트의 소스 코드로 추가 훈련되었다. Copilot의 OpenAI Codex는 영어, 공개 GitHub 저장소 및 기타 공개적으로 사용 가능한 소스 코드의 선택된 데이터로 훈련되었으며, 여기에는 5,400만 개의 공개 GitHub 저장소에서 수집된 159GB의 Python 코드 필터링 데이터셋이 포함된다. OpenAI의 GPT-3는 GitHub의 모회사인 Microsoft에 독점 라이선스가 부여되어 있다.
2023년 11월, Copilot Chat은 OpenAI의 GPT-4 모델을 사용하도록 업데이트되었다. 2024년에는 Copilot이 사용자가 Gemini 및 Claude를 포함한 다양한 대규모 언어 모델 중에서 선택할 수 있게 되었다.
2025년 2월 6일, GitHub는 Copilot의 보다 자율적인 작동 모드인 에이전트 모드를 발표했다. 프로그래밍 작업이 주어지면 사용자 컴퓨터의 Visual Studio 인스턴스에서 명령을 실행하여 작업을 수행하려고 시도한다. 에이전트 모드는 GPT-4o, o1, o3-mini, Claude 3.5 Sonnet 및 Gemini 2.0 Flash를 포함한 다양한 LLM에 연결할 수 있다.
2025년 5월 17일, GitHub는 보다 자율적인 작동 모드인 코딩 에이전트를 발표했다. 사용자가 Copilot에 작업 또는 이슈를 할당하면 Copilot은 클라우드에서 개발 환경을 초기화하고(GitHub Actions로 구동) 요청을 수행한다. 작업 중에 초안 풀 리퀘스트를 작성하고 커밋을 초안에 푸시한다. 요청을 완료한 후 코드 검토를 위해 사용자에게 태그를 지정한다. 이는 본질적으로 에이전트 모드의 비동기 버전이다.
반응
Copilot 출시 이후 보안 및 교육적 영향에 대한 우려와 함께 생성된 코드에 대한 라이선스 논란이 제기되었다.
라이선스 논란
GitHub CEO 냇 프리드먼은 2021년 6월 공개 데이터로 ML 시스템을 훈련하는 것은 공정 사용이라고 밝혔지만, 2022년 11월에 제기된 집단 소송은 이를 순전한 추측이라고 주장하며 공개 데이터로 ML 시스템을 훈련하는 것이 공정 사용인지 여부를 고려한 법원은 없다고 단언했다. Joseph Saveri Law Firm, LLP의 소송은 GitHub 사용자와의 계약 위반부터 CCPA에 따른 개인 식별 정보 공유로 인한 개인정보 보호 위반까지 여러 주장으로 Copilot의 합법성에 이의를 제기한다.
GitHub는 도구 출력의 일부가 그대로 복사될 수 있음을 인정하며, 이로 인해 출력 코드가 공정 사용으로 분류되기에 충분히 변형적이지 않아 원저작권자의 저작권을 침해할 수 있다는 우려가 제기되었다. 2022년 6월, Software Freedom Conservancy는 Copilot이 훈련 데이터에 사용된 코드 라이선스를 무시한다고 비난하며 자체 프로젝트에서 GitHub의 모든 사용을 중단하겠다고 발표했다. 고객 지원 메시지에서 GitHub는 공개적으로 사용 가능한 데이터로 기계 학습 모델을 훈련하는 것이 기계 학습 커뮤니티 전반에서 공정 사용으로 간주된다고 밝혔지만, 집단 소송은 이를 거짓이라고 주장하며 이 개념이 기계 학습 커뮤니티에서 어느 정도 수용되든 연방법에 따라 불법이라고 추가로 지적했다.
2026년 9월 16일, 미국 제9순회 항소법원은 디지털 밀레니엄 저작권법(DMCA)에 따른 원고의 주장 기각을 유지했다. 법원은 원고가 GitHub Copilot과 OpenAI의 Codex가 기존 저작물에서 저작권 관리 정보를 제거하거나 변경했다는 것을 입증하지 못했다고 판단했으며, 시스템이 해당 정보를 포함하지 않는 새로운 저작물을 생성한다는 이유를 들었다. 이 판결은 원고가 피고가 오픈소스 라이선스 조건을 위반했다는 별도의 주장을 해결하지는 않았다.
개인정보 보호 우려
Copilot 서비스는 클라우드 기반이며 GitHub Copilot 서버와의 지속적인 통신이 필요하다. 이러한 불투명한 아키텍처는 원격 측정 및 개별 키 입력의 데이터 마이닝에 대한 우려를 불러일으켰다.
2022년 말, GitHub Copilot이 작성자 표시나 라이선스 없이 Quake 게임 소스 코드를 출력한 것으로 비난받았다.
소프트웨어 개발에 미치는 영향
2022년 6월 GitHub Copilot의 일반 공급은 일상적인 프로그래밍 워크플로우에 대규모 언어 모델 통합을 가속화했다. 이는 코드 생성에서 기계 학습의 실용적인 응용을 입증했으며 구글의 Gemini 기반 어시스턴트 및 오픈AI의 Codex를 포함한 다른 회사의 유사한 도구 개발에 영향을 미쳤다.
Copilot의 성공은 ChatGPT 및 Stable Diffusion과 같은 출시와 함께 더 광범위한 생성형 AI 붐에 기여했다. 이는 AI 지원 개발 도구의 벤치마크가 되었으며 프로그래밍 교육의 미래와 소프트웨어 엔지니어링에서 자동화의 역할에 대한 논의를 촉발했다.
같이 보기
참고 자료
출처 사실은 Wikipedia(CC BY-SA)에서 제공됨.
외부 링크
공식 웹사이트: https://github.com/features/copilot