Nos Fragments de 29 de abril, Martin Fowler reuniu três artigos sobre programação agentiva que chegam à mesma conclusão. O investimento que importa não está em velocidade de geração de código, mas em verificação, harness e legibilidade do código para agentes.
A contribuição mais direta é de Chris Parsons, em sua terceira atualização do guia 'Coding with AI'. O argumento central é que o conceito de "verified" precisou evoluir junto com o throughput dos agentes de IA.
"'Verified' used to mean 'read by you'. With modern agent throughput, it has to mean 'checked by tests, by type checkers, by automated gates, or by you where your judgement matters'. The check still happens; it just does not always happen in your head."— Chris Parsons
Em outras palavras, a verificação não deixou de existir. Ela migrou de leitura humana para ferramentas automatizadas quando o volume gerado por agentes superou a capacidade de revisão individual. Isso não é uma degradação do processo: é uma adaptação necessária.
Parsons também distingue dois modos de uso de IA no desenvolvimento. Vibe coding é quando você gera código sem olhar, sem se responsabilizar pela estrutura. Agentic engineering é quando o engenheiro continua responsável pela qualidade e a IA é uma ferramenta no processo, não um substituto do engenheiro.
"The way out is to train the AI so the diffs are right the first time, to make yourself the person on the team who shapes the harness, and to make that work the visible thing you are measured on."— Chris Parsons
Birgitta Böckeler, em artigo publicado no martinfowler.com em discussão com Chris Ford, desenvolve o conceito de Harness Engineering. A ideia central: sensores computacionais (testes, análise estática, type checkers) aumentam a qualidade do código gerado por IA de forma mais confiável do que revisão humana.
"LLMs are great for exploratory and fuzzy rules, but once you have something objective, converting it to formal, unambiguous, deterministic format can give more assurance."— Birgitta Böckeler
Ou seja, quando uma regra de qualidade se torna objetiva e determinística, formalizá-la em código (como um teste ou um tipo) oferece mais garantia do que depender de revisão humana para capturá-la.
O ponto prático: antes de otimizar prompts para o agente, vale verificar se o harness de verificação consegue detectar os problemas que o agente pode introduzir. Um harness fraco significa que melhores prompts apenas produzem bugs mais sofisticados.
O terceiro artigo é de Adam Tornhill sobre o impacto do tamanho de funções na qualidade do código gerado por LLMs. O ponto relevante: LLMs dependem fortemente de nomes, estrutura e contexto local para inferir significado. Quando identificadores significativos são substituídos por nomes arbitrários, a performance do modelo cai de forma significativa.
Isso tem implicação direta para times que usam agentes para trabalhar em código legado com nomenclatura inconsistente. A qualidade do output do agente é, em parte, função da qualidade dos identificadores no código de entrada.
Os três convergem para a mesma tese: em programação agentiva, o diferencial não está em gerar mais rápido. Está em review surfaces que escalam, harness robusto e código estruturado de forma que o agente possa raciocinar sobre ele com precisão.
Devemos analisar onde está o gargalo real do nosso processo antes de decidir onde investir: se o gargalo é geração, melhorar prompts faz sentido. Se é verificação, investir em harness tem retorno maior.