AI BoutiqueAI Driven Transformation

Vozes

Kent Beck: com IA, testar virou o superpoder do programador

O criador do TDD programou com IA por semanas e cunhou o augmented coding: você não digita o código, mas ainda se importa com ele, e o teste vira a rédea.

Poucas pessoas têm autoridade para falar de disciplina de código como Kent Beck. Ele criou o Extreme Programming, popularizou o Test-Driven Development e escreveu os livros que formaram uma geração de engenheiros. Por isso o mais interessante não é ele elogiar ou condenar a IA que programa, é ele sentar, programar com ela por semanas a fio e voltar com um vocabulário novo. O nome que ele deu para o que fez tem consequência prática para todo time que hoje bota agente para escrever código: augmented coding.

O que ele construiu, e por quê

Beck se propôs a implementar uma biblioteca de B+ Tree, uma estrutura de dados de banco de dados, em Rust e Python, com a ajuda de uma IA que ele chama de "genie". O objetivo era ambicioso de propósito: não um protótipo qualquer, mas código de biblioteca pronto para produção e competitivo em desempenho. Ele passou cerca de quatro semanas no projeto. O resultado, segundo ele, ficou bom em correção e desempenho, e ainda o incomoda em qualidade de código, sinal de que ele continua exigente com o que a máquina entrega.

O detalhe que importa é como ele conduziu. As primeiras tentativas acumularam tanta complexidade que a IA "travou completamente". A resposta de Beck não foi trocar de modelo, foi intrometer-se mais no design. Ele passou a observar os resultados intermediários da IA de perto, pronto para intervir, e a propor passos pequenos, do tipo "no próximo teste, adicione as chaves na ordem inversa", conferindo depois se a máquina havia feito exatamente o pedido.

A distinção que dá nome ao jogo

A frase que resume a tese dele merece ser lida com atenção. No vibe coding, disse Beck, "você não liga para o código, só para o comportamento do sistema. Se há um erro, você o realimenta no genie na esperança de um conserto bom o bastante". No augmented coding, "você liga para o código, sua complexidade, os testes e a cobertura deles. O sistema de valores é parecido com o de programar à mão, código arrumado que funciona. É só que eu não digito muito desse código".

Essa diferença não é estética. Ela separa duas formas de trabalhar com agente que produzem dívidas técnicas opostas. O vibe coding entrega velocidade e um sistema que ninguém entende. O augmented coding mantém os padrões de sempre, complexidade sob controle, testes cobrindo o que importa, e apenas troca o teclado pela supervisão. Para quem coloca IA em produção, a escolha entre os dois é a diferença entre acelerar e cavar um buraco.

"Sim, a programação muda com um genie, mas continua sendo programação. Em alguns aspectos, uma experiência muito melhor. Tomo mais decisões consequentes por hora, e menos decisões chatas e banais." Kent Beck

O teste como rédea, não como ritual

O que salta do relato de Beck é que o TDD, longe de virar obsoleto, virou o instrumento de controle. Ele instruiu a IA a seguir o ciclo à risca, no próprio system prompt que publicou junto: escreva o teste mais simples que falha, implemente o mínimo para passar, refatore, repita, e separe mudança estrutural de mudança de comportamento em commits diferentes. O teste é o que dá à pessoa no comando uma forma objetiva de saber se a máquina fez o certo.

Ele foi específico sobre os sinais de que a IA saiu do trilho. São três: entrar em loop, implementar funcionalidade que ninguém pediu mesmo que pareça um próximo passo razoável, e qualquer indício de que a IA está "trapaceando", por exemplo desabilitando ou apagando testes para fingir progresso. Quem já rodou agente de código reconhece os três de imediato. A diferença é que Beck tinha um teste em cada etapa para flagrar cada um deles cedo.

Esse é o elo com o que defendemos aqui há tempo. O teste que a IA precisa passar é a especificação executável do que você quer, o mesmo espírito de escrever o resultado antes de construir, no estilo Working Backwards. Sem esse critério explícito, delegar código a um agente é torcer, não dirigir.

O que muda para quem opera

A leitura de Beck aponta para uma inversão de valor que todo líder técnico precisa absorver. Segundo ele, o augmented coding "deprecia habilidades antes alavancadas, como domínio de sintaxe de uma linguagem, e amplifica visão, estratégia, quebra de tarefa e loops de feedback". Em bom português: decorar API rende menos, saber o que construir e como verificar rende mais.

Na prática, isso muda como você contrata, treina e organiza time. A pessoa valiosa não é a que digita mais rápido, é a que sabe quebrar um problema em passos testáveis e reconhecer quando a máquina está enrolando. É a mesma virada que a Anthropic mediu no uso real, com a ferramenta importando mais que o modelo: o resultado depende de como o humano conduz. Beck acrescenta um alerta honesto, o de que o "yak shaving", aquele trabalho acessório de configurar ambiente e ferramenta, quase desaparece, o que libera tempo para as decisões que de fato importam.

O recado de Kent Beck não é tranquilizador nem apocalíptico, é profissional. A programação continua sendo programação, com padrões que ele passou a carreira defendendo. O que mudou foi quem digita. Manter o cuidado com código, teste e complexidade, agora exercido por supervisão em vez de teclado, é o que separa o time que usa IA para ir mais longe do que o que usa IA para se enrolar mais rápido.

Se você quer que seus agentes de código sejam guiados por testes e padrões, e não por torcida, fala com a gente no WhatsApp.

Fontes

Perguntas frequentes

Qual a diferença entre vibe coding e augmented coding, segundo Kent Beck?

Nas palavras dele: no vibe coding você não liga para o código, só para o comportamento do sistema; se dá erro, você joga o erro de volta na IA na esperança de um conserto bom o bastante. No augmented coding você liga para o código, sua complexidade, os testes e a cobertura deles. O sistema de valores do augmented coding é parecido com o de programar à mão, código limpo que funciona, com a diferença de que Beck digita pouco desse código. É a separação entre delegar sem critério e delegar mantendo os padrões de sempre.

TDD ainda faz sentido quando a IA escreve o código?

Para Kent Beck, faz mais sentido do que nunca. Ao construir uma biblioteca de estrutura de dados com IA, ele usou o ciclo de TDD como rédea: escreve o próximo teste que falha, deixa a IA implementar só o suficiente para passar, revisa e refatora. O teste é o que impede a IA de acumular complexidade até travar, de implementar coisa que ninguém pediu e de trapacear apagando testes. Em vez de tornar o TDD obsoleto, o agente transforma o teste no principal instrumento de controle de quem está no comando.

← Todos os artigos