4

Muito bom o post! A sacada de isolar os contextos em subagentes para evitar contaminação é a direção certa...

Mas fiquei com uma dúvida sobre o fluxo. O que exatamente é a "descrição da feature" que você passa para o tdd-test-writer?

No seu exemplo, o comando foi bem enxuto ("adiciona um botão de export CSV no dashboard"), mas o teste gerado já veio com a label exata do filtro ('De'), o nome do botão ('Export CSV') e o padrão do arquivo baixado (/^dashboard-2026-07-01/).

No TDD clássico (humano), a implementação DEVE seguir o teste porque o humano colocou a regra de negócio real ali. Mas no fluxo com IA, se o subagente de teste inventa a spec e o subagente de implementação segue a alucinação só para ficar verde...

Ou seja, ta gastando milhares de tokens apenas para inverter a ordem do problema (passando o "gabarito" da implementação para o teste) ao invés de resolver a ambiguidade da especificação???

Carregando publicação patrocinada...
1

Boa crítica, e a culpa é minha: o exemplo do post ficou comprimido demais e passou a impressão errada, porque aquele "adiciona um botão de export CSV no dashboard" não é o que o subagente recebe de verdade.

Tem um passo antes que eu não mostrei. Antes de acionar o tdd-test-writer eu monto uma matriz de cobertura junto com os requisitos: caminho feliz, valores limite, casos de erro, dependência de estado e efeitos colaterais. O nome do campo, do botão e do arquivo entra aí. O subagente recebe essa matriz, não a frase de uma linha que eu usei no exemplo. Essa parte fica comigo justamente porque é decisão.

Ou seja, você tem razão no ponto principal. O isolamento só impede que o teste seja derivado da implementação. A ambiguidade da especificação continua sendo problema meu, e é aí que eu gasto o tempo agora.

Valeu pelo recorte; vou ajustar o texto para mostrar essa etapa, porque escondê-la atrás de um comando de uma linha foi exatamente o que gerou a sua dúvida.