π OpenCode Swarm: o modelo sequencial
O opencode-swarm e um dos projetos multiagentes mais bem documentados do ecossistema, com 828+ commits e um pipeline sequencial rigoroso de 8 subagentes. Cada agente opera em uma etapa especifica e so pode passar para a proxima apos completar a sua com aprovacao. O fluxo e: Explorer (escaneia o codebase) β SME (especialista no dominio) β Architect (desenha a solucao) β Critic (avalia o plano) β Coder (implementa) β Reviewer (revisa) β Test (testa) β Docs (documenta).
A filosofia por tras dessa abordagem e que a confiabilidade supera a velocidade. Em vez de tentar fazer tudo ao mesmo tempo e lidar com conflitos, o pipeline sequencial garante que cada etapa recebe o resultado validado da etapa anterior. A maquina de estados (state machine) governa as transicoes β nao e possivel pular etapas ou executar fora de ordem. O resultado e previsivel, auditavel e depuravel, porque voce pode examinar exatamente o que cada agente recebeu e produziu.
π‘ Pipeline Sequencial de 8 Agentes
Cada agente tem uma funcao especifica e so avanca apos aprovacao:
- β’ Explorer β SME: Escaneia o codebase e repassa descobertas para o especialista de dominio que contextualiza tecnicamente
- β’ Architect β Critic: O Architect desenha a solucao e o Critic avalia viabilidade, riscos e alternativas antes de aprovar a implementacao
- β’ Coder β Reviewer: O Coder implementa e o Reviewer verifica qualidade, seguranca e aderencia ao plano β usando modelo de provider diferente (anti-blindspot)
- β’ Test β Docs: O Test Engineer valida com testes automatizados e o Docs gera documentacao atualizada β o pipeline so finaliza com tudo aprovado
π Caracteristicas do modelo sequencial
- Gated pipeline: Cada etapa tem um "portao" β o agente so avanca se o resultado atende aos criterios de qualidade
- State machine formal: Estados e transicoes sao explicitos e rastreados em arquivos β impossivel perder-se no fluxo
- Zero race conditions: Apenas um agente esta ativo por vez β eliminacao total de conflitos de escrita
- Trade-off: Mais lento que paralelo (cada etapa espera a anterior), mas significativamente mais confiavel
β‘ oh-my-openagent: o modelo paralelo
Em contraste direto com o pipeline sequencial, o oh-my-openagent (OMO) adota o paradigma paralelo. O orquestrador Sisyphus β nomeado em homenagem ao personagem mitico que nunca desiste β recebe a tarefa, decompoe em subtarefas independentes e dispara multiplos agentes simultaneamente. Enquanto o agente de backend implementa a API, o agente de frontend constroi os componentes visuais e o agente de testes prepara os casos de teste β tudo ao mesmo tempo.
O desafio do modelo paralelo e a coordenacao. Quando multiplos agentes editam o projeto simultaneamente, conflitos sao inevitaveis sem mecanismos de protecao. O OMO resolve isso com zonas seguras (cada agente trabalha em arquivos/diretorios exclusivos), hash checking (deteccao automatica de conflitos quando agentes tocam regioes proximas) e merge coordenado pelo Sisyphus (o orquestrador integra os resultados de todos os agentes ao final, resolvendo conflitos remanescentes).
π‘ Arquitetura Paralela do OMO
Como Sisyphus coordena agentes simultaneos:
- β’ Sisyphus como coordenador: Recebe a tarefa, identifica subtarefas independentes, atribui zonas seguras e dispara agentes em background
- β’ Background agents: Cada agente roda como um processo independente em seu proprio contexto β paralelismo real, nao simulado
- β’ Zonas seguras: Agente A edita /src/api, Agente B edita /src/components, Agente C edita /tests β sem sobreposicao
- β’ Merge de resultados: Sisyphus coleta os resultados de todos os agentes, resolve conflitos residuais e integra em um resultado coeso
π Caracteristicas do modelo paralelo
- Velocidade: 3-5x mais rapido que sequencial para tarefas com muitas subtarefas independentes
- 7 agentes especializados: Sisyphus, Prometheus, Hephaestus, Explorer, Librarian, Multimodal Looker e mais
- 3 modos de operacao: Auto (totalmente autonomo), Semi-Auto (aprovacao humana em pontos criticos), Manual (passo a passo)
- Trade-off: Mais rapido, mas exige mecanismos sofisticados de coordenacao e resolucao de conflitos
π Benchmarks: velocidade vs confiabilidade
A pergunta que todo arquiteto de swarms faz e: "Qual abordagem e melhor?". A resposta honesta e: depende do que voce otimiza. Dados reais mostram que a abordagem paralela e significativamente mais rapida, mas a abordagem sequencial produz resultados mais confiaveis. O dado mais impressionante vem do impacto do hash checking em swarms paralelos: sem ele, a taxa de sucesso em tarefas complexas era de apenas 6%. Com hash checking habilitado, essa taxa saltou para 68.3%.
Esse salto de 6% para 68.3% demonstra algo fundamental: o paralelismo sem mecanismos de protecao e quase inutil. Agentes que editam o mesmo codebase simultaneamente sem deteccao de conflitos produzem resultados corrompidos na vasta maioria das vezes. Mas com os mecanismos certos (hash checking, zonas seguras, merge coordenado), o paralelismo se torna viavel e imensamente mais rapido. A abordagem sequencial, por outro lado, comeca com taxa de sucesso mais alta (~75-85%) mas leva 3-5x mais tempo para completar.
π‘ Comparativo Direto
Sequencial vs Paralelo em metricas objetivas:
- β’ Velocidade: Paralelo e 3-5x mais rapido β tarefas que levam 30min em sequencial completam em 8-10min em paralelo
- β’ Confiabilidade (sem protecao): Sequencial ~80% vs Paralelo ~6% β paralelo desprotegido e praticamente inutilizavel
- β’ Confiabilidade (com hash checking): Sequencial ~80% vs Paralelo ~68.3% β gap significativamente reduzido com mecanismos corretos
- β’ Depurabilidade: Sequencial e muito mais facil de depurar β fluxo linear, cada etapa e rastreavel. Paralelo exige ferramentas de observabilidade
π Quando escolher cada abordagem
- Sequencial ideal para: Tarefas com alta interdependencia entre etapas, projetos criticos onde falhas sao caras, equipes que precisam de auditoria detalhada
- Paralelo ideal para: Tarefas com muitas subtarefas independentes, projetos com prazo apertado, situacoes onde velocidade supera perfeicao na primeira tentativa
- Hibrido (melhor opcao): Planejamento sequencial (Architect β Critic β aprovacao) seguido de execucao paralela (3 Coders simultaneos em zonas diferentes)
- Dado critico: O salto de 6% β 68.3% com hash checking mostra que a tecnologia de coordenacao e mais importante que a escolha entre sequencial e paralelo
π 18 decisoes de design do opencode-swarm
O opencode-swarm nao e apenas um projeto β e um laboratorio de aprendizado com 18 decisoes de design documentadas em seu arquivo design-rationale.md. Cada decisao tem uma justificativa clara, alternativas consideradas e razoes para a escolha. Estudar essas decisoes e como ter acesso ao caderno de notas de um arquiteto experiente que ja enfrentou (e resolveu) os problemas que voce vai encontrar.
Tres decisoes merecem destaque especial por serem contra-intuitivas: "serial over parallel" (escolher serial quando paralelo parece mais eficiente), "persistent memory" (manter estado em disco em vez de em memoria) e "heterogeneous models" (usar modelos diferentes deliberadamente em vez de padronizar). Cada uma dessas decisoes vai contra o instinto inicial de um engenheiro, mas tem justificativas solidas baseadas em experiencia real com 828+ commits.
π‘ Decisoes de Design Destacadas
As mais importantes das 18 decisoes documentadas:
- β’ Serial over parallel: "Preferimos confiabilidade a velocidade. Em 828 commits, serial eliminou classes inteiras de bugs de concorrencia que paralisavam o desenvolvimento"
- β’ Persistent memory: "Estado em disco (.swarm/) sobrevive a falhas, permite auditoria e habilita retomada de tarefas interrompidas β impossiveis com estado em memoria"
- β’ Heterogeneous models: "Coder e Reviewer usam providers diferentes para maximizar deteccao de bugs β modelos iguais concordam ate nos erros"
- β’ Gated progression: "Nenhum agente avanca sem aprovacao do gate anterior β elimina propagacao de erros ao longo do pipeline"
π Outras decisoes relevantes
- Critic before Coder: O Critic avalia o plano do Architect ANTES da implementacao β evita desperdicar tokens codificando uma solucao ruim
- Explorer first: O Explorer sempre roda primeiro β coletar contexto antes de qualquer decisao melhora dramaticamente a qualidade
- Atomic tasks: Cada agente recebe tarefas atomicas e auto-contidas β se falhar, so aquela tarefa precisa ser refeita
- Evidence-based decisions: Nenhuma decisao arquitetural e tomada sem evidencias coletadas pelo Explorer e pelo SME
π― Gates de qualidade automatizados
O opencode-swarm implementa 6 gates de qualidade automatizados que cada tarefa deve passar antes de ser aceita. Esses gates nao sao verificacoes subjetivas feitas por LLMs β sao checagens programaticas, deterministicas e reproduziveis. Se um gate falha, o agente responsavel recebe feedback especifico e deve corrigir o problema antes de tentar novamente. Nenhum codigo chega ao final do pipeline sem passar por todos os 6 gates.
Esta abordagem resolve um problema fundamental dos swarms: como garantir qualidade quando quem produz e quem verifica sao ambos LLMs? A resposta e nao depender apenas de LLMs para verificacao. Os gates usam ferramentas tradicionais de engenharia de software β linters, analisadores estaticos, compiladores, test runners β que produzem resultados objetivos e incontestΓ‘veis. O LLM escreve o codigo; a ferramenta automatica verifica se o codigo e valido.
π‘ Os 6 Gates de Qualidade
Cada gate verifica um aspecto diferente, em ordem de execucao:
- β’ Gate 1 β Syntax: Verifica se o codigo e sintaticamente valido usando Tree-sitter β detecta erros de sintaxe antes de qualquer outra analise
- β’ Gate 2 β Placeholder: Busca por placeholders residuais (TODO, FIXME, "implement here") β garante que nenhum trecho ficou incompleto
- β’ Gate 3 β SAST (Static Application Security Testing): Analise de seguranca estatica baseada no OWASP Top 10 β detecta vulnerabilidades conhecidas
- β’ Gate 4 β SBOM (Software Bill of Materials): Rastreia dependencias e verifica vulnerabilidades conhecidas em bibliotecas usadas
- β’ Gate 5 β Build: Verifica se o projeto compila e executa corretamente β testes unitarios passam, build nao quebra
- β’ Gate 6 β Quality Budget: Verifica se a qualidade geral (cobertura de testes, complexidade ciclomatica) esta dentro do "orcamento" definido
π Impacto dos gates
- Sem gates: ~40% dos resultados do swarm contem erros de sintaxe, placeholders ou vulnerabilidades β exigem correcao manual
- Com 6 gates: Erros residuais caem para menos de 5% β e os que passam sao erros logicos sutis, nao falhas grosseiras
- Feedback automatico: Cada gate que falha envia ao agente responsavel exatamente o que esta errado e onde β o agente corrige sem intervencao humana
- Tempo adicional: Os 6 gates adicionam ~30 segundos ao pipeline β investimento minimo para eliminacao massiva de defeitos
π Sistema Curator: drift plano vs realidade
Um dos conceitos mais inovadores do opencode-swarm e o sistema Curator β um mecanismo de monitoramento quantitativo que mede continuamente o desvio (drift) entre o plano original e a implementacao real. Em qualquer projeto complexo, a implementacao tende a se afastar do plano: o Coder faz escolhas diferentes das planejadas pelo Architect, ou descobre obstaculos que exigem mudancas de rota. O Curator detecta essas divergencias e alerta antes que se tornem problemas.
O drift e quantificado em uma escala de 0.0 a 1.0, com quatro categorias: ALIGNED (0.0-0.2, implementacao segue o plano fielmente), MINOR (0.2-0.5, desvios pequenos e aceitaveis), MAJOR (0.5-0.8, desvios significativos que exigem revisao do plano) e OFF_SPEC (0.8-1.0, implementacao diverge tanto do plano que precisa ser refeita). Quando o drift atinge MAJOR, o Curator notifica o orquestrador, que pode pausar a execucao, revisar o plano e realinhar a equipe.
π‘ Escala de Drift
Como o Curator classifica o desvio entre plano e implementacao:
- β’ ALIGNED (0.0-0.2): Implementacao segue o plano fielmente. Desvios cosmeticos ou melhorias menores sao aceitaveis. Nenhuma acao necessaria
- β’ MINOR (0.2-0.5): Desvios pequenos β talvez o Coder escolheu uma biblioteca diferente da planejada, ou reorganizou a estrutura de arquivos. Registro para auditoria, sem bloqueio
- β’ MAJOR (0.5-0.8): Desvios significativos β a arquitetura mudou, APIs foram alteradas, dependencias criticas foram substituidas. Orquestrador e notificado para revisao
- β’ OFF_SPEC (0.8-1.0): Implementacao nao corresponde ao plano. O trabalho pode precisar ser descartado e refeito com um plano revisado. Execucao pausada automaticamente
π Por que drift monitoring importa
- Sem monitoramento de drift: Equipes so descobrem que a implementacao divergiu do plano no final β quando corrigir custa 10x mais
- Com Curator: Desvios sao detectados em tempo real, permitindo correcao de rota antes que acumulem
- Conceito unico: Poucos sistemas multiagentes implementam monitoramento quantitativo de drift β o opencode-swarm e pioneiro nessa abordagem
- Aplicacao mais ampla: O conceito de drift monitoring pode ser aplicado a qualquer projeto de software, nao apenas swarms β e uma ferramenta de governanca universal
π Resumo do Modulo
Proximo Modulo:
1.8 - Mapa do ecossistema agentico