Vibe Coding
O Que É Vibe Coding?
Vibe coding é um método de programação impulsionado por IA introduzido por Andrej Karpathy em 2024/2025. Com vibe coding, você descreve o que deseja em prompts em linguagem natural e geralmente modelos de linguagem grandes (LLMs) geram a maior parte, muitas vezes todo, o código funcional para você. Se você tiver tempo, confira a Arte do Vibe Coding adaptada por Rick Rubin para aprender mais sobre o modo de vibe coding.
Uma grande vantagem desse novo método é a acessibilidade, já que pessoas sem experiência em programação podem construir projetos enquanto desenvolvedores experientes podem rapidamente prototipar novas ideias antes de se comprometerem totalmente com elas. Isso é especialmente útil para startups. A desvantagem é que os desenvolvedores provavelmente não entenderão completamente como o código gerado funciona. Para pequenos projetos paralelos, isso é aceitável, mas para software em nível de produção, pode levar a problemas de longo prazo e dívida técnica.
Existem muitas ferramentas por aí que tornam o vibe coding mais suave. Cursor IDE, Claude Code CLI, GitHub Copilot, Loveable, Replit, v0 e outras permitem que você trabalhe com IA diretamente em seu ambiente ou fornecem interfaces dedicadas para vibe coding. Pessoalmente, eu fiquei principalmente com Cursor IDE e Claude Code CLI para esses projetos.
Aqui está a questão. Essas ferramentas e modelos custam dinheiro. Com a programação tradicional, você está pagando principalmente com seu tempo. Com vibe coding, você está pagando com sua carteira. E se você não souber o que está fazendo, estará pagando com sua carteira e seu tempo. Cada um dos projetos nesta página custa cerca de $10 a $20 para ser construído. Isso se acumula se você estiver experimentando muito. Eu realmente acho que, à medida que esses modelos melhoram e se tornam mais eficientes, o custo eventualmente diminuirá. Por enquanto, é algo a ser considerado ao decidir se o vibe coding faz sentido para o seu projeto.
Curioso sobre o que é possível, experimentei o vibe coding eu mesmo e fiz esta página para explorar o princípio em si através de projetos reais. Não estou apenas construindo produtos, estou testando e demonstrando do que o vibe coding realmente é capaz. Isso é apenas por diversão, mas oferece um vislumbre de como a programação pode parecer no futuro à medida que esses modelos continuam a melhorar.
Teorema do Macaco Infinito
Já ouviu falar do Teorema do Macaco Infinito? É um experimento filosófico que diz que se você der macacos infinitos, máquinas de escrever infinitas e tempo infinito, eventualmente um deles produzirá as obras completas de Shakespeare apenas batendo aleatoriamente nas teclas.
Parece ridículo, certo? Mas aqui está a parte louca. O vibe coding é meio que assim, exceto que em vez de macacos temos modelos de IA, em vez de máquinas de escrever temos linguagens de programação, e em vez de Shakespeare estamos obtendo software funcional.
Pense nisso. Modelos de linguagem grandes são treinados em bilhões de linhas de código, padrões e exemplos. Quando você dá um prompt a um LLM, ele não está realmente “pensando” no seu problema passo a passo como um desenvolvedor humano faria. Em vez disso, ele está prevendo o próximo token mais provável com base em padrões que aprendeu durante o treinamento. Ele está essencialmente fazendo suposições educadas gerando código com base no que estatisticamente parece certo.
E de alguma forma, mais vezes do que não, funciona. O modelo gera código que realmente compila, executa e resolve seu problema. Não por meio de compreensão, mas por meio de correspondência de padrões probabilísticos em uma escala absolutamente massiva. É como se o gerador de texto aleatório mais sofisticado do universo encontrasse a resposta “certa”. Mas aqui, a diferença é a velocidade. Aqueles macacos precisariam de uma infinidade literal. Sua IA? Chega lá em segundos ou minutos.
Então, de certa forma, quando você usa vibe coding, está aproveitando milhões de linhas de padrões de código, destilados em um modelo, para gerar soluções. Não é resolução de problemas consciente, é mágica estatística. E é precisamente por isso que é tão poderoso e, admitidamente, por que entender o que o código realmente faz ainda importa.
A Pergunta Importa Mais Que a Resposta
Aqui está algo importante que muitas vezes é negligenciado. O vibe coding não se trata de obter qualquer resposta, mas de fazer a pergunta certa. Pense no Supercomputador Deep Thought de O Guia do Mochileiro das Galáxias. Ele passou milhões de anos computando a resposta para a pergunta definitiva da vida, do universo e de tudo, apenas para lhe dar o número 42. A resposta era tecnicamente correta, mas inútil porque o verdadeiro problema era descobrir qual pergunta fazer em primeiro lugar.
O vibe coding funciona da mesma maneira. Seus prompts são tudo, mas a gestão de contexto também é. Um prompt vago lhe dará um código vago, e se você não fornecer os arquivos, documentação ou exemplos certos como contexto, o modelo não entenderá o que você realmente precisa. Se você é alguém que entende de programação, arquitetura e design de sistemas, pode elaborar prompts detalhados e curar o contexto certo para guiar o LLM em direção a soluções excelentes. Mas se você não souber o que pedir ou que contexto fornecer, a IA também não saberá.
Isso é, na verdade, por que o vibe coding é tão poderoso para desenvolvedores experientes. Sabemos como é um bom código, entendemos as armadilhas e podemos escrever prompts que desviam o modelo delas. Para iniciantes sem formação técnica, isso se torna uma limitação real. Você pode obter código funcional, mas sem entender o que deu errado ou o que pedir a seguir, você fica preso.
Quando o Vibe Coding Não É Suficiente
Os modelos de IA mais recentes são impressionantes, mas não são uma solução mágica. O vibe coding pode funcionar em produção, mas apenas se você estiver sério sobre isso. Você precisa de testes unitários robustos. Você precisa de fontes claras de verdade sobre o que seu sistema deve fazer. Você precisa detectar quando as coisas quebram ou se desviam. E você precisa da mentalidade de hacker. Pense fora da caixa e tente quebrar seu projeto de vibe coding de maneiras não intencionais. Quais casos extremos você não considerou? Quais vulnerabilidades de segurança alguém poderia explorar? Isso é o que separa o código que apenas funciona do código que é realmente robusto.
Aqui está a questão. A IA não é sua dona. Você é o dono da IA. Não aceite apenas o que ela gera. Revise. Teste. Quebre. E honestamente, para certas partes do seu código, você precisará voltar à programação tradicional. Concentre-se, pense profundamente, escreva você mesmo. O vibe coding acelera as coisas, mas não é um substituto para a programação real quando importa.
Há outra coisa que aprendi. Às vezes, você só precisa encerrar uma sessão com a IA e começar uma nova. À medida que seu histórico de conversas fica maior e maior, o desempenho do modelo se degrada. Ele comete mais erros, gera código menos coerente e começa a alucinar com mais frequência. Se você não perceber isso e parar, esses erros se acumulam, tornando as coisas progressivamente piores. É como tentar ler um documento que foi fotocopiado repetidamente. Começar do zero mantém as coisas limpas e nítidas.
Projetos Vibe Coded
Abaixo estão dois projetos, stairs (repo) e transcendental (repo), que construí usando a metodologia de vibe coding. Principalmente gerados a partir de prompts, com trabalho manual limitado a fornecer contexto, depuração e implantação no GitHub Pages. Eles são experimentos divertidos de sites estáticos que mostram o que é possível quando você combina ideias criativas com código através do vibe coding. Ambos estão hospedados no GitHub.