Um agente de desenvolvimento pode lidar com múltiplos componentes ou tarefas simultaneamente, mas isso pode levar a conflitos de recursos compartilhados. O uso de worktrees é uma solução prática para esse problema, permitindo que cada agente tenha um checkout independente do repositório principal.

Agentes em paralelo precisam de worktrees, não de mais abas

Worktrees e Conflitos de Recursos

Quando múltiplos agentes trabalham no mesmo checkout, eles podem se confrontar sobre os mesmos recursos. Por exemplo, um agente pode alterar um arquivo que outro agente acabou de modificar. Isso pode levar a reexecuções desnecessárias e problemas de integração.

Implementação de Worktrees

Para resolver esses conflitos, ferramentas de agentes estão adotando a ideia de worktrees. Um worktree é uma cópia isolada de um checkout ligada ao mesmo repositório Git. Cada agente recebe um checkout separado, permitindo que eles trabalhem em paralelo sem compartilhar o checkout principal.

Limitações dos Worktrees

Embora os worktrees resolvam muitos problemas de conflito, eles não são uma solução completa. Os worktrees não isolam completamente os agentes. Por exemplo, eles não separam as credenciais, o acesso à rede ou os bancos de dados locais. Isso significa que dois agentes ainda podem alterar o mesmo contrato em branches diferentes.

Estrutura de Worktrees

Para implementar worktrees, é importante definir um contrato claro para cada tarefa. Isso deve incluir o objetivo da tarefa, os caminhos sob sua responsabilidade, as superfícies compartilhadas e os comandos de validação. Além disso, o agente deve ser capaz de fornecer commits, resumos de diff, resultados de check e falhas.

Conclusão

Os worktrees são uma ferramenta útil para otimizar a execução de agentes em paralelo. Eles permitem que múltiplos agentes trabalhem em paralelo sem compartilhar o checkout principal, reduzindo conflitos e otimizando o processo de integração. No entanto, é importante lembrar que os worktrees não são uma solução completa e que ainda há limitações em termos de isolamento dos agentes.

AgentesMaisParaleloPrecisamWorktrees