Personalização, extensão e validação do Copilot Cloud Agent
O GitHub Copilot Cloud Agent corre dentro de um ambiente GitHub Actions seguro e efémero. Com algumas etapas de configuração, você pode pré-configurar esse ambiente para melhorar a confiabilidade e a velocidade, estender os recursos do agente com ferramentas externas por meio do MCP (Model Context Protocol) e aplicar as práticas recomendadas para testar e validar a saída do agente antes da fusão.
No final desta unidade, será capaz de:
- Pré-instale ferramentas, dependências e segredos para personalizar o ambiente de desenvolvimento do agente.
- Estenda os recursos do agente usando o MCP (Model Context Protocol).
- Teste e valide os resultados gerados pelo agente de forma eficaz antes de integrar alterações.
Pré-configuração do ambiente de desenvolvimento
Pré-instalar ferramentas e dependências comcopilot-setup-steps.yml
Crie .github/workflows/copilot-setup-steps.yml na ramificação padrão do repositório. O fluxo de trabalho deve definir um único trabalho chamado copilot-setup-steps. Inclua todas as etapas necessárias para instalar dependências ou configurar ferramentas.
Exemplo de TypeScript:
name: "Copilot Setup Steps"
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install JavaScript dependencies
run: npm ci
Chaves de configuração permitidas para o copilot-setup-steps trabalho: steps, permissions, runs-on, container, services, snapshot, timeout-minutes (≤ 59). Qualquer actions/checkout profundidade de busca é substituída para permitir uma reversão segura. O fluxo de trabalho de configuração é executado de forma autônoma (para que você possa validá-lo) e, em seguida, automaticamente antes que o agente seja iniciado.
Executores de maior porte hospedados no GitHub
- Adicione corredores maiores primeiro
- Em
copilot-setup-steps.yml, definaruns-oncomo o rótulo/grupo (por exemplo,ubuntu-4-core). - Apenas os corredores Ubuntu x64 são suportados; corredores auto-hospedados não são suportados.
Git LFS
Se você usar o Git Large File Storage, ative-o nas etapas de configuração:
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v5
with:
lfs: true
Personalização de firewall
O acesso padrão à Internet é limitado para reduzir o risco de exfiltração. Você pode personalizar ou desabilitar o firewall por política organizacional, se necessário.
Estender com o MCP (Model Context Protocol)
O MCP é um padrão aberto para conectar LLMs a ferramentas e dados. O agente pode usar ferramentas fornecidas por servidores MCP locais ou remotos para expandir seus recursos.
Nota: O Copilot Cloud Agent suporta apenas ferramentas MCP (não recursos ou prompts). Não há suporte para servidores MCP remotos que exigem OAuth.
Servidores MCP padrão
- Servidor MCP do GitHub: Aceda a issues, PRs e dados do GitHub com um token só de leitura, configurado por defeito para o repositório atual (pode personalizar o token).
- Servidor MCP Playwright: Leia, interaja e faça capturas de tela de páginas da Web acessíveis dentro do ambiente do agente (localhost/127.0.0.1).
Configuração do repositório
Os administradores podem declarar servidores MCP por meio de uma configuração JSON no repositório. Uma vez configurado, o agente usa de forma autônoma as ferramentas disponíveis - sem prompts de aprovação por uso. Veja Extensão do GitHub Copilot Cloud Agent com MCP.
Melhores práticas
- Analise os servidores MCP de terceiros quanto às implicações de desempenho e qualidade de saída.
- Prefira ferramentas de leitura; Se existirem ferramentas de escrita, permita apenas o necessário.
- Valide cuidadosamente a configuração do MCP antes de salvar.
Testando e validando a saída do agente
Você permanece responsável pela qualidade e segurança:
- Executar CI (testes, linters, scanning) em cada agente PR; essas verificações não serão executadas até que você clique em Aprovar e executar fluxos de trabalho.
- Inspecione manualmente áreas sensíveis ou de alto impacto.
- Peça ao agente para gerar testes (por exemplo, "Adicionar testes unitários Jest para todas as funções, seguindo o estilo do repositório
src/utils/") - a geração de testes em vários arquivos consome PRUs. - Aplique conjuntos de regras para que os PRs do agente passem nos testes + varrimento + linting antes da junção.
- PRs do agente de etiqueta (por exemplo,
agent-refactor, agent-tests) para monitorar, triar e reverter, se necessário. - Itere instruções em .github/copilot-instructions.md quando vir erros repetidos.
- Reverta rapidamente, se necessário, e solicite novas alterações ao agente.
Utilizar PRUs intencionalmente para validação
Aproveite as PRUs para tarefas de validação mais profundas, como expansão da cobertura de teste, auditorias em diretórios ou varreduras de áreas arriscadas. Verificações leves consomem menos PRUs, portanto, aplique-as intencionalmente para otimizar o valor.
Com práticas de configuração, extensões e validação em vigor, a etapa final é usar o agente de forma responsável definindo bem o escopo das tarefas, protegendo ambientes e revisando continuamente os resultados.