Como o Uncle Bob Organiza Redes Neurais com tmux e git worktrees
Uncle Bob (Robert Martin), criador do Manifesto Ágil e autor dos livros Clean Code, publicou um novo projeto chamado SwarmForge no GitHub. No topo do README, um aviso vermelho em letras maiúsculas pede aos leitores que não comprem o token de criptomoeda SWARM, com o qual o autor não tem nenhuma ligação. Por trás desse banner peculiar está uma ideia interessante: um sistema multi-agente construído com ferramentas Unix, scripts zsh e git worktrees.
Enquanto a maioria dos autores de frameworks de IA lota suas soluções com bibliotecas Python pesadas, o SwarmForge resolve o problema localmente e de forma pragmática.
Por que Executar Múltiplos Agentes ao Mesmo Tempo
Quando você dá a um coder baseado em Claude ou Copilot uma tarefa complexa, ele rapidamente atinge os limites de contexto. Ou então, quebra silenciosamente o código vizinho. Na vida real, os programadores resolvem isso através da divisão do trabalho. Um escreve especificações, outro codifica usando TDD, um terceiro verifica a arquitetura e refatora.
O SwarmForge traz essa prática para as redes neurais. A ferramenta cria sessões tmux, atribui a cada agente um papel e um git worktree separado, e então organiza a troca de tarefas entre eles. Como resultado, os agentes trabalham no mesmo repositório simultaneamente, mas fisicamente não interferem uns com os outros nem sobrescrevem os arquivos dos outros.
Conjuntos de Papéis Prontos
Em vez de configuração extensa, o autor oferece o download de cenários prontos de diferentes branches do repositório:
- Branch two-pack. Desenvolvimento expresso para tarefas pequenas: o coder implementa comportamento via TDD, e o cleaner remove duplicatas e corrige falhas arquiteturais.
- Branch four-pack. Ciclo padrão com especificador Gherkin, coder, refatorador e arquiteto.
- Branch six-pack. Cadeia completa com uma etapa separada de hardening por mutação e um agente de QA.
- Build custom. Sua própria variante de um conjunto arbitrário de papéis, descrita em um arquivo de configuração texto.
Você pode atribuir um CLI client separado a cada papel. Nada impede de colocar o Claude no papel de arquiteto e entregar tarefas rotineiras ao Codex ou Copilot.
Passagem de Tarefas Entre Agentes
O principal problema com sistemas multi-agente é que os agentes adoram enviar spam uns aos outros com mensagens e perder contexto. O SwarmForge não tem chat direto entre redes neurais.
Em vez de invocação direta de comandos, o SwarmForge executa um daemon em segundo plano no Babashka (um interpretador Clojure para scripts). O daemon monitora os diretórios outbox e inbox no sistema de arquivos .swarmforge/handoffs/.
Quando um agente termina uma etapa, ele chama um script local swarm_handoff.sh. O script verifica o handoff e cria um arquivo de tarefa. Se código estiver sendo transferido, o agente deve especificar o hash de commit exato de 10 caracteres. O daemon pega o arquivo, verifica o commit e move-o para a inbox do próximo agente.
Essa abordagem protege contra alucinações. Uma rede neural não pode passar o trabalho adiante se não tiver feito commit das mudanças no seu git worktree.
Configuração e Lançamento
Todas as configurações são armazenadas em um simples arquivo texto swarmforge/swarmforge.conf. Cada linha descreve uma janela e define seu papel, provider, nome do worktree e parâmetros adicionais de CLI:
window coordinator codex master
window coder copilot wt-coder --yolo
window refactorer claude wt-refactorer
window architect claude wt-arch task --dangerously-skip-permissions
Lançar o sistema em um projeto existente leva alguns comandos no terminal. Escolha uma branch, baixe o archive e execute o script de entrada:
BRANCH=four-pack
curl -L "https://github.com/unclebob/swarm-forge/archive/refs/heads/${BRANCH}.tar.gz" | tar -xz --strip-components=1
./swarm
O script ./swarm verifica os utilitários, baixa scripts compartilhados da branch main, inicializa git worktrees para cada papel e abre sessões tmux. No macOS ele automaticamente abre o Terminal.app ou Ghostty, no Windows — Windows Terminal via WSL.
Ao iniciar, o SwarmForge tenta bloquear o modo de suspensão do SO via caffeinate no macOS ou systemd-inhibit no Linux, para que os agentes não durmam no meio do trabalho.
Quem Se Beneficiará do SwarmForge
O projeto deixa uma impressão interessante. Por um lado, você pode ver o estilo característico do Uncle Bob: ênfase em TDD, métricas de qualidade de código, especificações Gherkin e regras rígidas da clean architecture. Por outro lado, a dependência do Babashka, tmux e ferramentas CLI específicas torna a barreira de entrada perceptível.
Se as ideias do Clean Code ressoam com você e você quer experimentar com desenvolvimento autônomo sem frameworks pesados como AutoGen ou CrewAI, o SwarmForge vale a pena testar. É um bom exemplo de como utilitários básicos do Unix e um fluxo de trabalho Git adequado ajudam a coordenar sistemas de IA complexos.