Produtos
Agentes de IA para programação: como usar vários em paralelo
Como rodar vários agentes de IA para programação em paralelo: o que é um ambiente de desenvolvimento de agentes (ADE), git worktrees, monitoramento e revisão.
Neste artigo
Um ambiente de desenvolvimento de agentes (ADE, do inglês agent development environment) é um espaço de trabalho para executar vários agentes de IA para programação ao mesmo tempo. Cada agente recebe sua própria tarefa, uma cópia isolada do código e um status visível, enquanto uma pessoa divide o trabalho, acompanha o progresso e revisa cada alteração antes do merge.
Principais pontos
- Agentes de IA em paralelo só compensam quando as tarefas são independentes, de escopo bem delimitado e verificáveis.
- O isolamento vem primeiro: dê a cada agente sua própria git worktree e sua própria branch.
- Observabilidade é o recurso central de um ADE: você vê num relance qual agente está trabalhando, esperando, bloqueado ou concluído.
- O gargalo passa a ser a revisão, não a geração de código, então rode apenas quantos agentes você consegue revisar.
- A responsabilidade por cada merge continua sendo humana: leia o diff e rode as verificações você mesmo.
O que são agentes de IA para programação?
Um agente de IA para programação é uma ferramenta movida por um modelo de IA que consegue ler um repositório, editar arquivos e executar comandos e testes para concluir uma tarefa descrita, em vez de apenas sugerir código enquanto você digita. Alguns exemplos são agentes de terminal como Claude Code, Codex CLI e Gemini CLI, os modos de agente dos editores de código e agentes hospedados que trabalham em um sandbox na nuvem e devolvem um pull request.
O que é um ambiente de desenvolvimento de agentes?
Uma IDE tradicional é construída em torno de uma pessoa editando uma única cópia de trabalho, e muitos editores agora acrescentam seus próprios recursos de agentes. Quando vários agentes estão rodando, porém, o centro do seu dia deixa de ser a edição e passa a ser a coordenação. O termo, às vezes escrito agentic development environment, descreve o lugar onde você desenvolve software com agentes de IA para programação, e não ferramentas para criar agentes de IA.
Um ADE não substitui seu editor nem os agentes. Ele é a camada de orquestração acima deles e cuida do trabalho que se multiplica a cada novo agente:
- Isolamento do espaço de trabalho: um diretório de trabalho e uma branch separados para cada agente, sem precisar gerenciar o git manualmente.
- Acompanhamento de tarefas: o briefing que cada agente recebeu, sempre visível.
- Status ao vivo: quais agentes estão rodando, aguardando uma resposta sua, concluídos ou com falha.
- Área de revisão: o diff, os comandos e os resultados de testes de cada agente em um só lugar.
- Integração: um caminho controlado da branch de cada agente de volta para a sua linha principal.
Por que rodar vários agentes de IA para programação em paralelo?
Um agente trabalhando em uma tarefa não trivial costuma rodar por vários minutos seguidos, lendo, editando, testando e corrigindo. Se você supervisiona um de cada vez, passa a maior parte desse tempo esperando. Agentes em paralelo transformam espera em produtividade: enquanto um refatora, outro escreve testes para um módulo diferente e um terceiro investiga um relato de bug.
Na prática, três padrões cobrem a maior parte do trabalho em paralelo:
- Fan-out (distribuição): várias tarefas independentes do mesmo backlog, um agente para cada, cada uma com seu próprio merge.
- Tentativas concorrentes: em problemas ambíguos, a mesma tarefa vai para dois agentes, ou é executada duas vezes com instruções diferentes, e você fica com o melhor resultado.
- Pipeline: um agente implementa, um segundo revisa o resultado ou escreve testes contra ele, e uma pessoa dá a palavra final.
Quais são as opções para rodar agentes de IA para programação em paralelo?
A maioria das equipes usa uma destas quatro opções, e muitas combinam mais de uma:
- Abas de terminal ou painéis do tmux, cada um com um agente e uma git worktree: nenhuma ferramenta nova, mas você acompanha o status de cada agente por conta própria.
- Recursos multiagente integrados a um editor: práticos quando a equipe inteira já trabalha nesse editor.
- Agentes na nuvem ou em segundo plano, que rodam em um sandbox hospedado e devolvem um pull request: nada roda localmente, e você revisa um PR.
- Um ambiente de desenvolvimento de agentes dedicado: status, diffs e revisão de todos os agentes em um só lugar.
Quais tarefas combinam com agentes de IA para programação em paralelo?
Teste cada tarefa candidata com quatro perguntas. Ela é independente das outras tarefas em andamento? Pode ser descrita em um briefing curto? Testes, uma checagem de tipos, um build ou um critério de aceitação conseguem verificá-la? Ela mexe em uma parte diferente da base de código?
Boas candidatas
- Adicionar testes a módulos sem cobertura.
- Correções de bugs autocontidas, com uma forma clara de reproduzir o problema.
- Funcionalidades isoladas atrás de uma interface bem definida, como um novo endpoint de API ou um componente de UI.
- Migrações mecânicas que se dividem de forma limpa por diretório ou pacote.
- Documentação, melhorias de tipagem e correções de lint em áreas que ninguém mais está editando.
Candidatas ruins
- Mudanças de arquitetura que se propagam por tipos compartilhados ou pelo modelo de dados.
- Tarefas cuja definição de pronto é uma questão de gosto.
- Duas tarefas que precisam alterar o mesmo arquivo central, como o arquivo de rotas, um schema ou um manifesto de dependências.
- Trabalho que depende do resultado de outra tarefa ainda não concluída.
Como rodar vários agentes de IA para programação: passo a passo
- Divida o trabalho em tarefas independentes.
- Isole cada agente com sua própria git worktree e branch.
- Escreva um briefing que cada agente consiga executar.
- Acompanhe, desbloqueie e intervenha.
- Revise e faça o merge de uma branch por vez.
Passo 1: Divida o trabalho em tarefas independentes
Comece pelo resultado, não pelos agentes. Quebre o objetivo em tarefas que possam ser concluídas, verificadas e integradas cada uma por conta própria. Se duas tarefas forem editar os mesmos arquivos, junte-as ou execute-as em sequência. Uma nota curta de dependência, como “precisa do novo schema da tarefa 2”, evita a maioria das surpresas na hora da integração.
Passo 2: Isole cada agente com git worktrees
Dois agentes no mesmo diretório de trabalho podem sobrescrever as alterações um do outro e confundir os testes que o outro está rodando. O isolamento confiável mais simples é uma git worktree: um diretório de trabalho adicional vinculado ao mesmo repositório, em sua própria branch.
# One worktree and one branch per agent
git worktree add -b agent/auth-refactor ../app-agent-auth
git worktree add -b agent/billing-tests ../app-agent-tests
# See what is checked out where
git worktree list
# Clean up once the branch has been merged locally (use -D after a squash merge)
git worktree remove ../app-agent-auth
git branch -d agent/auth-refactorPor padrão, o git não deixa fazer checkout da mesma branch em duas worktrees ao mesmo tempo, e essa é exatamente a proteção que você quer. Na hora da limpeza, o git worktree remove se recusa a apagar uma worktree com arquivos modificados ou não rastreados; faça commit deles ou descarte-os antes, ou use --force quando tiver certeza. Worktrees isolam arquivos, não tudo. Planeje o que elas continuam compartilhando:
- Dependências e saída de build: cada worktree geralmente precisa dos seus próprios pacotes instalados (node_modules, ambientes virtuais) e da sua própria saída de build.
- Portas: dois servidores de desenvolvimento não podem usar a mesma porta, então atribua uma porta para cada agente.
- Bancos de dados: use bancos ou schemas locais separados, nunca um ambiente de staging compartilhado.
- Arquivos de ambiente: copie apenas a configuração não sigilosa de que cada agente precisa.
Passo 3: Escreva um briefing que cada agente consiga executar
Agentes preenchem cada lacuna do briefing com suposições. Um bom briefing é curto, mas completo:
- Objetivo: uma frase que descreve o resultado, não a implementação.
- Contexto: os arquivos, módulos ou documentos que importam e as convenções a seguir.
- Limites: o que o agente não deve alterar, como interfaces públicas, migrações ou dependências.
- Definição de pronto: os testes, checagens de tipos ou comportamentos que precisam passar.
- Entrega: o que o agente deve relatar ao final, como um resumo das alterações e as dúvidas em aberto.
Instruções permanentes do projeto em um arquivo que o agente lê ao iniciar, como AGENTS.md ou CLAUDE.md, dependendo do agente, poupam você de repetir as convenções em cada briefing.
Passo 4: Acompanhe, desbloqueie e intervenha
Com os agentes rodando, seu papel muda de autor para supervisor. Confira o andamento em intervalos regulares em vez de ficar assistindo à saída de um único agente rolar na tela, e responda rápido aos pedidos de permissão, porque um agente bloqueado é tempo perdido. Interrompa cedo um agente que sai do rumo: recomeçar com um briefing mais preciso costuma ser mais rápido do que tentar salvar uma execução longa que deu errado.
Passo 5: Revise e faça o merge de uma branch por vez
Faça o merge na ordem das dependências, uma branch por vez. Depois de cada merge, faça rebase das branches restantes sobre a linha principal atualizada e rode as verificações delas de novo. Conflitos nessa etapa são informação útil: eles revelam tarefas que eram menos independentes do que pareciam.
Como evitar conflitos entre agentes de IA
A maioria dos conflitos entre agentes em paralelo vem de alguns pontos críticos compartilhados:
- Lockfiles e manifestos de dependências: permita que apenas um agente por rodada adicione ou atualize dependências.
- Migrações de banco de dados: execute-as em sequência, porque migrações geradas em paralelo podem entrar em conflito quanto à ordem ou ao estado do schema.
- Registros compartilhados, como arquivos de rotas e de configuração: dê a cada arquivo um único dono ou faça você mesmo a alteração primeiro.
- Código gerado: gere-o novamente depois do merge, em vez de mesclar arquivos gerados vindos de várias branches.
- Mudanças só de formatação: peça aos agentes que não reformatem arquivos que eles não alteraram por outro motivo.
Branches de vida curta são a outra metade da resposta: tarefas pequenas, integradas em poucas horas, geram muito menos conflitos do que branches que ficam dias se afastando da linha principal.
Como monitorar o que cada agente de IA para programação está fazendo?
Com um agente, você acompanha o terminal. Com cinco, não dá. Para cada agente, você deveria conseguir responder a estas perguntas num relance:
- No que ele está trabalhando e qual briefing recebeu?
- Em que estado ele está: rodando, aguardando uma resposta ou permissão, travado em um erro ou concluído?
- O que ele já alterou, na forma de um diff em relação à branch base?
- Quais comandos ele executou, e os testes e verificações passaram?
- Há quanto tempo está rodando e quanto de uso já consumiu?
Notificações importam tanto quanto dashboards. Um agente esperando dez minutos por uma aprovação de uma palavra é um custo oculto comum do trabalho em paralelo. Um bom ambiente de desenvolvimento de agentes destaca esses momentos na hora.
Quanto custa rodar vários agentes de IA para programação?
O custo tem duas partes: uso do modelo e tempo humano. O uso do modelo cresce com o número de agentes, a duração das execuções e o contexto que eles leem. Seja pagando por token, seja trabalhando dentro dos limites de uma assinatura, agentes em paralelo consomem esse orçamento mais rápido, e as tentativas concorrentes o gastam de propósito em trabalho que você vai descartar.
O tempo humano é o custo mais subestimado, porque a saída de cada agente precisa ser lida, testada e integrada. Uma regra prática útil: rode apenas quantos agentes você consegue revisar com o mesmo cuidado que dedica ao pull request de um colega. Para manter os dois custos sob controle:
- Mantenha as tarefas pequenas, para que as execuções sejam curtas e os diffs fáceis de revisar.
- Aponte os agentes para os arquivos relevantes, em vez do repositório inteiro.
- Interrompa execuções que saem do rumo, em vez de deixá-las terminar.
- Acompanhe o uso por tarefa para descobrir quais tipos de trabalho valem a pena delegar.
Por que a revisão humana de código gerado por IA ainda importa
Agentes de IA para programação são competentes, mas não podem ser responsabilizados pelo que entregam. Eles podem entender errado um requisito, escrever testes que validam o comportamento errado, silenciar um erro em vez de corrigi-lo ou informar que uma verificação passou quando ela nunca rodou. Código escrito por pessoas é revisado pelos mesmos motivos; agentes em paralelo simplesmente produzem mais alterações, mais rápido.
Um ciclo de revisão prático tem três camadas: o agente confere o próprio trabalho em relação à definição de pronto; opcionalmente, um segundo agente revisa o diff com um contexto novo; depois, uma pessoa lê o diff e decide se faz o merge. As camadas automatizadas reduzem o ruído; elas não substituem essa decisão.
Checklist de revisão para alterações feitas por agentes
- Leia o próprio diff, não apenas o resumo que o agente fez dele.
- Rode os testes e verificações você mesmo ou confirme que eles rodaram no CI.
- Fique atento ao aumento de escopo: arquivos alterados que o briefing nunca mencionou.
- Confira novas dependências, chamadas de rede e tudo o que envolva autenticação, pagamentos ou dados pessoais.
- Garanta que nenhum segredo, token ou caminho específico da máquina tenha entrado em um commit.
- Confirme que os novos testes exercitam o novo comportamento, e não apenas passam.
Erros comuns ao rodar vários agentes de IA
- Rodar dois agentes no mesmo diretório de trabalho e perder trabalho com arquivos sobrescritos.
- Deixar branches de agentes abertas por dias, até que o merge não seja mais limpo.
- Dar aos agentes credenciais de produção ou permissões de que eles não precisam.
- Contar quantos agentes estão rodando em vez de quantas alterações foram integradas e funcionam.
Perguntas frequentes
Qual é a diferença entre uma IDE e um ambiente de desenvolvimento de agentes?
Uma IDE tradicional é centrada em uma pessoa editando código em uma única cópia de trabalho, embora muitos editores agora incluam recursos de agentes. Um ambiente de desenvolvimento de agentes é centrado na supervisão de vários agentes de IA para programação, com isolamento do espaço de trabalho, acompanhamento de tarefas, status ao vivo e um caminho controlado de revisão e merge. Muitos desenvolvedores usam os dois: o ADE para coordenar os agentes e a IDE para inspecionar ou finalizar o trabalho deles.
Quantos agentes de IA para programação devo rodar ao mesmo tempo?
Quantos você conseguir revisar direito. Como regra prática, comece com dois ou três agentes em tarefas claramente independentes. Aumente o número apenas quando o seu processo de revisão e merge der conta. Se os diffs esperam dias por revisão, ou se você se pega fazendo merge sem ler, está rodando agentes demais.
Preciso de git worktrees para rodar agentes em paralelo?
Você precisa de alguma forma de isolamento, e git worktrees são a opção mais leve: cada agente ganha seu próprio diretório e sua própria branch dentro de um único repositório compartilhado. Clones separados ou contêineres isolam mais, mas ocupam mais espaço em disco e exigem mais configuração. Sandboxes hospedados que devolvem um pull request tiram o isolamento da sua máquina, mas não a revisão. Nunca deixe dois agentes editarem o mesmo diretório de trabalho ao mesmo tempo.
Agentes de IA para programação podem revisar o código uns dos outros?
Sim, e essa é uma camada extra útil. Um segundo agente com um briefing de revisor e um contexto novo muitas vezes encontra testes faltando, casos-limite não tratados e aumento de escopo. Mas ele não deve ser o filtro final: agentes podem ter os mesmos pontos cegos, então uma pessoa ainda deve ler o diff e decidir sobre o merge de tudo o que chega à produção.
É seguro deixar agentes de IA para programação executarem comandos na minha máquina?
Pode ser, com salvaguardas. Dê aos agentes o menor privilégio de que eles precisam, mantenha credenciais de produção fora do ambiente deles e exija aprovação para comandos destrutivos ou que acessam a rede. Trate como não confiável tudo o que um agente lê de fora da sua base de código, como issues, páginas da web ou arquivos de terceiros, porque esse conteúdo pode trazer instruções criadas para enganar o agente, um risco conhecido como prompt injection (injeção de prompt). Contêineres acrescentam uma camada extra de proteção.
Como a Neptay aborda o desenvolvimento com agentes
Projetamos agentes de IA e automações como parte dos nossos serviços para clientes e criamos nossos próprios produtos de tecnologia sob a marca Anlato. O Anlato Space, carro-chefe da família Anlato, é o nosso ambiente de desenvolvimento de agentes: muitos agentes de IA para programação lado a lado em uma única janela nativa, cada um com sua própria tarefa e status, e cada alteração aguardando a sua revisão. Ele chega em breve. Se você está desenhando um fluxo de trabalho com agentes para a sua equipe, ou quer acompanhar o Anlato Space, escreva para hello@neptay.com.