MODULO 1.7

πŸ“ Sequencial vs Paralelo: estudo comparativo

Analise aprofundada dos dois paradigmas dominantes β€” OpenCode Swarm (sequencial) e oh-my-openagent (paralelo) β€” com benchmarks, decisoes de design e sistemas de qualidade.

6
Topicos
40
Minutos
Interm.
Nivel
Analise
Tipo
1

πŸ“ 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
2

⚑ 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
3

πŸ“Š 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
4

πŸ” 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
5

🎯 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
6

πŸ”„ 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

βœ“
OpenCode Swarm (sequencial) - 8 agentes em pipeline gated, state machine formal, zero race conditions
βœ“
oh-my-openagent (paralelo) - Sisyphus coordena agentes simultaneos com zonas seguras e merge
βœ“
Benchmarks - Paralelo 3-5x mais rapido; hash checking eleva sucesso de 6% para 68.3%
βœ“
18 decisoes de design - Serial over parallel, persistent memory, heterogeneous models e mais
βœ“
6 quality gates - Syntax, placeholder, SAST, SBOM, build, quality budget β€” verificacao automatica
βœ“
Sistema Curator - Drift score 0.0-1.0, categorias ALIGNED/MINOR/MAJOR/OFF_SPEC

Proximo Modulo:

1.8 - Mapa do ecossistema agentico