6

Pitch: Como coloquei em produção um ecossistema de 76 módulos (v3.0.8) em par com agentes de IA usando Memory-Driven Development (e por que virei o gargalo humano)

Fala pessoal do TabNews!

Tenho mais de 20 anos de estrada como arquiteto de software e desenvolvedor backend. Nos últimos 14 meses, decidi testar no limite real de produção o que um único arquiteto consegue construir operando uma força de trabalho de agentes de IA — não para criar um "MVP de fim de semana", mas um ecossistema completo em produção real.

Na última sexta-feira (16/10), concluímos o cutover definitivo da versão v3.0.8 do Conn2Flow (conn2flow.com), somando 76 módulos em produção (35 no core open-source MIT + 41 na camada comercial Pro/Cloud), com provisionamento automático de servidores, checkout multi-moeda e sincronização full-duplex entre produção e ambiente de desenvolvimento.

E hoje quero compartilhar um efeito colateral curioso que aconteceu nessa reta final: os agentes ficaram tão rápidos e precisos que eu (o único humano no loop) deixei de dar conta de revisar e homologar tudo sozinho.

Aqui está a arquitetura exata que usamos para chegar nesse ponto sem transformar o código em espaguete e sem queimar milhares de dólares em tokens.


1. Da Engenharia de Prompts para o Memory-Driven Development (MDD)

No começo, caí na mesma armadilha que quase todo mundo: acreditar que janelas de contexto de 1 milhão de tokens resolveriam tudo. Jogava dezenas de arquivos no prompt e pedia para o LLM implementar uma feature.

O resultado sempre batia em três muros:

  1. Lost in the Middle: O modelo esquecia invariantes de segurança e contratos de banco definidos no meio do contexto.
  2. Contaminação de Padrões: O agente lia um script legado e replicava o padrão antigo em módulos novos.
  3. Explosão de Latência e Custo: Cada ajuste virava uma requisição pesada e lenta.

A virada aconteceu quando invertemos a lógica: quem deve carregar a cognição não é a janela de contexto do modelo, é o próprio repositório.

Estruturamos o que chamamos de MDD (Memory-Driven Development), dividido em 4 camadas dentro da pasta memory/:

  • Camada 1 (Episódica): Requisições (human-requests/), lotes de implementação (implementation/), validações e revisões (human-reviews/).
  • Camada 2 (Semântica / Normativa): Os 5 documentos raiz canônicos (00-baseline-architecture.md a 04-memory-engineering-execution.md) e o log de decisões (DECISION-LOG.md).
  • Camada 3 (Procedural): Um catálogo de 45 Skills modulares (.gemini/skills/, sincronizadas deterministicamente para Claude Code, Cursor, Codex e GitHub Copilot via sync-skills.cjs). Cada vez que um modelo errava uma regra de negócio ou armadilha do PHP/MySQL, cristalizávamos o aprendizado em uma skill.
  • Camada 4 (Raw / Sináptica): Notas de trabalho ativas com poda rigorosa.

2. Shallow Indexing (<5KB) e a Trava Tripla (Arquiteto ➔ Executor ➔ Revisor)

Para impedir que os agentes leiam 500 arquivos à toa, implementamos Shallow Indexing e a Regra dos 10:

  • Toda pasta de governança possui um index.md derivado automaticamente via CLI (php cli/c2f.php memory:index ou mdd index) com menos de 5KB.
  • O documento roteador raiz (00-baseline-architecture.md) tem teto estrito de 30KB, e a memória ativa de execução nunca passa de 50KB (usando arquivamento dual em archive/original/ e archive/compacted/).
  • Com isso, modelos médios e rápidos executam com precisão de Staff Engineer porque leem o mapa em milissegundos e abrem cirurgicamente apenas os 2 ou 3 arquivos daquela fatia atômica.

Além disso, nenhum agente faz merge do próprio trabalho. Operamos com a Trava Tripla (ARCH-015):

  1. Arquiteto: Define o contrato normativo e limites de escopo na req-XXX.md.
  2. Executor: Implementa a fatia, roda PHPUnit / Vitest / Playwright e emite um recibo verificável (completions/-receipt.json).
  3. Revisor Independente: Audita segurança, regressões e conformidade contra a spec, gerando uma ficha enxuta em memory/human-reviews/rev-XXX.md com parecer RECOMMEND-APPROVAL ou RECOMMEND-REVISION para a assinatura final do humano.

3. Versionamento Full-Duplex (Live System <=> Dev Environment) e Updates Blindados

Em CMSs e plataformas web tradicionais, o conteúdo visual e as configurações moram num blob opaco no banco de dados. Se alguém edita uma página em produção, o repositório Git fica desatualizado.

No Conn2Flow v3.0.8, tudo é um recurso versionado:

  • Páginas, layouts, templates Tailwind CSS v4, schemas e prompts de IA vivem como arquivos no Git, são compilados para o MariaDB e cacheados.
  • Se uma alteração acontece via painel ou IA, o pipeline inverso ($ c2f resources:sync) extrai do banco de volta para o Git mantendo diffs limpos.
  • No motor de atualização (v3.0.5 a v3.0.8), resolvemos os problemas clássicos de updates em produção: elevação de wait_timeout por sessão (8h) no MySQL para evitar 2006 MySQL server has gone away em migrações longas, detecção de processos órfãos no deploy.lock via posix_kill($pid, 0) (mesmo sob restrição de open_basedir), snapshot automático, health check HTTP e rollback instantâneo em caso de falha.

4. O Que Está Aberto para a Comunidade (e Onde Preciso de Braço!)

Como mencionei no início, a velocidade dos agentes criou um gargalo curioso: o sistema está imenso e preciso formar mais desenvolvedores que dominem essa arquitetura (tanto para construírem suas próprias "Software Houses de 1 Homem Só" quanto para atuarem comigo na revisão de lotes e entrega de projetos de clientes).

Para quem quiser inspecionar o código, testar ou caminhar junto:

  1. Framework MDD e as 45 Skills (Open Source): https://github.com/otavioserra/conn2flow-ai-workspace
  2. Core do Conn2Flow v3.0.8 (Open Source MIT — PHP 8.2+, CLI c2f, Tailwind v4): https://github.com/otavioserra/conn2flow
  3. Plataforma Cloud Zero-Touch & Turma Beta da Mentoria "1-Man Software House": https://conn2flow.com/pt-br/pro/ (onde ensino esse fluxo completo ao vivo e de onde vou puxar os primeiros devs certificados para demandas pagas de revisão e implementação).

Como vocês têm organizado a memória e a revisão de código dos agentes de IA nos projetos de vocês? Já bateram nesse gargalo onde revisar o código gerado consome mais tempo do que escrever? Bora trocar ideia nos comentários!

Carregando publicação patrocinada...
2
1