A skill within GitHub Copilot is a tool that the model calls to perform a specific task in response to a user query. A skillset is a collection of these skills (up to five per skillset). Conjuntos de habilidades do Github Copilot provide a streamlined way to extend Copilot’s functionality, allowing builders to integrate external services or custom API endpoints into their Copilot workflow. With skillsets, builders can enable Copilot to perform tasks—such as retrieving data or executing actions in third-party services—without needing to manage complex workflows or architecture.
For a quickstart example of a skillset, see the skillset-example repository. For information on building a skillset, see Criando conjuntos de habilidades do Copilot.
How skillsets and agents differ
Conjuntos de habilidades e agentes são as duas maneiras de estender as funcionalidades e o contexto do Copilotpor meio do Plataforma de Extensibilidade do Copilot. Eles permitem que você integre serviços externos e APIs ao Copilot Chat, mas cada um deles atende a diferentes casos de uso e oferece diferentes níveis de controle e complexidade:
- Conjuntos de habilidades são leves e simplificados, projetados para desenvolvedores que precisam do Copilot para executar tarefas específicas (por exemplo, recuperação de dados ou operações simples) com configuração mínima. Eles lidam com roteamento, criação de prompts, avaliação de função e geração de resposta automaticamente, tornando-os ideais para integrações rápidas e simples.
- Agentes são para integrações complexas que precisam de controle total sobre como as solicitações são processadas e as respostas são geradas. Eles permitem que você implemente a lógica personalizada, integre-se a outras LLMs e/ou à API do Copilot, gerencie o contexto da conversa e lide com todos os aspectos da interação do usuário. Embora os Agentes exijam mais engenharia e manutenção, eles oferecem flexibilidade máxima para fluxos de trabalho sofisticados. Para saber mais sobre agentes, confira About agents for Copilot Extensions.
The extensibility platform
Skillsets and agents both operate on the Plataforma de extensibilidade do GitHub Copilot, which manages the flow of user requests and function evaluations. With Conjuntos de habilidades do Copilot, the platform handles routing, prompt crafting, function calls and prompt generation.
Workflow overview
The extensibility platform follows a structured workflow to process user requests and generate responses:
-
User request
A user issues a request in the Copilot Chat interface, such as asking for data or executing a specific action. -
Routing
The request is routed to the appropriate extension. For skillsets, this means the platform agent identifies and invokes the corresponding skillset based on the user’s intent. Each skill’s inference description helps the platform determine which skill to call. -
Dynamic Prompt Crafting
GitHub Copilot generates a prompt using:- The user’s query.
- Relevant thread history.
- Available functions within the skillset.
- Results from any prior function calls.
-
LLM Completion
The language model (LLM) processes the prompt and determines:- Whether the user’s intent matches a skillset function.
- Which function(s) to call and with what arguments.
- If required, the LLM may send additional function calls to gather more context.
-
Function Evaluation
The extension invokes the selected function(s), which may involve:- Gathering relevant context, such as Conjuntos de habilidades do Copilot repository or user metadata.
- Making an API call to an external service to retrieve data or execute an action.
-
Response generation The platform iteratively refines the output, looping through prompt crafting, LLM completion, and function evaluation as needed. Once the process is complete, Copilot streams a final response back to the user in the chat interface.