Por que meu orquestrador de IA nunca deixa um agente validar o próprio trabalho
Depois de 21 anos como Sargento no Corpo de Bombeiros Militar de Minas Gerais, entrei numa transição de carreira para desenvolvimento de software. Enquanto curso Análise e Desenvolvimento de Sistemas no IFSP e sigo evoluindo em bootcamps aqui na DIO (Cisco Networking Academy, Inteligência Artificial pela USP, e agora o Bootcamp Bradesco - GenAI, Dados & Cyber), decidi construir um projeto pessoal que unisse tudo que venho estudando: o MyLittleFactory.
O que é
Um orquestrador que automatiza parte do ciclo de TDD (Test-Driven Development) usando três agentes de IA especializados, rodando sobre um LLM local via RamaLama (gemma3:4b), sempre com aprovação humana obrigatória entre as etapas:
- Agente de Testes (RED): gera testes que devem falhar, a partir de um requisito em linguagem natural.
- Agente de Código (GREEN): implementa até passar nos testes reais, com até 3 tentativas automáticas usando o feedback dos erros do pytest.
- Agente de Validação: cria testes novos e independentes, sem nunca ver os testes originais.
A decisão de design que mais me ensinou
Se o mesmo agente escreve o teste e o código que passa nele, ele pode "satisfazer" o teste de forma superficial, como um aluno corrigindo a própria prova. Por isso, o agente de validação nunca tem acesso aos testes originais, só ao requisito e ao código final. Se ele reprovar, o processo para e espera decisão humana. Não existe retentativa automática nessa etapa, diferente da fase de implementação.
Achei essa separação óbvia demais pra comentar até tentar documentar o projeto e perceber, revisando com calma, que eu mesmo tinha descrito esse comportamento errado no README na primeira versão. Corrigir isso me fez entender melhor a própria decisão de arquitetura do que quando escrevi pela primeira vez, já que documentar com precisão obriga você a confirmar que realmente entende o que o código faz, não só o que você pretendia que ele fizesse.
Por que estou compartilhando aqui
Sei que muita gente na comunidade DIO está, como eu, migrando de carreira ou testando os primeiros projetos combinando IA aplicada com fundamentos sólidos de engenharia (TDD, arquitetura, testes). Se você está no mesmo caminho, ou já mexeu com agentes de IA em fluxos de múltiplas etapas, tenho curiosidade genuína de trocar ideia nos comentários: que abordagens vocês estão usando pra evitar que o agente "confie demais em si mesmo"?
O código completo está em github.com/DevSchoof/MyLittleFactory, e escrevi uma versão mais aprofundada da arquitetura no Medium, para quem quiser entender cada decisão em detalhe: Construí um sistema onde agentes de IA não podem confiar uns nos outros.
Se esse conteúdo te ajudou ou você tem sugestões de melhoria pro projeto, deixa um comentário ou um upvote. Ainda estou no começo dessa jornada e todo feedback da comunidade ajuda a evoluir.



