Note
As GitHub Copilot Extensions estão em versão prévia pública e sujeitas a alterações.
Uma habilidade no GitHub Copilot é uma ferramenta que o modelo chama para executar uma tarefa específica em resposta a uma consulta de usuário. Um conjunto de habilidades é uma coleção dessas habilidades (até cinco por conjunto de habilidades). Github Copilot skillsets são uma maneira simplificada de estender a funcionalidade do GitHub Copilot permitindo pontos de extremidade da API que o Copilot pode chamar. Com conjuntos de habilidades, os criadores podem habilitar Copilot para executar tarefas — como recuperar dados ou executar ações em serviços de terceiros — sem a necessidade de gerenciar fluxos de trabalho ou arquitetura complexa.
Para obter um exemplo de início rápido de um conjunto de habilidades, confira o repositório skillset-example. Para obter informações sobre como criar um conjunto de habilidades, confira Criando conjuntos de habilidades do Copilot.
Diferenças entre conjuntos de habilidades e agentes
Conjuntos de habilidades e agentes são as duas maneiras de estender as funcionalidades e o contexto do Copilotpor meio do Copilot Extensibility Platform. 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 "Sobre os agentes do Copilot".
A plataforma de extensibilidade
Conjuntos de habilidades e agentes operam na GitHub Copilot Extensibility Platform, que gerencia o fluxo de solicitações de usuário e avaliações de função. Com Copilot skillsets, a plataforma cuida do roteamento, da criação de prompts, das chamadas de função e da geração de prompts.
Visão geral do fluxo de trabalho
A plataforma de extensibilidade segue um fluxo de trabalho estruturado para processar solicitações de usuário e gerar respostas:
-
Solicitação de usuário
Um usuário emite uma solicitação na interface do Copilot Chat, por exemplo, solicitar dados ou executar uma ação específica. -
Roteiros
A solicitação é roteada para a extensão apropriada. Para os conjuntos de habilidades, isso significa que o agente da plataforma identifica e invoca o conjunto de habilidades correspondente com base na intenção do usuário. A descrição da inferência de cada habilidade ajuda a plataforma a determinar qual habilidade chamar. -
Criação de prompt dinâmico
O GitHub Copilot gera um prompt usando:- A consulta do usuário.
- O histórico de conversa relevante.
- Funções disponíveis no conjunto de habilidades.
- Resultados de qualquer chamada de função anterior.
-
Conclusão de LLM
O LLM (modelo de linguagem) processa o prompt e determina:- Se a intenção do usuário corresponde a uma função do conjunto de habilidades.
- Quais funções chamar e com quais argumentos.
- Se necessário, o LLM poderá enviar chamadas de função adicionais para coletar mais contexto.
-
Avaliação da função
A extensão invoca as funções selecionadas, que podem envolver:- Coleta de contexto relevante, como o repositório ou metadados do usuário do Copilot skillsets.
- Fazer uma chamada à API para um serviço externo para recuperar dados ou executar uma ação.
-
Geração de resposta A plataforma refina iterativamente a saída, executando loops por meio de criação de prompt, conclusão de LLM e avaliação de função conforme necessário. Depois que o processo for concluído, o Copilot transmitirá uma resposta final de volta ao usuário na interface de chat.