본문 바로가기
AI

[AI] GitHub Copilot 사용법 (1) - Copilot이란?

by 노력남자 2023. 4. 11.
반응형

주변 개발자분들하고 ChatGPT 얘기를 하다가 Copilot이라는 녀석을 알게됐다.

 

사용해보니 세상이 진짜 빠르게 좋아지긴 하는구나라는 생각이 들었다.

 

개발자가 이제 필요없어지는 세상이 오려나... 가보자!

 

GitHub Copilot이란?

 

 

GitHub Copilot · Your AI pair programmer

GitHub Copilot works alongside you directly in your editor, suggesting whole lines or entire functions for you.

github.com

 

GitHub에서 OpenAI Codex를 사용해서 만든 AI 페어 프로그래머다. 위는 GitHub Copilot 공식사이트이며 공식 사이트에서 나온 정의를 번역하면 아래와 같다.

 

GitHub Copilot은 코드 작성 중 자동완성 스타일의 제안을 제공하는 AI 페어 프로그래머입니다. GitHub Copilot은 사용하려는 코드를 작성하거나 코드가 수행해야 하는 작업을 설명하는 자연어 주석을 작성하여 제안을 받을 수 있습니다. GitHub Copilot은 편집 중인 파일과 관련 파일에서 맥락을 분석하고 텍스트 편집기 내에서 제안을 제공합니다. GitHub Copilot은 OpenAI가 만든 새로운 AI 시스템인 OpenAI Codex에 의해 구동됩니다.

 

GitHub Copilot은 공개 저장소에 나타나는 모든 언어로 훈련되었습니다. 각 언어에 대한 제안의 품질은 해당 언어에 대한 훈련 데이터의 양과 다양성에 따라 다를 수 있습니다. 예를 들어, JavaScript는 공개 저장소에서 잘 나타나 있으며, GitHub Copilot에서 가장 잘 지원되는 언어 중 하나입니다. 공개 저장소에서 대표성이 덜한 언어는 덜 정확하거나 덜 견고한 제안을 생산할 수 있습니다.

 

그래서 뭐하는 녀석인데?

 

 

공식 사이트에 있는 예를 가져와 설명하겠다.

 

자바 라이브러리인 Math.isPrime(int)의 테스트를 작성하고 싶어서 IsPrimeTest 클래스 안에 위와 같은 주석을 작성하면?

 

 

위와 같은 테스트 코드를 작성해준다. 시간이 오래 걸리지도 않는다 거의 바로 나온다고 보면된다.

 

주석이 아니어도 메소드명만 보고도 자동으로 만들어준다.

 

예를 들어, isPrime이라고 메소드명만 작성해도 소수 판단 로직이 바로 쭈르륵 작성된다.

 

내가 그동안 작성한 코드를 분석해 코드를 작성해준다. 너무 좋다. 진짜로.

 

어떤 데이터를 이용했고, 어떻게 이런 게 가능한 거지?

 

GitHub에 있는 public repositiory에 있는 코드와 인터넷에 공유되어 있는 코드를 OpenAI에서 개발한 GPT 모델인 Codex에 학습시킨 결과라고 한다.

 

Copilot을 사용하면 어떤 장점이 있을까?

 

 

  1. 일에 더 집중을 할 수 있다.
  2. 빠르게 코드를 작성할 수 있다.
  3. 어렵고 큰 문제를 해결할 수 있다.
  4. 중간에 흐름이 끊기지 않는다.
  5. 반복업무의 효율이 올라간다. << 이게 제일 좋은 장점인듯, 단순 반복 코드 작성이 정말 피로감을 많이 주기 때문

 

Copilot이 지원하는 언어는 뭐가 있을까?

 

언어만 지원하는 게 아니라 프레임워크도 지원해준다.

 

  • Python
    • Flask
    • Django
    • NumPy
    • SciPy
    • Pandas
    • Matplotlib
    • TensorFlow
    • Scikit-learn
    • NLTK
    • FastAPI
    • AWS Lambda
    • Pygame
  • JavaScript / TypeScript
    • React
    • Angular
    • Vue.js
    • Node.js
    • Express.js
    • Next.js
    • Nest.js
    • Electron
    • Jest
    • Mocha
    • Cypress
    • React Native
    • Redux
    • Webpack
    • GraphQL
    • Three.js
  • Ruby
    • Ruby on Rails
    • RSpec
    • Sinatra
  • Go
    • Gin
    • Beego
    • Echo
    • Buffalo
  • C#
    • .NET
    • ASP.NET
    • NUnit
    • xUnit
    • Unity
  • Java
    • Spring
    • JUnit
    • Maven
    • Android
  • PHP
    • Laravel
    • Symfony
    • PHPUnit
    • CodeIgniter
    • CakePHP
  • Rust
    • Rocket
    • Serde
    • Tokio
  • Kotlin
    • Ktor
    • Spring
    • Android
    • Gradle
  • Swift
    • SwiftUI
    • Combine
    • Alamofire

 

Copilot은 어떻게 사용할 수 있을까?

 

 

현재는 Azure Data Studio, Visual Studio, Neovim, VS Code, JetBrains IDEs 총 5개의 IDE에서 지원한다.

 

앞으로 더 추가될 예정이라고 한다.

 

각 IDE에서 사용하는 방법은 공식 사이트에서 확인할 수 있다.

 

 

GitHub Copilot 시작 - GitHub Docs

기본 설정 환경에 확장을 설치하여 GitHub Copilot 사용을 시작할 수 있습니다.

docs.github.com

 

Copilot 요금제별 금액 및 특징

 

Copilot Individual

 

 

Copilot Individual은 개인이 쓰는 요금제다. 첫 달은 공짜고 그 다음부터 월 10$다. 연간권은 20$ 할인해줘서 100$다.

 

Individual은 Copilot이 코드를 수집해 간다.

 

아래 기능을 지원한다.

(이미지 보면 기능이 거의 없어보이지만 개인한테 필요한 대부분은 지원해준다. 없어 보이게 일부러 써논듯)

 

- 코드 작성

- 챗

- CLI assistance

- 라이센스 코드 필터링

 

Copilot Business

 

 

Copilot Business는 기업에서 쓰는 요금제다. 월 19$다. Team, Enterprise 깃 계정이 있어야 구매 가능하다.

 

아래 기능을 지원한다.

 

- Copilot Individual 기능 전부

- 코드 내 보안 취약점 필터링

- 지적 재산권 보호 (코드 수집 X)

- 정책 관리

- 감사 로그

 

Copilot Enterprise

 

 

Copilot Enterprise는 2024년 2월에 나오는 새로운 기업 요금제다. 월 39$다. 2월에 나온다고 바로 사용할 수 있는 게 아니라 사용 요청을 하고 대기해야 한다. 

 

이전 요금제들은 기존 학습된 내용 기반이고, Enterprise 요금제는 회사 코드를 학습시켜 특화된 AI를 만드는 게 목적으로 보인다.

 

아래 기능을 지원한다.

 

- Copilot Business 기능 전부

- 내 코드 기반 챗

- 문서 검색 및 요약

- pr 요약

- 코드 리뷰

- Fine-tuned 모델 << 회사 코드를 학습 시키는 기능

 

 

나는 JetBrains의 IntelliJ, DataGrip, PyCharm에 적용해서 사용 중이며 사용 방법은 다다음 포스팅에 정리할 예정이다.

 

다음 포스팅은 GitHub Copilot을 사용하기 전 반드시 알아야 하는 것들에 대해 정리하겠다.

반응형

댓글