This article is designed to help you build an entirely new GitHub Copilot 확장. To instead learn how to quickly build and test a demo Copilot 확장 created by GitHub, see Quickstart for GitHub Copilot Extensions using agents.
기술 세트와 에이전트는 Copilot 확장성 플랫폼을 통해 Copilot의 기능과 컨텍스트를 확장하는 두 가지 방법입니다. 외부 서비스와 API를 Copilot 채팅에 통합할 수 있지만 각각 다른 사용 사례를 제공하고 다양한 수준의 제어와 복잡성을 제공합니다.
- 기술 세트는 Copilot가 최소한의 설정으로 특정 작업(예: 데이터 검색이나 간단한 작업)을 수행해야 하는 개발자를 위해 가볍고 간소화되었습니다. 라우팅, 프롬프트 작성, 함수 평가, 응답 생성을 자동으로 처리하므로 빠르고 간단한 통합에 적합합니다. For more information about skillsets, see About skillsets for Copilot Extensions.
- 에이전트는 요청이 처리되고 응답이 생성되는 방식을 완전히 제어해야 하는 복잡한 통합을 위한 것입니다. 사용자 지정 논리를 구현하고, 다른 LLM 및/또는 Copilot API와 통합하고, 대화 컨텍스트를 관리하고, 사용자 상호 작용의 모든 측면을 처리할 수 있습니다. 에이전트는 더 많은 엔지니어링과 유지 관리가 필요하지만, 정교한 워크플로를 위한 최대 유연성을 제공합니다. 에이전트에 대한 자세한 내용은 About agents for Copilot Extensions을(를) 참조하세요.
1. Learn about Copilot 에이전트
Copilot 에이전트 contain the custom code for your Copilot 확장, and integrate with a GitHub App to form the Copilot 확장 itself. For more information, see About agents for Copilot Extensions.
To successfully build a Copilot 에이전트, you need to understand how the agent communicates with:
- The Copilot platform using server-sent events. See Configuring your Copilot agent to communicate with the Copilot platform.
- The GitHub API. See Configuring your Copilot agent to communicate with GitHub.
2. Review example Copilot 에이전트 and the Copilot 확장 SDK
To see the previous concepts in practice and learn about agent implementations, review the following example agents and software development kit (SDK), all of which are available in the copilot-extensions
organization:
- Blackbeard (best starting point): A simple agent that responds to requests like a pirate using Copilot's large language model (LLM) API and special system prompts.
- GitHub Models: A more complex agent that lets you ask about and interact with various LLMs listed on the GitHub Marketplace through Copilot 채팅. The GitHub Models agent makes use of function calling.
- Function Calling: An example agent written in Go that demonstrates function calling and confirmation dialogs.
- RAG Extension: An example agent written in Go that demonstrates a simple implementation of retrieval augmented generation.
- Preview SDK: An SDK that streamlines the development of Copilot 확장 by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code.
3. Build a Copilot 에이전트
Using the reference material from the previous steps, plan and build your Copilot 에이전트. You can choose to implement any of the following options:
- To avoid building and managing your own LLM deployment, your agent can call the Copilot LLM deployment. See Using Copilot's LLM for your agent.
- To quickly interpret user input and choose from a variety of predefined functions to execute, you can implement function calling in your agent. To learn more, see How to use function calling with Azure OpenAI Service in the Azure OpenAI documentation and Function calling in the OpenAI documentation.
4. Deploy your Copilot 에이전트
To make your Copilot 에이전트 accessible to the Copilot platform and GitHub, you need to deploy it to a server that is reachable by HTTP request. See Configuring your server to host your Copilot extension.
5. Create a GitHub App and integrate it with your Copilot 에이전트
To create a Copilot 확장, you need to create and configure a GitHub App, then integrate it with your Copilot 에이전트. See Creating a GitHub App for your Copilot Extension and Configuring your GitHub App for your Copilot extension.
6. Choose the availability of your Copilot 확장
Choose one of two visibility levels for your Copilot 확장:
- Public: Any user or organization account with the installation page link for the extension can install it.
- Private: Only the user or organization account that created the extension can install it.
If you make your Copilot 확장 public, you can then choose to list it on the GitHub Marketplace.
To learn how to change the visibility of your Copilot 확장 and list it on the GitHub Marketplace, see Managing the availability of your Copilot Extension.
Next steps
To learn how to use your Copilot 확장, see Using extensions to integrate external tools with Copilot Chat.
1. Learn about Github Copilot 기술 세트
Github Copilot 기술 세트 contain the custom code for your Copilot 확장, and integrate with a GitHub App to form the Copilot 확장 itself.
Unlike Copilot 에이전트, Copilot 기술 세트 handle the logic behind prompt crafting, function evaluation, and response generation, making them an ideal choice for developers seeking quick and effective integrations with minimal effort. For more information, see About skillsets for Copilot Extensions.
2. Build a Copilot 기술 세트
To explore an example of a skillset implementation, see the skillset-example repository in the copilot-extensions
organization.
To build a skillset, see Building Copilot skillsets.
3. Deploy your Copilot 기술 세트
To make your Copilot 기술 세트 accessible to the Copilot platform and GitHub, you need to deploy it to a server that is reachable by HTTP request. See Configuring your server to host your Copilot extension.
4. Create a GitHub App and integrate it with your Copilot 기술 세트
To create a Copilot 확장, you need to create and configure a GitHub App, then integrate it with your Copilot 기술 세트. See Creating a GitHub App for your Copilot Extension and Configuring your GitHub App for your Copilot extension.
5. Choose the availability of your Copilot 기술 세트
Choose one of two visibility levels for your Copilot 확장:
- Public: Any user or organization account with the installation page link for the extension can install it.
- Private: Only the user or organization account that created the extension can install it.
If you make your Copilot 확장 public, you can then choose to list it on the GitHub Marketplace.
To learn how to change the visibility of your Copilot 확장 and list it on the GitHub Marketplace, see Managing the availability of your Copilot Extension.
Next steps
To learn how to use your Copilot 확장, see Using extensions to integrate external tools with Copilot Chat.