Uso responsável do GitHub Copilot Cloud Agent em GitHub.com
Aprenda a usar o Copilot Cloud Agent em GitHub.com de forma responsável, compreendendo os seus propósitos, capacidades e limitações.
No final desta unidade, será capaz de:
- Compreenda o propósito, as capacidades e os limites do Copilot Cloud Agent no GitHub.com.
- Aplique práticas de uso responsável: definição de escopo de tarefas, proteção de ambientes e validação de resultados.
- Reconheça medidas de segurança, riscos e mitigações, e onde melhorar o desempenho.
Sobre o Copilot Cloud Agent no GitHub.com
O Copilot Cloud Agent é um agente de desenvolvimento de software autónomo e assíncrono integrado no GitHub. O agente pode detetar uma tarefa de um problema ou do Copilot Chat, criar uma ramificação, explorar a base de código, gerar um plano de implementação e relaborar código — permitindo-lhe decidir se e quando abrir um pull request.
O Copilot Cloud Agent pode gerar alterações personalizadas com base na sua descrição e configurações, incluindo tarefas como correções de bugs, implementação de novas funcionalidades incrementais, prototipagem, documentação e manutenção da base de código. Se decidir criar um pull request, o agente pode então iterar consigo com base no seu feedback e avaliações.
Enquanto trabalha em sua tarefa, o agente tem acesso ao seu próprio ambiente de desenvolvimento efêmero, onde pode fazer alterações em seu código, executar testes automatizados e executar linters. O agente foi avaliado em uma variedade de linguagens de programação, com o inglês como a principal linguagem suportada.
Como funciona o agente (de ponta a ponta)
Processamento imediato
A tarefa fornecida ao Copilot por meio de um problema, comentário de pull request ou mensagem no chat do Copilot é combinada com outras informações contextuais relevantes para formar um prompt. As entradas podem assumir a forma de linguagem natural simples, trechos de código ou imagens.
Análise de modelos linguísticos
O prompt é então passado por um modelo de linguagem grande, que analisa a entrada para ajudar o agente a raciocinar na tarefa e aproveitar as ferramentas necessárias.
Geração de respostas
O modelo de linguagem gera uma resposta com base em sua análise do prompt. Esta resposta pode assumir a forma de sugestões de linguagem natural e sugestões de código.
Formatação de saída
Assim que o agente concluir a sua primeira execução, ele atualizará a descrição do pedido de pull com as alterações efetuadas. O agente pode incluir informações suplementares sobre recursos que não pôde acessar e fornecer sugestões sobre as etapas a serem resolvidas.
Você pode fornecer feedback ao agente comentando dentro da solicitação pull ou mencionando explicitamente o agente (@copilot). O agente reenviará esse feedback ao modelo linguístico para uma análise mais aprofundada. Assim que o agente concluir as alterações com base no feedback, ele responderá ao seu comentário com alterações atualizadas.
O Copilot destina-se a fornecer-lhe a solução mais relevante para a resolução de tarefas. No entanto, pode nem sempre fornecer a resposta que procura. Você é responsável por revisar e validar as respostas geradas pelo Copilot para garantir que sejam precisas e apropriadas. Além disso, como parte de nosso processo de desenvolvimento de produtos, o GitHub realiza red teaming (testes) para entender e melhorar a segurança do agente.
Casos de uso para o Copilot Cloud Agent
- Manutenção da base de código: Correções de segurança, atualizações de dependência e refatoração direcionada.
- Documentação: Atualização e criação de nova documentação.
- Desenvolvimento de funcionalidades: Implementação de solicitações de recursos incrementais.
- Melhorar a cobertura dos testes: Desenvolvimento de conjuntos de testes adicionais para gestão da qualidade.
- Prototipagem de novos projetos: Green fielding novos conceitos.
Melhoria do desempenho do Copilot Cloud Agent
Para melhorar o desempenho e resolver as limitações, use estas medidas:
Certifique-se de que suas tarefas tenham um escopo adequado, fornecendo:
- Uma descrição clara do problema a resolver ou do trabalho necessário.
- Critérios de aceitação completos sobre o aspeto de uma boa solução (por exemplo, deve haver testes de unidade?).
- Dicas ou ponteiros sobre quais arquivos precisam ser alterados.
Personalize a sua experiência com contexto adicional
O Copilot Cloud Agent utiliza o seu prompt, comentários e o código do repositório como contexto ao gerar alterações sugeridas. Melhore os resultados adicionando instruções personalizadas do Copilot para que o agente entenda como criar, testar e validar suas alterações.
Outras personalizações úteis:
- Personalização do ambiente de desenvolvimento para o GitHub Copilot Cloud Agent
- Personalizar ou desativar o firewall para o GitHub Copilot Cloud Agent
- Extensão do GitHub Copilot Cloud Agent com o Model Context Protocol (MCP)
Use o Copilot Cloud Agent como ferramenta, não como substituto
Sempre revise e teste o conteúdo gerado pelo agente para garantir que ele atenda aos seus requisitos e esteja livre de erros ou preocupações de segurança antes da fusão.
Use práticas seguras de codificação e revisão de código
Embora o Copilot Cloud Agent possa gerar código sintaticamente correto, pode nem sempre ser seguro. Continue a seguir as práticas recomendadas para codificação segura (evite segredos codificados, evite vulnerabilidades de injeção) e aplique testes rigorosos, verificação de IP e verificações de vulnerabilidade.
Enviar comentários
Se você encontrar algum problema ou limitação, use o ícone de polegar para baixo abaixo de uma resposta do agente ou compartilhe comentários no fórum de discussão da comunidade.
Mantenha-se atualizado
O Copilot Cloud Agent está a evoluir. Monitorize os novos riscos de segurança e as melhores práticas à medida que vão surgindo.
Medidas de segurança para o Copilot Cloud Agent
Evitar a escalada de privilégios
- O Copilot Cloud Agent só responde a interações de utilizadores com acesso de escrita.
- Os fluxos de trabalho de ações do GitHub acionados por pull requests de agentes exigem a aprovação de um utilizador com permissões de escrita antes de serem executados.
- Os caracteres ocultos (não renderizados em GitHub.com) são filtrados para reduzir os riscos de injeção de prompt.
Restringindo as permissões do Copilot
- O agente só acede ao repositório ao qual está associado; não consegue aceder a outros repositórios.
- Os pushes estão limitados a ramificações cujo nome começa com copilot/ (não na sua ramificação predefinida).
- O agente não tem acesso a segredos ou variáveis das Actions da organização ou do repositório em tempo de execução. Apenas segredos/variáveis adicionados ao ambiente do copiloto são passados para o agente.
Prevenção da exfiltração de dados
Um firewall é ativado por padrão para evitar a exfiltração acidental ou maliciosa de código ou dados confidenciais. Veja Personalizar ou desativar o firewall para o GitHub Copilot Cloud Agent.
Limitações do Copilot Cloud Agent
Dependendo da sua base de código e entradas, o desempenho pode variar. Tenha estas restrições em mente:
- Âmbito limitado e qualidade: O LLM não pode lidar com certas estruturas de código ou linguagens obscuras; a qualidade varia de acordo com a cobertura linguística.
- Potenciais enviesamentos: Os dados de treinamento e o contexto recuperado podem incluir vieses; O agente pode inclinar-se para determinadas línguas ou estilos.
- Riscos de segurança: O código gerado é baseado no contexto do repositório e pode expor informações confidenciais se não for revisado; É necessária uma revisão aprofundada.
- Código impreciso: O código pode parecer correto, mas estar semântica/sintaticamente errado ou desalinhado com a intenção. Valide ajuste, padrões e estilo.
- Código público: O agente pode produzir correspondências ou resultados semelhantes com o código público, mesmo que "Bloquear" esteja definido; pode não fornecer referências.
- Aspetos legais/regulamentares: Assegurar o cumprimento das obrigações aplicáveis; evitar utilizações proibidas ao abrigo dos termos de serviço e códigos de conduta.