Vibe coding é furada
Minhas péssimas experiências com ferramentas de IA

Introdução

Quando LLMs começaram a se popularizar no modelo que a maioria de nós conhecemos (ChatGPT), a comunidade de programadores foi fortemente atingida. Vieram os comentários do tipo “não precisaremos mais de programadores”, “o futuro é a engenharia de prompt” como se essa nova tecnologia viesse para por fim nessa profissão. Esses comentários são bem suspeitos, ainda mais quando você considera o quão bem programadores ganham e o quanto essa profissão é valorizada em relação as demais. É quase como se estivessem tentando criar um pânico moral para abaixar o valor do trabalho, um ciclo que se repete com todas as novas tecnologias que são adotadas.

As empresas de IA estão torrando dinheiro e estão desesperadas tentando vender a ideia de que IA para programação é o futuro para conseguir lucrar com empresas e outros desenvolvedores desesperados. Já tivemos diversas experiências de como essas ferramentas falham até em aumentar a produtividade de programadores, quem dirá substituí-los.

De qualquer forma, ficou popular entre “programadores” a prática de vibe coding, que seria utilizar essas ferramentas de IA como forma de desenvolver programas. Neste post, não quero fazer algum ensaio citando evidências e estudos, mas sim falar um pouco da minha experiência com desenvolvimento com IA e porque, para mim, vibe coding é furada.

Observação: quando eu me referir a IA nesse texto, estarei falando de LLMs como ChatGPT, Deepseek, Gemini etc.

Minha experiência com vibe coding

Eu entrei no curso de computação em 2023, bem quando o ChatGPT começou a se popularizar. Era basicamente impossível chegar na sala de aula e não encontrar pelo menos uma pessoa com o aplicativo aberto. Eu programava desde antes de começar o curso, já tinha conhecimento de todas as disciplinas básicas, então nesse início de curso nunca me interessei pela ferramenta.

A primeira vez que eu usei IA para me ajudar em alguma coisa foi quando eu tive a matéria de desenvolvimento web. Sinceramente, odeio desenvolvimento web e sempre preferi programação mais baixo nível, desenvolvimento de jogos etc, além de eu ter tido um professor péssimo. Lembro que fiquei assustado com o quão “bem” a IA conseguia resolver alguns problemas de desenvolvimento web e eu tive uma boa impressão inicial.

Mas, eu não poderia estar mais errado. Sim, a IA conseguia resolver problemas extremamente simples. O problema é quando você tenta programar algo mais complexo a utilizando.

Por exemplo, sou um grande entusiasta da área de computação gráfica, escrevi vários renderizadores por software com técnicas como raytracing, raycasting, rasterização etc. Agora estou me aventurando na programação com GPU, utilizando OpenGL, que é uma framework que permite que o programador interaja e programe a GPU para exibir gráficos. Nesse meu aprendizado de OpenGL, tentei usar a IA para resolver alguns problemas, e percebi rapidamente o quanto ela se dá mal com isso. Muitas vezes ela alucinava ou fazia uma código muito complexo para um problema simples. As poucas vezes que ela acertou alguma coisa tenho certeza que é porque pegou código do site LearnOpenGL.

Um exemplo: pedi para a IA fazer um algoritmo de intersecção de uma semirreta com um poliedro convexo. Ela fez um código muito complexo e incompreensível, para o que seria um problema simples. Eu ainda tentei ajudar um pouco com o prompt, mas não dava certo de jeito nenhum. No final das contas, peguei um livro de computação gráfica e estudei o capítulo que falava sobre intersecções de reta e poliedros para fazer o meu próprio algoritmo. A forma clássica de aprender, e que continua funcionando.

Computação Gráfica é um tópico bastante complexo e não tem muitas informações na internet, então algumas pessoas diriam que o comportamento da IA nesse caso é esperado. Tudo bem, eu tive experiências ruins com IA também em tópicos com amplas informações na internet, como desenvolvimento web.

Eu disse que desenvolvimento web foi o que me introduziu a IA lá no início, mas também foi uma das coisas que mais me estressou. Tive que fazer um trabalho relacionado a desenvolvimento web e, como disse, eu odeio desenvolvimento web. Portanto, pensei que poderia usar do “vibe coding” para me safar do trabalho. Pedia para ela fazer algumas coisas com css para mim, como animações. Mas, ela gerava um código desnecessariamente complexo e e sequer produzia o comportamento esperado. Depois de ficar lutando contra a IA tentando fazer com que ela funcionasse direito, eu só me estressei e reescrevi o código inteiro eu mesmo do zero.

Daí que pessoas que defendem o “vibe coding” podem dizer que o problema é que faltou um prompt mais complexo. Sim, talvez. Mas pela minha experiência, para a IA funcionar com sucesso, você tem que auxiliar a IA, resolvendo basicamente o problema por ela: dividindo o problema em tarefas simples e explicando para ela como deve ser desenvolvida cada parte. Quando você chega nesse nível, você basicamente resolvou o problema sozinho. Era simplesmente mais fácil ter feito um esquema e programado tudo sozinho, como sempre foi feito. E foi essa a lição tentando usar IA para desenvolvimento.

Conclusão

Bem, por conta da minha experiência, acho que LLMs não são ferramentas próprias para programação. É um gerador de texto, ela pode até conseguir enganar alguém fingindo que está programando racionalmente usando lógica, mas nunca vai produzir um código de qualidade como um programador faria. Além de que há sérios problemas como falhas de segurança e de privacidade e responsabilização (quem podemos responsabilizar por um código com falhas escrito por uma IA?). Como pontuei no início do texto, é somente um hype que é vendido pelas empresas por uma tentativa desesperada de conseguir lucros e também de diminuir o valor do trabalho de programadores de verdade.


Última modificação em 2026-01-26