O uso da IA para aprovar PRs (Pull Requests) é uma tendência crescente, mas requer uma abordagem cuidadosa para garantir a segurança e a qualidade do código. Aqui estão os principais pontos a serem considerados:
Definindo o Escopo da Revisão
O Copilot (ou qualquer outra IA de código de revisão) pode emitir aprovações em PRs, mas isso não significa que a aprovação é definitiva. É crucial definir claramente o escopo da revisão. Aqui estão algumas diretrizes:
Classificação do Diff
Começar com três faixas simples é uma boa abordagem. A classificação não precisa ser perfeita no primeiro dia, mas precisa ser explícita o bastante para que duas pessoas cheguem a uma decisão parecida. Se um PR mistura faixas, ele assume a mais alta. Um ajuste de README com uma mudança em permissions.ts não é um PR de documentação.
Classificação por Caminho
A classificação por caminho ajuda, mas não enxerga todo impacto indireto. É útil combinar diretórios, donos de código e dependências conhecidas, em vez de depender apenas do nome do arquivo.
Controles Se Complementando
Nenhum controle isolado resolve o problema. O fluxo fica mais confiável quando cada camada verifica uma coisa diferente:
- Restringa os caminhos nos quais a aprovação da IA pode ter peso.
- Mantenha checks obrigatórios para propriedades determinísticas, como testes, tipos, lint e políticas de dependência.
- Use CODEOWNERS para preservar uma pessoa ou equipe responsável pelas áreas sensíveis.
- Vincule cada decisão ao commit que foi realmente analisado.
- Bloqueie o merge quando surgir um arquivo fora do escopo ou faltar alguma evidência.
Interface de Aprovação
Um selo verde sozinho economiza espaço e esconde contexto. Para decidir rápido sem decidir no escuro, a tela deveria responder a pontos bem concretos:
- quais arquivos estavam dentro do escopo permitido;
- quais arquivos exigem revisão humana;
- quais checks foram executados e quais ainda estão pendentes;
- por que a aprovação foi invalidada ou escalada;
- quem continua responsável pela decisão final.
Conclusão
A IA pode ajudar a otimizar o processo de revisão de PRs, mas é crucial definir claramente o escopo da revisão para garantir a segurança e a qualidade do código. Com a adoção de políticas claras e controles complementares, a IA pode ser uma ferramenta poderosa para a revisão de código.