기능
이 가이드에서는 Copilot SDK 애플리케이션에 추가할 수 있는 기능을 다룹니다. 각 가이드에는 지원되는 언어(TypeScript, Python, Go, .NET, Java 및 Rust)의 예제가 포함되어 있습니다.
에이전트 루프
Copilot CLI가 사용자 메시지를 엔드투엔드로 처리하는 방식: 프롬프트부터 session.idle까지.
클라우드 세션
클라우드 세션은 Mission Control을 통해 GitHub에서 호스팅되는 컴퓨팅 리소스에서 Copilot 작업을 실행합니다. 앱이 사용자의 컴퓨터 또는 서버에서 로컬 Copilot CLI 세션을 시작하는 대신 원격으로 실행되는 세션을 만들어야 할 때 사용합니다.
사용자 정의 에이전트 및 하위 에이전트 오케스트레이션
범위가 지정된 도구 및 프롬프트를 사용하여 특수 에이전트를 정의한 다음, Copilot 단일 세션 내에서 하위 에이전트로 오케스트레이션하도록 합니다. 여러 하위 에이전트를 병렬로 디스패치하려면 플릿 모드을 참조하세요.
플릿 모드
플릿 모드는 독립적인 하위 에이전트 간에 분할할 수 있는 작업에 대한 Copilot 병렬 오케스트레이션 패턴입니다. 런타임 연구 노트에서는 플릿 모드를 "task 도구를 통해 여러 하위 에이전트를 병렬로 파견하고, SQL 작업 항목을 공유 조정 상태로 삼는 런타임의 기본 제공 패턴"이라고 설명합니다. 한 부모 세션이 여러 작업자를 조정하고, 결과를 수집하고, 결합된 컨텍스트와의 대화를 계속해야 하는 경우 사용합니다.
후크를 사용한 작업
후크를 사용하면 시작되는 순간부터 각 사용자 프롬프트와 도구 호출을 거쳐 종료되는 순간까지 Copilot 세션의 모든 단계에 사용자 지정 논리를 연결할 수 있습니다. 이 가이드에서는 핵심 에이전트 동작을 수정하지 않고 사용 권한, 감사, 알림 등을 제공할 수 있도록 실제 사용 사례를 안내합니다.
이미지 입력
Copilot 세션에 이미지를 첨부 파일로 보냅니다. 이미지를 연결하는 방법에는 두 가지가 있습니다.
GitHub Copilot SDK에서 MCP 서버 사용
Copilot SDK는 MCP 서버(모델 컨텍스트 프로토콜)와 통합되어 외부 도구로 도우미의 기능을 확장할 수 있습니다. MCP 서버는 별도의 프로세스로 실행되며 Copilot 대화 중에 호출할 수 있는 도구(함수)를 노출합니다.
플러그 인 디렉터리
플러그 인은 SDK 확장(기술, 후크, MCP 서버, 사용자 지정 에이전트 및 LSP 구성)을 단일 매니페스트 뒤에 번들로 묶는 디렉터리입니다. 플러그 인 디렉터리에서 SDK를 가리키면 플러그 인이 기여하는 모든 항목이 로드되므로 모든 호스트 애플리케이션에서 확장별 배선을 작성하지 않고도 재사용 가능한 기능 팩을 제공할 수 있습니다.
원격 세션
원격 세션을 사용하면 사용자가 사용 제어 통해 GitHub 웹 및 모바일에서 Copilot 세션에 액세스할 수 있습니다. 사용하도록 설정하면 SDK는 각 세션을 Mission Control에 연결하여 링크 또는 QR 코드로 공유할 수 있는 URL을 생성합니다.
Session limits
Session limits let an application set an AI Credits budget for a Copilot session. Use sessionLimits when creating or resuming a session to set a soft cap for the current accounting window.
세션 다시 시작 및 지속성
이 가이드에서는 SDK의 세션 지속성 기능(작업을 일시 중지하고, 나중에 다시 시작하고, 프로덕션 환경에서 세션을 관리하는 방법)을 안내합니다.
사용자 지정 기술
스킬은 Copilot의 기능을 확장하는 재사용 가능한 프롬프트 모듈입니다. 디렉터리에서 기술을 로드하여 특정 도메인 또는 워크플로에 대해 Copilot 특수한 기능을 제공합니다.
조향 및 대기열 관리
에이전트가 이미 작업 중인 동안에도 사용자가 메시지를 보낼 수 있게 하는 두 가지 상호작용 패턴이 있습니다. 방향 조정은 현재 턴 도중 에이전트의 진행 방향을 바꾸고, 대기열 처리는 현재 턴이 완료된 후 순차적으로 처리할 수 있도록 메시지를 버퍼링합니다.
스트리밍 세션 이벤트
Copilot 에이전트 수행하는 모든 작업(생각, 코드 작성, 실행 도구)은 구독할 수 있는 session 이벤트로 내보내집니다. 이 가이드는 각 이벤트 유형에 대한 필드 수준 참조이므로 SDK 원본을 읽지 않고도 예상되는 데이터를 정확하게 알 수 있습니다.