Skip to main content

Copilot 확장 정보

Copilot 확장의 개발 프로세스에 대해 알아봅니다.

누가 이 기능을 사용할 수 있나요?

Copilot Pro, Copilot Pro(프로)+, Copilot Free 플랜을 구독 중인 모든 사용자는 Copilot 확장를 이용할 수 있습니다.

Copilot Business 또는 Copilot Enterprise 플랜을 보유한 조직 또는 엔터프라이즈의 경우 조직 소유자 및 엔터프라이즈 관리자는 Copilot 확장에 대한 액세스 권한을 부여할 수 있습니다.

Copilot 확장는 현재 GitHub Enterprise Server에 사용할 수 없습니다.

Copilot 확장 정보

Copilot 확장는 Copilot 채팅의 기능을 확장하여 개발자가 외부 도구, 서비스, 사용자 지정 동작을 채팅 환경으로 가져올 수 있도록 하는 통합입니다. Copilot 확장를 사용하여 다음과 같은 다양한 방법으로 Copilot 채팅의 기능을 확장할 수 있습니다.

  • 문서 쿼리: Copilot 확장을 사용하면 Copilot 채팅에서 타사 설명서 서비스를 쿼리하여 특정 항목에 대한 정보를 찾을 수 있습니다.
  • AI 지원 코딩: Copilot 확장은 타사 AI 모델을 사용하여 코드 제안을 제공할 수 있습니다.
  • 데이터 검색: Copilot 확장을 사용하면 Copilot 채팅에서 타사 데이터 서비스를 쿼리하여 특정 항목에 대한 정보를 찾을 수 있습니다.
  • 작업 실행: Copilot 확장을 사용하면 Copilot 채팅에서 메시지 보드에 게시하거나 외부 시스템에서 추적 항목을 업데이트하는 등의 특정 작업을 실행할 수 있습니다.

GitHub Copilot 확장는 GitHub Apps을 사용하여 빌드됩니다. GitHub의 플랫폼 간 호환성 및 앱 관리와 지원을 원하는 개발자에게 가장 적합합니다.

지원되는 클라이언트 및 IDE

클라이언트 및 IDEGitHub Copilot 확장 지원
Visual Studio Code
Visual Studio
GitHub.com
GitHub Mobile
JetBrains IDE
GitHub Codespaces
Vim/Neovim
CLI의 Copilot
Xcode

GitHub Copilot 확장 표시 여부

GitHub Copilot 확장는 비공개, 공개 및 공유 가능 또는 공용일 수 있으며 GitHub Marketplace에 나열됩니다. 선택한 표시 여부 옵션은 사용 사례 및 대상 그룹에 따라 달라집니다.

  • 비공개 확장은 다음과 같은 대기업 또는 회사에서 선호되는 경우가 많습니다.
    • 데이터 액세스에 대한 더 많은 사용자 지정 및 제어를 원합니다.
    • 대량의 내부 문서 및 데이터베이스와 통합해야 합니다.
    • 엄격한 보안 정책을 사용하여 타사에 대한 권한 부여를 어렵게 만듭니다.
  • 공개 확장은 다음에 적합합니다.
    • 오픈 소스 프로젝트
    • 기업 내 조직 간 공동 개발 및 사용
    • GitHub Marketplace에 게시하기 전에 도구 공유 및 피드백 받기
  • GitHub Marketplace 확장은 다음을 수행하려는 타사에 적합합니다.
    • 더 광범위한 대상에게 서비스 제공
    • GitHub 및 IDE의 개발자 워크플로에 도구 통합
    • GitHub 에코시스템을 활용하여 제품에 대한 인식 제고

GitHub Copilot 확장 권한

사용 권한은 확장에 따라 다르며, 쿼리에 응답하기 위해 확장에 필요한 권한 부여 수준에 따라 달라집니다. 청구 정보 단계 뒤와 설치 및 권한 부여 단계 전에 위치한 확장의 설치 페이지에서 필요한 권한을 볼 수 있습니다.

확장 사용자의 경우: 최소한 Copilot 채팅 권한을 "Read-only"로 설정해야 합니다. 추가 권한에는 다른 화면에서 쓰기 작업을 실행하고 GitHub에서 리포지토리 및 조직 수준 데이터에 대한 읽기 액세스 권한을 부여하는 작업이 포함될 수 있습니다.

확장 작성자의 경우: 위에 언급한 내용 외에도 사용자의 편집기에서 로컬 컨텍스트를 요청하여 응답을 추가로 조정할 수도 있습니다. 이렇게 하려면 Copilot 편집기 컨텍스트 사용 권한을 "읽기 전용"으로 설정해야 합니다. 사용자에게는 필요한 권한 부여를 제공하라는 알림이 표시됩니다.

GitHub App 사용 권한에 대한 자세한 내용은 GitHub 앱의 권한 선택을(를) 참조하세요.

조직 리소스에 액세스할 수 있는 권한 부여

개별 Copilot 구독이 있는 사용자는 Copilot 확장을 설치하고 사용할 수 있습니다. Copilot Business 또는 Copilot Enterprise 구독이 있는 사용자의 경우 조직 관리자가 이 기능을 사용하도록 설정해야 합니다.

조직 관리자만 Copilot 확장에 조직 리소스에 대한 액세스 권한을 제공할 수 있습니다.

조직 구성원에게 액세스 권한을 부여하려면 조직 관리자가 다음을 수행해야 합니다.

  • 익스텐션 설치
  • 특정 리포지토리에 액세스할 수 있는 확장 권한 부여
  • 모든 리포지토리 또는 특정 리포지토리에 대한 액세스 권한 부여

엔터프라이즈 수준에서 액세스 제어

엔터프라이즈 관리자는 Copilot 확장 정책을 "사용 안 함"으로 설정하여 엔터프라이즈 전체에서 Copilot 확장를 사용하지 않도록 설정할 수 있습니다. "정책 없음" 설정을 사용하면 조직 관리자가 자체 정책을 설정할 수 있습니다.

아니요, 엔터프라이즈 수준에서 허용 목록 또는 차단 목록이 없습니다.

Copilot 확장과 데이터 공유

다음 데이터는 Copilot 확장와 상호 작용할 때 공유됩니다.

  • 계정에 연결된 데이터 및 Copilot 채팅 사용 내용(예: GitHub 사용자 ID 및 메시지 타임스탬프)입니다.
  • 확장을 호출하는 채팅 스레드 내의 과거 메시지입니다. 스레드당 하나의 확장만 사용할 수 있으므로 확장 간에 데이터 공유를 방지할 수 있습니다. 스레드 컨텍스트의 데이터 보존 기간은 30일입니다.
  • 조직 관리자가 확장에 대해 권한을 부여한 추가 조직 및 리포지토리 데이터. 확장을 설치하는 관리자는 설치를 완료하기 전에 필요한 권한에 대한 액세스를 승인해야 합니다.
  • GitHub의 Copilot 채팅의 경우, 관리자가 리포지토리 또는 조직 메타데이터에 액세스하도록 확장을 승인한 경우 해당 데이터도 공유됩니다.

기술 세트 및 에이전트 정보

기술 세트와 에이전트는 Copilot 확장성 플랫폼을 통해 Copilot의 기능과 컨텍스트를 확장하는 두 가지 방법입니다. 외부 서비스와 API를 Copilot 채팅에 통합할 수 있지만 각각 다른 사용 사례를 제공하고 다양한 수준의 제어와 복잡성을 제공합니다.

  • 기술 세트는 Copilot가 최소한의 설정으로 특정 작업(예: 데이터 검색이나 간단한 작업)을 수행해야 하는 개발자를 위해 가볍고 간소화되었습니다. 라우팅, 프롬프트 작성, 함수 평가, 응답 생성을 자동으로 처리하므로 빠르고 간단한 통합에 적합합니다. 기술 세트에 대한 자세한 내용은 Copilot 확장에 대한 기술 세트 정보을(를) 참조하세요.
  • 에이전트는 요청이 처리되고 응답이 생성되는 방식을 완전히 제어해야 하는 복잡한 통합을 위한 것입니다. 사용자 지정 논리를 구현하고, 다른 LLM 및/또는 Copilot API와 통합하고, 대화 컨텍스트를 관리하고, 사용자 상호 작용의 모든 측면을 처리할 수 있습니다. 에이전트는 더 많은 엔지니어링과 유지 관리가 필요하지만, 정교한 워크플로를 위한 최대 유연성을 제공합니다. 에이전트에 대한 자세한 내용은 About agents for Copilot Extensions을(를) 참조하세요.

컨텍스트 전달 정보

Copilot 확장는 GitHub App 설정에서 "Copilot Editor Context" 권한에 읽기 전용 액세스 수준을 사용하도록 설정하여 현재 열려 있는 파일과 같은 편집기에서 컨텍스트를 수신하도록 허용할 수 있습니다. GitHub App 구성의 10단계를 참조하세요.

암시적 컨텍스트와 명시적 컨텍스트를 사용할 수 없거나 권한이 없는 경우 GitHub Copilot 확장성 플랫폼은 자동으로 메시지를 처리합니다. 컨텍스트 전달을 사용하도록 설정하려면 사용자의 권한을 요청해야 합니다. 컨텍스트 전달을 사용하도록 설정하려면 다음을 수행해야 합니다.

  • 새 참조 형식을 처리하도록 API를 업데이트합니다.
  • 사용자에게 사용 권한을 요청합니다. 사용 권한을 요청할 때 다음 모범 사례를 따릅니다.
    • 필요한 컨텍스트와 사용 용도를 명확하게 전달합니다.
    • 사용자 고유의 애플리케이션 논리와 API가 호출하는 사용할 수 없는 컨텍스트에 대한 적절한 오류 처리를 구현합니다.
    • 컨텍스트를 사용할 수 없는 경우 이 데이터 없이 가능한 경우 값을 제공합니다.
    • 확장에 필요한 최소 권한만 요청합니다.

컨텍스트 전달은 .로 시작하는 파일을 포함하여 컨텍스트 제외 설정에 나열된 모든 파일을 참조하는 콘텐츠 제외를 적용합니다.

컨텍스트 전달에 대한 자세한 내용은 에이전트에 대한 컨텍스트 전달을(를) 참조하세요.

GitHub Copilot 확장의 API 사용

GitHub Copilot 확장를 빌드하려면 GitHub API를 사용해야 합니다. 필요에 따라 Copilot API를 추가 기능에 사용할 수 있습니다. 요청 및 응답 형식에 대한 자세한 내용은 OpenAI API 문서를 참조하세요.

참고 항목

Copilot API는 Copilot 확장 작성기에서 사용할 수 있지만, GitHub Apps 및 VS Code 채팅 확장은 이러한 엔드포인트에 액세스하는 데 사용할 수 있습니다.

GitHub Copilot 확장 빌드 리소스

GitHub은(는) 코드 샘플, CLI 디버깅 도구, 빠른 시작 SDK 및 사용자 피드백 리포지토리와 함께 확장 빌더를 위한 종합 도구 키트를 제공합니다. 자세한 내용은 GitHub의 Copilot 확장 조직을 참조하세요.

자체 GitHub Copilot 확장을 처음부터 만들기 전에 기존 Copilot 에이전트를 탐색하고 GitHub App과 통합하여 작동 방식을 확인할 수 있습니다. GitHub는 다음을 포함하여 사용자 고유의 GitHub Copilot 확장을 기준으로 복제하고 사용할 수 있는 몇 가지 예제 Copilot 에이전트를 제공합니다.

  • Blackbeard: Copilot 에이전트의 LLM API 및 특수 시스템 프롬프트를 사용하여 해적과 같은 요청에 응답하는 간단한 입니다. GitHub Copilot 확장을 빌드하는 방법을 배우기 위한 좋은 시작점입니다. 자세한 내용은 Blackbeard Copilot 확장을 참조하세요.

  • GitHub Models: Copilot 채팅 내에서 GitHub Marketplace에 나열된 다양한 LLM에 대해 질문하고 상호 작용할 수 있는 더 복잡한 Copilot 에이전트입니다. 자세한 내용은 GitHub Models Copilot 확장을 참조하세요.

    참고 항목

    GitHub Models은(는) 공개 미리 보기 버전이며 변경될 수 있습니다.

  • 함수 호출: 함수 호출 및 확인 대화 상자를 보여 주는 Go로 작성된 예제 에이전트입니다. 자세한 내용은 함수 호출 확장을 참조하세요.

  • RAG 확장: 검색 보강 생성의 간단한 구현을 보여 주는 Go로 작성된 예제 에이전트입니다. 자세한 내용은 RAG 확장을 참조하세요.

  • 미리 보기 SDK: 요청 확인, 응답 형식 지정, API 상호 작용을 처리하여 GitHub Copilot 확장를 빌드하는 프로세스를 간소화하는 SDK입니다. 이를 통해 작성자는 도구, API 및 데이터 원본을 Copilot 채팅에 통합하여 상용구가 아닌 확장의 핵심 기능에 집중할 수 있습니다. 자세한 내용은 미리보기 SDK을(를) 참조하세요.

Copilot-enabled VS Code chat participants 빌드 정보

참고 항목

GitHub 설명서는 Copilot-enabled VS Code chat participants가 아닌 GitHub Copilot 확장를 구축하는 데 중점을 둡니다.

Copilot-enabled VS Code chat participant라는 이름의 Visual Studio Code 전용 네이티브 Copilot 확장을 구축할 수도 있습니다.

GitHub Copilot 확장 및 Copilot-enabled VS Code chat participants 채팅 참가자는 동일한 백엔드 플랫폼을 사용하여 요청을 확장으로 라우팅합니다. 두 제품 모두 비슷한 최종 사용자 환경을 제공하고, Copilot 채팅와 통합되며, Copilot API나 기타 LLM을 활용할 수 있습니다.

이들은 유사점을 공유하지만 주요 차이점은 다음과 같습니다.

  • GitHub Copilot 확장는 확장이 지원되는 모든 편집기에서 사용할 수 있는 반면, Copilot-enabled VS Code chat participants는 Visual Studio Code에서만 사용할 수 있습니다.
  • GitHub Copilot 확장는 서버 측 확장이므로, 서버 인프라를 빌드해야 합니다. 이러한 확장은 조직 관리자가 설정한 대로 GitHub 작업 공간에 대한 기본 연결을 제공합니다.
  • Copilot-enabled VS Code chat participants는 VS Code의 기능과 API에 대해 더 많은 액세스 권한이 있는 클라이언트 쪽 확장으로, 로컬 워크스페이스 데이터 액세스, Visual Studio Code 인터페이스 조작, 로컬 파일에 대한 읽기/쓰기 액세스 등 편집기별 상호 작용이 더 많이 가능합니다. 서버 인프라가 필요하지 않습니다.
  • Copilot-enabled VS Code chat participants는 사용자 컴퓨터에 로컬이므로 GitHub.com에서 조직 또는 엔터프라이즈의 Copilot 정책을 통해 제어할 수 없습니다.
  • Copilot-enabled VS Code chat participants는 GitHub Marketplace가 아닌 VS Code Marketplace에 게시됩니다.

Copilot-enabled VS Code chat participants는 VS Code 특정 API 및 기능을 사용하는 확장을 구축하거나 기존 VS Code 확장자를 확장하려는 개발자에게 가장 적합합니다.

Copilot-enabled VS Code chat participants에 대한 자세한 내용은 Visual Studio Code 문서에서 채팅 확장을 참조하세요.

Copilot 확장에 대한 배상

Copilot 확장는 GitHub Copilot의 배상 정책에 포함되지 않습니다. 하지만 이 제외 는 확장 채팅 스레드 내에서 발생하는 문제에만 적용됩니다.

확장을 설치하고 사용해도 코드 완성, 채팅 등 다른 Copilot 기능을 사용하는 동안 발생하는 문제에 대한 배상 범위에는 영향을 미치지 않습니다.

추가 참고 자료