Existem duas narrativas predominantes sobre a vibe coding. A primeira é que você pode escrever uma única frase, e a IA lhe devolverá um aplicativo de um milhão de dólares. A segunda é que, como a IA está escrevendo todo o código, os humanos não têm ideia do que está dentro dele. Portanto, deve eventualmente falhar e causar um apocalipse em larga escala.
Ambas as narrativas são caricaturas da realidade. Em artigos anteriores, falei sobre meu trabalho em uma variedade de projetos de vibe coding. Vimos como eles são incríveis e também dão muito trabalho. Neste artigo, vou mergulhar fundo nas questões de manutenção e sustentabilidade que surgem ao ceder o controle da codificação para uma máquina.
Quando eu era um jovem gerente de produto, fui enviado para Los Angeles para apoiar nosso VP de vendas. Ele decidiu me levar a um de seus restaurantes favoritos. Este restaurante era especializado em culinária de fusão, o que significava que o chef misturava muitas influências diferentes em sua comida. Tinha reputação pelo prato especial do chef, que era o que o chef decidisse criar para você naquela noite.
Lembro-me de me perguntar no que diabos eu tinha me metido. Eu sabia que receberia comida, mas não tinha ideia do que seria obrigado a ingerir. No final, a comida que comemos naquela noite era... estranha. Era comestível. Não era um lugar para onde eu voltaria voluntariamente.
A codificação agente é muito parecida com ir àquele restaurante. Você sabe que a reputação da IA de codificação que está usando é boa, mas realmente não tem ideia do que será entregue a você. Você tem pouca visão do código real vindo da IA. Você basicamente terá que comer, independentemente do que foi servido.
Quando você tem agentes escrevendo seu código, é como ter um monte de contratados ou subordinados escrevendo seu código. Até você testar e avaliar, não tem ideia do que vai receber.
Tudo depende do seu prompt. Lixo entra, lixo sai tem um significado muito mais profundo do que a velha frase batida sugere. Se você não der um prompt claro o suficiente, e não mantiver a conversa com clareza e supervisão suficientes, o código que você receberá da IA será difícil de engolir.
Gerentes de engenharia enfrentam o desafio de gerenciar contratados sob sua supervisão desde os tempos das pirâmides. Atribuir trabalho e avaliar o produto do trabalho é o que os gerentes de engenharia fazem. Manter qualidade e controle nesse processo está no centro da engenharia de software.
Por outro lado, embora grande parte do pessimismo sobre vibe coding seja hipérbole, também há verdade nisso. Sem padrões e práticas de qualidade, você pode acabar com código problemático. Neste artigo, discutiremos os mitos em torno da codificação agente e as melhores práticas que ajudarão você a obter das IAs o que pediu.
Muitos defensores da codificação por IA recomendam fornecer à IA documentos de requisitos profundos e ricos. No entanto, minha experiência é que as IAs podem interpretar mal um único elemento desse documento profundo e sair completamente dos trilhos de maneiras que você não consegue rastrear ou encontrar.
Prefiro dar à IA uma tarefa simples de cada vez. Uma vez concluída com sucesso, dou outra. Dessa forma, há menos oportunidade para a IA ou para mim perder o controle do plano geral.
Como desenvolvedor solo, eu costumava escrever código linha por linha. Suava cada linha. Sabia tudo sobre meu código. Mas quando era gerente de engenharia, tinha que confiar em minhas equipes e nos desenvolvedores individuais delas.
Claro, tínhamos codificadores (aproximadamente o equivalente a agentes). Mas ainda precisava construir uma disciplina de teste e integração no sistema, para garantir que o que fosse submetido por qualquer um de nossos codificadores ou contratados funcionasse com todo o resto.
Se você vai usar codificação agente, precisará fazer o mesmo. Pontos de verificação em cada etapa. Acompanhe cuidadosamente a integração. Suponha que está recebendo entrega de contratados externos e, portanto, precisa verificar o trabalho deles antes de incorporá-lo ao seu projeto principal.
Tenho um amigo que temo compartilhar meu software