Programação com AI: Entre o caos e o paraíso
O que aprendi unindo experiência técnica e ferramentas de AI na prática do desenvolvimento moderno
A cena se repete cada vez mais: alguém sem experiência posta um vídeo ou thread entusiasmada, dizendo que está construindo um sistema inteiro com inteligência artificial. Em pouco tempo, o sonho vira confusão — erros inesperados, componentes quebrados, funcionalidades que desaparecem do nada. Parece ficção, mas é um reflexo bem real do que está acontecendo com a popularização das ferramentas de AI para desenvolvimento.
É fácil se encantar com o potencial dessas tecnologias. Afinal, quem nunca quis acelerar uma entrega, gerar aquele boilerplate chato com um comando só ou, quem sabe, ter uma ajuda para revisar uma lógica complicada em tempo real? Só que, como Head de Engenharia hoje acompanhando dezenas de squads de desenvolvimento e alguém que tem experimentado intensamente essas ferramentas nos últimos meses, dá pra dizer com alguma tranquilidade: existe muito valor, mas também muito exagero por aí.
O valor real das IDEs inteligentes
Minha primeira conclusão nesse processo foi que IDEs inteligentes pra tirar o peso das costas do time. Elas ajudam no dia a dia com sugestões contextuais, completam estruturas repetitivas, localizam funções esquecidas no meio do código, e otimizam tarefas triviais que, em time tradicional, exigiriam mais tempo ou mais atenção.
Se antes era preciso manter um olho na documentação e outro no editor, agora ferramentas como o GitHub Copilot e outros assistentes embutidos em um VS Code, por exemplo, estão ali, como um pair programming silencioso, pronto para sugerir atalhos. Mas é importante entender: esses assistentes não pensam por você. Eles aceleram o que é rotineiro, mas o design do sistema, as decisões de arquitetura e o entendimento profundo do domínio ainda são (e vão continuar sendo) função de quem programa.
“Inteligência artificial na IDE é como um bom estagiário: eficiente, rápido, mas precisa ser bem orientado. Se você largar tudo nas mãos dele, vai acabar apagando incêndio depois.”
Vibe Coding: um foguete nas mãos certas
Agora, se IDE inteligente é o assistente, o vibe coding é como entregar a chave do carro e dizer: “dirige aí”. Ferramentas como Replit, Bolt.new, Lovable e similares se propõem a gerar blocos inteiros de sistemas com base em instruções em linguagem natural. E quando funciona, é uma maravilha: você descreve o que precisa e vê tudo tomando forma em minutos.
Nas minhas experiências, essa abordagem acelera absurdamente o início de projetos, especialmente os de baixa ou média complexidade. Gera estrutura, arquivos, arquitetura básica — tudo muito rápido. Para quem sabe o que está fazendo, é um motor que empurra para frente. Para quem não sabe, é um convite ao caos. Vi mais de uma vez esses ambientes quebrando código funcional porque uma instrução mal interpretada acabou sobrescrevendo algo importante.
E é aí que entra a diferença: vibe coding é para quem já tem estrada, para quem sabe planejar, descrever o que quer e checar o que foi gerado com olho clínico. Quanto mais abstrato o pedido — “construa um sistema de X com as funcionalidades Y e Z” —, maior o risco. Quanto mais detalhado e segmentado — “atualize o arquivo A com tal funcionalidade, sem alterar o bloco B” —, melhor o resultado.
“A inteligência da ferramenta é limitada pelo grau de clareza do seu pensamento. Se você não sabe o que quer, ela vai fingir que sabe — e aí o desastre vem bonito.”
Essas ferramentas ganham outra camada de utilidade quando você começa a documentar antes de pedir. Criar um plano de implementação em Markdown, separar etapas, listar arquivos e comandos — e só então acionar a AI para executar item por item, marcando o que foi feito. Essa prática simples muda tudo. Funciona quase como um checklist interativo e permite rastrear exatamente o que foi alterado.
Além disso, uma estratégia que testei e recomendo é o uso de prompts tipo AI Shield: antes de pedir qualquer coisa, incluo um bloco com instruções claras sobre como a ferramenta deve se comportar (por exemplo, não sobrescrever arquivos sem aviso, sempre comentar mudanças, dividir o processo em passos). Isso evita surpresas e reduz significativamente a chance de quebrar o que já estava funcionando.
O futuro que faz sentido: integração com validação contínua
Apesar das falhas e limitações, existe uma convergência interessante no horizonte. A ideia de unir IDEs inteligentes, vibe coding e servidores de contexto (como MCPs) com ferramentas de análise contínua (SAST, DAST, testes automatizados) pode ser o pulo do gato que a indústria precisa.
Imagine um ciclo em que o código gerado por AI seja automaticamente validado por ferramentas de segurança e qualidade, com feedbacks contínuos e correções propostas no mesmo fluxo. Nesse cenário, o papel da AI não seria apenas escrever código, mas ajudar a manter ele saudável, seguro e performático ao longo do tempo.
Essa é, na minha visão, a fronteira mais promissora do desenvolvimento com apoio de AI hoje. Não é sobre substituir times, mas refinar e acelerar o trabalho de quem já sabe o que está fazendo. É sobre colocar a máquina como apoio confiável, e não como autora.
No fim: Caos ou paraíso — depende de quem está guiando
Não existe resposta simples aqui. Programar com AI pode ser um caos total ou uma aceleração absurda. Depende do contexto, da experiência de quem usa e, principalmente, de como a ferramenta é instruída.
Minha sugestão é: trate a AI como um copiloto. Planeje, documente, detalhe o que precisa. Use bem as IDEs para tirar o peso do dia a dia e explore o vibe coding com consciência — sabendo que, se pedir demais de forma vaga, o resultado vai te deixar no escuro.
DISCLAIMER: Esse post está sendo feito em ABR/2025 e minha expectativa genuína é que essas ferramentas melhorem absurdamente nos próximos meses, a ponto dos cenários “negativos” relatados aqui serem completamente superados.