Skip to main content

Sobre o agente de codificação do Copilot

Você pode atribuir issues do GitHub ao Copilot ou solicitar que o Copilot crie uma pull request.

Quem pode usar esse recurso?

O Agente de codificação do Copilot está disponível com os planos GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business e GitHub Copilot Enterprise. O acesso para avaliações do Copilot será disponibilizado em breve. O agente está disponível em todos os repositórios, exceto naqueles em que ele foi explicitamente desabilitado e repositórios de propriedade de contas de usuário gerenciadas.
Sign up for Copilot

Observação

Visão geral do Agente de codificação do Copilot

Com o Agente de codificação do Copilot, o GitHub Copilot pode funcionar independentemente em segundo plano para concluir tarefas, assim como um desenvolvedor humano.

O Copilot pode:

  • Corrigir bugs
  • Implementar novos recursos incrementais
  • Aprimorar a cobertura do teste
  • Atualizar a documentação
  • Resolver dívidas técnicas

Para delegar tarefas ao Copilot, você pode:

O Copilot avaliará a tarefa que foi atribuída com base no prompt que você fornecer a ele, seja na descrição do issue ou em uma mensagem de chat. Em seguida, o Copilot fará as alterações necessárias e abrirá uma pull request. Quando o Copilot terminar, ele solicitará uma revisão de você, e você poderá deixar comentários da pull request para solicitar que o Copilot itere.

Ao trabalhar em uma tarefa de codificação, o Copilot tem acesso ao próprio ambiente de desenvolvimento efêmero, da plataforma GitHub Actions, em que pode explorar seu código, fazer alterações, executar testes automatizados e linters e muito mais.

Benefícios em relação aos fluxos de trabalho de IA tradicionais

Quando usado efetivamente, o Agente de codificação do Copilot proporciona benefícios de produtividade em relação aos assistentes de IA tradicionais em IDEs:

  • Com assistentes de IA em IDEs, a codificação ocorre localmente. Os desenvolvedores individuais emparelham sessões síncronas com o assistente de IA. As decisões tomadas durante a sessão não são rastreadas e são perdidas com o tempo, a menos que confirmadas. Embora o assistente ajude a escrever código, o desenvolvedor ainda tem muitas etapas manuais para fazer: criar o branch, gravar mensagens de confirmação, enviar por push as alterações, abrir a PR, escrever a descrição de PR, obter uma revisão, iterar no IDE e repetir. Essas etapas exigem tempo e esforço que podem ser difíceis de justificar para issues simples ou rotineiros.

  • Com o Agente de codificação do Copilot, toda codificação e iteração ocorre no GitHub como parte do fluxo de trabalho de pull request. O Copilot automatiza a criação de branch, a gravação e o envio por push de mensagens de confirmação, abertura de PR e gravação de descrição de PR. Os desenvolvedores permitem que o agente trabalhe em segundo plano e direcionam o Copilot para uma solução final usando revisões de PR. Trabalhar no GitHub adiciona transparência, em que cada etapa ocorre em uma confirmação e pode ser visualizada em logs. Trabalhar no GitHub também abre oportunidades de colaboração para toda a equipe.

Agente de codificação do Copilot versus modo do agente

O Agente de codificação do Copilot é diferente do recurso "modo de agente" disponível no Visual Studio e no Visual Studio Code. O Agente de codificação do Copilot funciona de maneira autônoma em um ambiente da plataforma GitHub Actions para conduzir tarefas de desenvolvimento atribuídas por meio de issues do GitHub ou de prompts do GitHub Copilot Chat e cria pull requests com os resultados. Por outro lado, o modo de agente no Visual Studio e no Visual Studio Code faz parte do recurso Edições do GitHub Copilot que permite que o Copilot faça edições autônomas diretamente no ambiente de desenvolvimento local. Para obter mais informações sobre o modo de agente, confira Fazendo perguntas ao GitHub Copilot em seu IDE.

Simplificando o desenvolvimento de software com o Agente de codificação do Copilot

Atribuir tarefas ao Copilot pode aprimorar seu fluxo de trabalho de desenvolvimento de software.

Por exemplo, você pode atribuir o Copilot a issues simples em sua lista de pendências. Isso permite que você gaste menos tempo nisso e mais tempo em trabalhos mais complexos ou interessantes, ou em trabalhos que exijam um alto grau de pensamento criativo. O Copilot pode funcionar em issues "opcionais" que aprimoram a qualidade de sua base de código ou produto, mas geralmente permanecem na lista de pendências enquanto você se concentra em trabalhos mais urgentes.

Ter o Copilot como um recurso de codificação adicional também permite que você inicie tarefas que talvez não iniciasse de outra forma devido à falta de recursos. Por exemplo, você pode delegar tarefas do Copilot para refatorar o código ou adicionar mais logs e, em seguida, atribuí-las imediatamente ao Copilot.

O Copilot pode iniciar uma tarefa, que você assume e na qual continua trabalhando por conta própria. Ao atribuir o trabalho inicial ao Copilot, você libera o tempo de atividade que teria gasto em tarefas repetitivas, como configurar o scaffolding de um novo projeto.

Disponibilizando o Agente de codificação do Copilot

Para que você atribua tarefas ao Copilot, ele precisa estar habilitado. Confira Como habilitar o Agente de codificação do Copilot.

Custos de uso do Agente de codificação do Copilot

O Agente de codificação do Copilot usa minutos do GitHub Actions e solicitações premium do Copilot.

Dentro do uso mensal permitido para o GitHub Actions e solicitações premium, você pode solicitar que o Copilot trabalhe em tarefas de codificação sem incorrer em custos adicionais.

Para saber mais, confira Cobrança do GitHub Copilot.

Proteções de segurança internas

A segurança é uma consideração fundamental quando você habilita o Agente de codificação do Copilot, como em qualquer outro agente de IA. O Copilot tem uma base forte de proteções de segurança internas que você pode complementar seguindo as diretrizes das práticas recomendadas.

  • Sujeito à governança existente: configurações da organização e disponibilidade de controle de políticas empresariais. Todas as políticas e práticas de segurança configuradas para a organização também se aplicam ao Agente de codificação do Copilot.
  • Ambiente de desenvolvimento restrito: o Copilot funciona em um ambiente de desenvolvimento de área restrita com acesso à Internet controlado por um firewall. Ele tem acesso somente leitura ao repositório no qual está atribuído para trabalhar.
  • Acesso limitado a branches: o Copilot só pode criar e enviar por push para branches que começam com copilot/. Ele está sujeito a todas as proteções de branch e verificações necessárias para o repositório de trabalho.
  • Responde apenas aos usuários com permissões de gravação: o Copilot não responderá aos comentários de usuários com níveis mais baixos de acesso.
  • Tratado como um colaborador externo: pull requests de rascunho propostas pelo Copilot exigem aprovação de um usuário com permissões de gravação para os fluxos de trabalho do Actions serem executados. O Copilot não pode marcar suas solicitações de pull como "Prontas para revisão" e não podem aprovar nem mesclar uma pull request.
  • Controlado para conformidade: as confirmações do Copilot são cocriadas pelo desenvolvedor que atribuiu o issue ou solicitou a alteração à pull request, permitindo a atribuição de alterações propostas. O desenvolvedor que pediu Copilot para criar uma pull request não pode aprovar essa pull request. Em repositórios em que uma revisão de aprovação é necessária, isso garante que pelo menos um desenvolvedor independente examine o trabalho do Copilot.

Para saber mais, veja:

Riscos e mitigações

O Agente de codificação do Copilot é um agente autônomo que tem acesso ao seu código e pode efetuar push de alterações ao repositório. Isso implica em certos riscos. Sempre que possível, o GitHub aplicou as mitigações apropriadas.

Risco: o Copilot pode efetuar push de alterações para seu repositório

Para mitigar esse risco, o GitHub:

  • Limita quem pode atribuir tarefas ao Copilot. Somente usuários com acesso para gravação ao repositório podem acionar o funcionamento do Copilot. Comentários de usuários sem acesso para gravação nunca são apresentados ao agente.
  • Limita as permissões nos tokens de acesso usados pelo Copilot. Pushes são permitidos apenas para branches iniciados em copilot/. O Copilot não pode efetuar push para os branches main ou master.
  • Limita as credenciais do Copilot. O Copilot só pode executar operações de push simples. Ele não pode executar git push nem outros comandos Git diretamente.
  • Restringe execuções de fluxo de trabalho do GitHub Actions. Fluxos de trabalho não são disparados até que o código do Copilot seja revisado e um usuário com acesso para gravação ao repositório clique no botão Approve and run workflows. Confira Revisando uma pull request criada pelo Copilot.
  • Impede que o usuário que pediu para o Copilot criar uma pull request a aprove. Isso mantém os controles esperados na regra "Required approvals" e na proteção do branch. Confira Regras disponíveis para conjuntos de regras.

Risco: o Copilot tem acesso a informações confidenciais

O Copilot tem acesso ao código e a outras informações confidenciais e pode vazá-los, acidentalmente ou devido a uma entrada mal-intencionada do usuário. Para mitigar esse risco, o GitHub:

Risco: vulnerabilidades de injeção de prompt

Os usuários podem incluir mensagens ocultas em issues atribuídos ao Copilot ou comentários deixados para o Copilot como uma forma de injeção de prompt. Para mitigar esse risco, o GitHub:

  • Filtra caracteres ocultos antes de passar a entrada de usuário para o Copilot: por exemplo, o texto inserido como um comentário HTML em um comentário de pull request ou issue não é passado para o Copilot.

Limitações do Agente de codificação do Copilot

O Agente de codificação do Copilot tem determinadas limitações em seu fluxo de trabalho de desenvolvimento de software e compatibilidade com outros recursos.

Limitações no fluxo de trabalho de desenvolvimento de software do Copilot

  • O Copilot só pode fazer alterações no mesmo repositório em que está criando a pull request. Quando o Copilot recebe um issue, ele só pode fazer alterações no repositório em que esse issue está localizado. Além disso, o Copilot não pode fazer alterações em vários repositórios em uma execução.
  • O Copilot só pode acessar o contexto no mesmo repositório que o issue atribuído. Por padrão, uma integração com o servidor MCP do Copilot fornece ao Copilot acesso a um repositório por vez. No entanto, você pode configurar um acesso mais amplo. Confira Como estender o agente de codificação do Copilot com o MCP (Model Context Protocol).
  • O Copilot pode abrir apenas uma pull request por vez. O Copilot abrirá exatamente uma pull request para resolver cada tarefa atribuída.
  • O Copilot não pode trabalhar em uma pull request existente que ele não criou. Se você quiser que o Copilot forneça comentários sobre uma pull request existente, poderá adicioná-lo como revisor. Confira Como usar a revisão de código do GitHub Copilot.

Limitações na compatibilidade do Copilot com outros recursos

  • O Copilot não assina seus commits. Se você tiver a regra "Require signed commits" ou a proteção de branch habilitada, precisará reescrever o histórico de commit para mesclar pull requests do Copilot. Confira Regras disponíveis para conjuntos de regras.
  • O Copilot não funciona com executores auto-hospedados do GitHub Actions. O Copilot tem acesso ao próprio ambiente de desenvolvimento, em execução no GitHub Actions, e deve usar executores hospedados pelo GitHub. Confira Como personalizar o ambiente de desenvolvimento para o agente de codificação do Copilot.
  • O Agente de codificação do Copilot não funciona em repositórios pessoais pertencentes a contas de usuário gerenciadas. Isso ocorre porque o Agente de codificação do Copilot exige executores hospedados no GitHub, que não estão disponíveis para repositórios de propriedade de contas de usuário gerenciadas. Confira Executores hospedados no GitHub.
  • O Copilot não contabiliza exclusões de conteúdo. As exclusões de conteúdo permitem que administradores configurem o Copilot para ignorar determinados arquivos. Ao usar o Agente de codificação do Copilot, o Copilot não ignora esses arquivos e poderá exibir e atualizá-los. Confira Como realizar a exclusão de conteúdo do GitHub Copilot.
  • O Agente de codificação do Copilot não aplica a política "Sugestões correspondentes ao código público". O Copilot ainda pode produzir sugestões correspondentes ao código público, mesmo que a política "Sugestões correspondentes ao código público" esteja definida como "Bloquear". Se isso acontecer, o Copilot não fornecerá referências de código que apontem para a fonte original do código. Confira Como gerenciar políticas do Copilot como um assinante individual.
  • O Agente de codificação do Copilot não está disponível no GitHub Enterprise Cloud com residência de dados. O agente está disponível somente no GitHub.com.
  • O Agente de codificação do Copilot só funciona com repositórios hospedados no GitHub. Se o repositório estiver armazenado em uma plataforma de hospedagem de código diferente, o Copilot não poderá trabalhar nele.

Atividade prática

Experimente exercício do Skills Amplie sua equipe com o Agente de codificação do Copilot para obter experiência prática com o Agente de codificação do Copilot.

Leitura adicional