Skip to main content
Pular para o conteúdo principal

Humanos e Agentes: Padrões de Colaboração do IDE ao Pull Request

· Leitura de 15 minutos
David Sanchez
David Sanchez

A Colaboração Já Está Acontecendo — A Questão É Se Está Estruturada

Se as bases de DevOps preparam o sistema e a evolução do Engenheiro de Software redefine o papel, a próxima pergunta lógica é:

Como humanos e agentes realmente colaboram na prática?

Não na teoria. Não em demos. Não em vídeos de marketing.

Mas em repositórios reais, IDEs reais, pull requests reais e sistemas de produção reais.

Humanos e Agentes

A engenharia de software agêntica não se trata de geração autônoma de código em isolamento. Trata-se de colaboração estruturada entre contribuidores humanos e não humanos. E essa colaboração acontece principalmente em dois lugares:

  1. Dentro do IDE onde a intenção é explorada e moldada
  2. Dentro do Pull Request onde a intenção é formalizada e governada

Estas não são apenas ferramentas. São as novas superfícies de colaboração da engenharia de software moderna, e entender como usar cada uma de forma eficaz é a diferença entre equipes que entregam com confiança e equipes que entregam com ansiedade.


O IDE: Onde a Intenção É Formada (e Refinada)

O IDE não é mais apenas um editor de código. Tornou-se um espaço de trabalho conversacional um lugar onde engenheiros pensam em voz alta com um parceiro de IA.

Com copilots de IA e capacidades agênticas integradas diretamente em ambientes de desenvolvimento como VS Code e GitHub Copilot, os engenheiros cada vez mais:

  • 💬 Refinam a intenção através de prompts e orientação inline: "Faça esta função lidar com entradas nulas de forma elegante" é mais que um comentário; é uma decisão de design expressa conversacionalmente
  • 🔄 Iteram sobre decisões de design de forma interativa: explorando múltiplas abordagens de implementação antes de se comprometer com uma
  • 🗺️ Exploram opções de implementação: perguntando "Quais são três formas diferentes de implementar esta estratégia de cache?" e avaliando trade-offs em tempo real
  • 🏗️ Geram scaffolding, testes e documentação sob demanda: reduzindo o tempo até a primeira iteração de horas para minutos

O Ciclo de Colaboração no IDE

Os engenheiros mais eficazes seguem um ciclo de feedback fechado dentro do IDE:

Definir Intenção → Gerar → Avaliar → Refinar → Aceitar ou Rejeitar → Repetir

Este ciclo é rápido, iterativo e de baixo risco. Você pode experimentar, rejeitar sugestões, refinar restrições e clarificar a intenção, tudo sem afetar mais ninguém. A colaboração é de ciclo fechado e imediata.

O Que Torna a Colaboração no IDE Eficaz

Nem todas as interações no IDE são igualmente produtivas. Aqui está o que separa a colaboração de alto valor da geração ruidosa:

Padrão de Alto ValorPadrão de Baixo Valor
Fornecer contexto: "Este serviço usa o padrão repositório com injeção de dependências"Prompts vagos: "Escreva algum código para mim"
Especificar restrições: "Deve lidar com acesso concorrente e retentar em falhas transitórias"Sem restrições: a IA adivinha os requisitos
Iterar sobre o resultado: "Boa estrutura, mas use async/await em vez de callbacks"Aceitar a primeira saída sem revisão
Usar contexto do workspace: referenciando interfaces e padrões existentesIgnorar as convenções do código existente
Dividir tarefas complexas em etapasPedir uma funcionalidade inteira em um único prompt

O Limite Crítico: O IDE Não É o Sistema de Registro

Aqui está a distinção chave que equipes maduras entendem:

O IDE é onde a exploração acontece. Não é onde a governança acontece.

Não importa quão produtiva seja a conversa no IDE, ela produz um rascunho. Esse rascunho deve passar por um processo de revisão estruturado antes de se tornar parte do seu sistema.

É por isso que o Pull Request existe, e por isso ele importa mais do que nunca.


O Pull Request: Onde a Intenção É Formalizada

Se o IDE é onde a intenção é explorada, o Pull Request (PR) é onde a intenção é formalizada.

No desenvolvimento tradicional, os PRs focavam principalmente em:

  • Revisão de código e garantia de qualidade
  • Compartilhamento de conhecimento na equipe
  • Criação de um registro histórico de mudanças

Em um mundo agêntico, os PRs se tornam algo mais fundamental:

O contrato entre humanos e agentes.

Um PR responde perguntas críticas que nenhuma sessão de IDE pode:

PerguntaPor Que Importa
O que mudou?Visibilidade do diff e avaliação do raio de impacto
Por que mudou?Documentação da intenção para futuros mantenedores
Quem (ou o quê) iniciou?Responsabilidade e rastreabilidade
Sob quais restrições?Conformidade com políticas e validação de segurança
Com quais validações?Verificações automatizadas que controlam a qualidade
Qual é o plano de rollback?Gestão de riscos para sistemas em produção

Sem um processo de PR estruturado, as contribuições agênticas se tornam opacas e arriscadas. Com ele, se tornam auditáveis, governáveis e confiáveis.


Projetando PRs para a Colaboração Humano–Agente

Se os agentes vão participar de forma significativa na entrega de software, o design dos PRs deve evoluir além da revisão de código tradicional.

1. Mudanças Pequenas e Determinísticas

Modificações grandes e abrangentes aumentam a carga cognitiva e o risco. Mudanças geradas por agentes devem ter escopo limitado:

  • Responsabilidade única por PR: uma mudança lógica, um contexto de revisão
  • Vinculação clara a issues ou especificações: cada PR deve responder "por que isso existe?"
  • Diffs previsíveis: os revisores devem conseguir entender a mudança em minutos, não em horas
  • Entrega incremental: enviar uma série de mudanças pequenas e seguras em vez de um PR monolítico

Por que isso importa para agentes: Quando o GitHub Copilot coding agent gera um PR, um escopo focado torna dramaticamente mais fácil para os revisores humanos avaliar a correção, identificar casos extremos e aprovar com confiança.

2. Intenção Explícita nas Descrições

Descrições de PR não devem ser algo secundário. São a ponte narrativa entre a intenção e a implementação.

Uma descrição de PR bem estruturada para mudanças geradas por agentes deve incluir:

## Declaração do Problema
Qual issue ou requisito isso aborda?

## Abordagem
Como a solução foi projetada? Quais alternativas foram consideradas?

## Mudanças Realizadas
- Resumo arquivo por arquivo do que mudou e por quê

## Avaliação de Riscos
- O que pode dar errado?
- Quais áreas precisam de revisão cuidadosa?

## Validação
- Testes adicionados ou modificados
- Testes manuais realizados
- Casos extremos considerados

## Gerado Por
- Agente: GitHub Copilot coding agent
- Revisão humana: [Requerida / Em Progresso / Completa]

Os agentes podem ajudar a rascunhar essas descrições, mas os humanos devem validá-las. A descrição é tão importante quanto o código em si.

3. Sinais Legíveis por Máquinas

À medida que os sistemas amadurecem, os PRs devem incluir metadados estruturados que permitam automação sem eliminar a supervisão:

  • 🏷️ Rótulos indicando conteúdo gerado por agentes (ex., agent-generated, copilot-pr)
  • 🔗 Requisitos vinculados ou itens de trabalho conectando à intenção original
  • 🚦 Gates de ambiente ou política que devem passar antes do merge
  • 📊 Sinais de confiança dos agentes (quando disponíveis) indicando níveis de certeza
  • 🔍 Listas de verificação de revisão personalizadas para o tipo de mudança

Esses metadados permitem às equipes construir dashboards, rastrear padrões de contribuição de agentes e melhorar continuamente seus fluxos de colaboração.


O Modelo de Colaboração de Duas Velocidades

A colaboração humano–agente opera em duas velocidades fundamentalmente diferentes, e ambas são necessárias:

Velocidade 1: Velocidade do IDE 🏎️

  • Iteração e experimentação rápidas
  • Refinamento conversacional de ideias
  • Implementação exploratória e prototipagem
  • Ciclos de feedback de baixo risco e alta frequência
  • Otimizada para fluxo e criatividade

Velocidade 2: Governança do PR 🛡️

  • Revisão estruturada com múltiplas perspectivas
  • Validação automatizada (testes, segurança, linting, conformidade)
  • Aplicação de políticas e fluxos de aprovação
  • Pontos de decisão explícitos com responsabilidade clara
  • Otimizada para confiança e segurança

Equipes de alto desempenho abraçam ambas as velocidades simultaneamente.

Otimizam o IDE para o fluxo, removendo atrito, fornecendo contexto rico e habilitando iteração rápida.

Otimizam o PR para a confiança, aplicando gates de qualidade, exigindo revisão significativa e mantendo responsabilidade clara.

Confundir as duas leva a falhas previsíveis:

ErroConsequência
Aplicar atrito de governança dentro do IDEEngenheiros perdem o estado de fluxo e a produtividade cai
Pular a governança do PR para mudanças "rápidas"Regressões silenciosas, desvios de segurança, modificações impossíveis de rastrear
Tratar a revisão do PR como opcional para saída do agenteRisco distribuído e erosão de confiança
Mover-se muito devagar nos IDEsEquipes abandonam ferramentas de IA devido ao atrito percebido

Humano no Ciclo É uma Decisão Arquitetônica

Existe a tentação de medir o sucesso pela quantidade de envolvimento humano que permanece. Isso é um erro.

Humano no ciclo não é uma falha da autonomia. É uma característica de sistemas responsáveis.

Os sistemas agênticos mais eficazes definem explicitamente os limites entre comportamento autônomo e supervisionado:

Espectro de Autonomia

Autonomia Total ←————————————————————————→ Controle Humano Total
| | |
Auto-merge Revisão Requerida Apenas Manual
atualizações para mudanças de para deploys
de dependências lógica de negócio em produção

Os engenheiros devem definir explicitamente:

DecisãoExemplo de Política
Quando a autonomia é permitidaAtualizações de dependências, correções de formatação, erros de digitação na documentação
Quando a revisão é necessáriaNovas funcionalidades, correções de bugs, mudanças de API, atualizações de configuração
Quando a aprovação humana é obrigatóriaDeploys em produção, mudanças sensíveis de segurança, mudanças que quebram a API
Quais verificações de segurança não são negociáveisVarredura de secrets, análise SAST, conformidade de licenças

As regras de proteção de branch, as verificações de status requeridas e as aprovações de ambiente não são burocracia. São barreiras de proteção que permitem que a autonomia escale com segurança.


Identidade e Responsabilidade: Quem Fez o Quê?

Uma das mudanças mais importantes na colaboração agêntica é a clareza de identidade. Quando agentes contribuem para sua base de código, o sistema deve responder definitivamente:

  • 🆔 Quem autorizou esta mudança? O humano que acionou ou aprovou o trabalho do agente
  • 🔑 Quais permissões o agente tinha? Acesso delimitado seguindo princípios de mínimo privilégio
  • 📋 Sob qual política? Quais regras e restrições governaram o comportamento do agente
  • 🔒 Com qual nível de privilégio? Acesso de leitura vs. escrita vs. administrador a diferentes recursos

Por Que a Identidade Importa

A ambiguidade na identidade erode a confiança de forma sistêmica. Se sua equipe não consegue distinguir entre:

  • Um PR aberto por um engenheiro
  • Um PR aberto por um agente em nome de um engenheiro
  • Um PR aberto por um agente de forma autônoma

...então sua rastreabilidade está comprometida, seu modelo de responsabilidade está quebrado e sua postura de segurança tem uma lacuna.

Padrões Práticos de Identidade

PadrãoImplementação
Identidades de agente distintasAgentes operam sob sua própria identidade do GitHub (ex., copilot[bot])
Atribuição claraDescrições de PR e mensagens de commit indicam tanto o agente quanto o humano autorizante
Permissões delimitadasAgentes usam tokens do GitHub de granularidade fina com o acesso mínimo necessário
Log de auditoriaTodas as ações do agente são registradas e consultáveis

A responsabilidade não desaparece quando os agentes participam. Ela se torna mais estrutural.


O Que Quebra Quando a Disciplina do PR Enfraquece

Remover ou enfraquecer a disciplina do PR em um ambiente agêntico introduz modos de falha previsíveis que se acumulam ao longo do tempo:

Modo de FalhaComo AconteceImpacto
Regressões silenciosasMudanças de agente que passam no CI mas quebram casos extremos em produçãoBugs que afetam o cliente e são difíceis de rastrear
Desvio de segurançaPadrões vulneráveis introduzidos sem revisão de segurançaSuperfície de ataque em expansão
Mudanças impossíveis de rastrearSem registro de por que algo mudouImpossível depurar, auditar ou reverter efetivamente
Raio de impacto crescentePequenas mudanças não revisadas que se transformam em problemas sistêmicosInterrupções que afetam múltiplos serviços
Lacunas de conhecimentoA equipe não entende o código que os agentes escreveramIncapacidade de manter ou estender o sistema

Autonomia sem revisão não é inovação. É risco distribuído.

Se os agentes podem modificar sistemas de produção sem passar por um ponto de verificação visível e governado, o sistema está fundamentalmente desalinhado.


Padrões de Colaboração do Mundo Real

Vejamos exemplos concretos de como esses padrões se desenvolvem na prática:

Padrão 1: Desenvolvimento de Funcionalidades Assistido por Agentes

1. O engenheiro cria uma GitHub Issue detalhada com critérios de aceitação
2. GitHub Copilot coding agent pega a issue e abre um PR rascunho
3. O pipeline de CI/CD executa automaticamente (testes, varreduras de segurança, linting)
4. O engenheiro revisa o PR:
- Valida o alinhamento arquitetônico
- Verifica a correção da lógica de negócio
- Solicita mudanças se necessário (o agente itera)
5. Os revisores requeridos aprovam
6. O PR é mergeado após todas as verificações de status passarem
7. O deploy segue uma estratégia de rollout progressivo

Padrão 2: Atualizações Automatizadas de Dependências

1. Dependabot detecta uma dependência desatualizada ou vulnerável
2. Abre um PR com a atualização de versão e changelog
3. CI executa a suíte completa de testes
4. Se os testes passam e a mudança é de baixo risco → auto-merge habilitado
5. Se os testes falham ou a mudança é maior → revisão humana necessária
6. A equipe de segurança é notificada para CVEs críticos

Padrão 3: Fluxo de Trabalho do IDE ao PR

1. O engenheiro explora a implementação no VS Code com GitHub Copilot
2. Itera sobre a abordagem: gera, avalia, refina
3. Cria um branch bem estruturado com commits atômicos
4. Abre um PR com descrição clara vinculada aos requisitos
5. Rotula o PR adequadamente (ex., assistido-por-agente, funcionalidade, precisa-revisão)
6. Verificações automatizadas validam os gates de qualidade
7. Revisão por pares foca na intenção e arquitetura, não na sintaxe

Recomendações Práticas para Equipes

Para equipes que estão introduzindo ou amadurecendo capacidades agênticas, aqui estão passos acionáveis:

Governança

  1. Manter PRs obrigatórios para todas as mudanças não triviais, sem exceções para código gerado por agentes
  2. Aplicar verificações automatizadas de forma consistente, testes, varreduras de segurança, linting e conformidade
  3. Usar rotulagem clara para contribuições geradas por agentes, a transparência constrói confiança
  4. Manter proteção rigorosa de branch para branches críticos, main e production devem ser imutáveis sem revisão

Ferramentas

  1. Configurar CODEOWNERS para garantir que especialistas do domínio revisem mudanças em suas áreas
  2. Configurar GitHub Environments com gates de aprovação apropriados para cada destino de deploy
  3. Habilitar GitHub Advanced Security para varredura abrangente em cada PR
  4. Usar GitHub Actions para automatizar todo o ciclo de vida de validação

Cultura

  1. Garantir que identidades usadas por agentes sigam princípios de mínimo privilégio
  2. Investir em documentação clara e estrutura de repositório para reduzir ambiguidade tanto para humanos quanto para agentes
  3. Revisar PRs de agentes com o mesmo rigor que PRs humanos, o padrão é o padrão
  4. Normalizar dar feedback para saídas de IA, tratando sugestões como rascunhos, não como verdades

Além do PR: A Mudança Cultural

Em última análise, a colaboração entre humanos e agentes não é apenas um desafio técnico. É uma transformação cultural.

As equipes devem normalizar:

  • 🔍 Revisar código escrito por não humanos com o mesmo olhar crítico aplicado ao código escrito por humanos
  • 💬 Dar feedback para prompts e configurações melhorando como os agentes são direcionados, não apenas o que eles produzem
  • 📝 Tratar as saídas dos agentes como rascunhos, não como verdades a IA é confiante mesmo quando está errada
  • 🤝 Compartilhar padrões e estratégias de prompts como compartilhar trechos de código, mas para a colaboração humano–agente
  • 📊 Medir a eficácia da colaboração rastreando a qualidade das contribuições do agente, tempos de revisão e taxas de incidentes

As equipes mais maduras não perguntarão:

"Isso foi escrito por um humano ou um agente?"

Perguntarão:

"Isso atende aos nossos padrões?"

Essa mudança de mentalidade é fundamental. Quando a qualidade é o referencial em vez da autoria, as equipes desbloqueiam todo o potencial da colaboração humano–agente.


Os Três Pilares Trabalhando Juntos

Este post completa uma série de três partes sobre engenharia de software agêntica:

PostFocoInsight Chave
Fundações DevOps AgênticasSistemasPráticas sólidas de DevOps são pré-requisitos, não algo secundário
Evolução do Engenheiro de SoftwarePessoasEngenheiros evoluem de autores de código para designers de sistemas e orquestradores
Humanos e Agentes (este post)ColaboraçãoSuperfícies de colaboração estruturada (IDE + PR) determinam o sucesso ou o fracasso

Juntos, eles descrevem um modelo onde:

  • O IDE se torna um espaço de pensamento colaborativo
  • O Pull Request se torna um contrato formal
  • O pipeline se torna um motor de validação
  • O engenheiro se torna um orquestrador de intenção

Reflexões Finais

A engenharia de software agêntica não se trata de remover humanos do ciclo.

Trata-se de redefinir onde os humanos adicionam mais valor.

Os humanos trazem julgamento, contexto, ética e responsabilidade. Os agentes trazem velocidade, consistência, amplitude e incansabilidade. A mágica acontece quando ambos operam em suas áreas de força, conectados por padrões de colaboração estruturada que preservam a confiança.

Humanos e agentes não são competidores. São colaboradores operando em diferentes camadas do sistema, alinhados pela intenção, restringidos pela política e unificados pela responsabilidade.

As equipes que dominarem este modelo de colaboração não apenas entregarão mais rápido. Entregarão melhor, com mais confiança, mais segurança e mais inovação do que humanos ou agentes poderiam alcançar sozinhos.

Pergunte-me sobre meu site

Desenvolvido com Azure OpenAI

👋 Olá amig@!

Você pode me perguntar sobre:

  • Posts no blog ou artigos técnicos.
  • Projetos e contribuições.
  • Tópicos de palestras e apresentações
  • Tecnologia por trás do site.