"Vibe coding" é uma abordagem para o desenvolvimento de aplicativos que envolve uma dependência forte de um grande modelo de linguagem (LLM) para gerar código.
Após ler este artigo, você será capaz de:
Copiar o link do artigo
Vibe coding é um método de desenvolvimento de software que incorpora fortemente o uso de grandes modelos de linguagem (LLMs) para gerar código. O termo "vibe coding", que significa codificação assistida por IA, foi cunhado por Andrej Karpath, cofundador da OpenAI, em um post de fevereiro de 2025 no X:
Há um novo tipo de codificação que eu chamo de "vibe coding", em que você cede totalmente às vibes, adota exponenciais e se esquece até mesmo de que o código existe. É possível porque os LLMs (por exemplo, Cursor Composer w Sonet) estão ficando bons demais... O código está além da minha compreensão normal. Eu teria que lê-lo por um tempo. Às vezes, os LLMs não conseguem corrigir um bug, então eu apenas o contorno ou peço alterações aleatórias até que ele desapareça... Não é tão ruim para projetos descartáveis de fim de semana, mas é bastante divertido.
Embora Karpathy tenha definido esse termo, muitos desenvolvedores já haviam começado a experimentar uma abordagem semelhante assistida por IA com o lançamento público de LLMs como ChatGPT e Copilot.
O objetivo do vibe coding é criar aplicativos funcionais e novos recursos mais rapidamente. Tradicionalmente, a codificação é uma atividade muito precisa. Em vez disso, o vibe coding permite que os desenvolvedores forneçam instruções gerais e de alto nível para um LLM, que então produz instruções precisas contidas no código de trabalho.
Semelhante a outros casos de uso para LLMs, o vibe coding envolve o fornecimento de prompts a um modelo, que produz conteúdo (neste caso, código) em resposta. Os LLMs são modelos de IA generativa. Tendo sido treinados em grandes quantidades de exemplos, eles podem reconhecer, interpretar e gerar linguagem. Os LLMs são capazes de fazer isso com a linguagem humana cotidiana e as linguagens de programação. Essa capacidade permite que um LLM gere código de trabalho, geralmente em segundos.
O desenvolvedor de vibe coding precisa fornecer ao LLM os prompts corretos para que o LLM crie o tipo certo de recurso ou aplicativo. Em geral, esses prompts não precisam ser particularmente precisos, embora possam ser necessárias várias tentativas para que o LLM produza um código que funcione da maneira que o desenvolvedor tem em mente.
O teste e a depuração vêm após o LLM ter produzido o código. Isso envolve a identificação de bugs e problemas de segurança. O LLM pode então ser instruído a resolver esses bugs ou, como Karpathy descreveu, "contornar o problema ou pedir alterações aleatórias até que desapareça" (uma abordagem que pode ou não funcionar, dependendo do bug).
Vários LLMs amplamente utilizados estão disponíveis para permitir que os desenvolvedores experimentem o vibe coding. Copilot, Cursor, Codeium, Qodo, CodeWhisperer e Replit são ferramentas populares para desenvolvimento de software assistido por LLMs.
Leia nosso artigo sobre como começar a usar o vibe coding para iniciar seu primeiro projeto.
Os benefícios do vibe coding incluem:
Algumas das desvantagens podem incluir:
Vulnerabilidades: qualquer aplicativo pode conter vulnerabilidades ou riscos de segurança. Como o vibe coding pode tornar a escrita e o lançamento de novos recursos muito mais rápidos, o perigo é que mais problemas de segurança passem despercebidos e cheguem à fase de produção. Então, esses problemas de segurança também podem ser mais difíceis de corrigir se as equipes de desenvolvimento não estiverem familiarizadas com o código do problema.
Perda de dados: o uso de qualquer LLM em um contexto empresarial apresenta o risco de que a entrada possa conter propriedade intelectual que será compartilhada em contextos externos. Para proteger os dados internos, os desenvolvedores precisam estar cientes de como um LLM segmenta seus dados no back-end.
Saiba mais sobre como funciona um LLM e como protegê-los.
Vibe coding é um método de desenvolvimento de software em que um grande modelo de linguagem (LLM) é amplamente usado para criar código. O termo foi cunhado pelo cofundador da OpenAI, Andrej Karpathy, em fevereiro de 2025.
Os LLMs são modelos de IA generativa (GenAI) que foram treinados em vastas quantidades de dados, permitindo-lhes compreender e gerar tanto linguagens humanas quanto de programação. Isso permite que eles criem código funcional, muitas vezes em questão de segundos.
O vibe coding oferece vários benefícios, incluindo: prototipagem rápida de novos produtos ou funcionalidades; automação de código boilerplate e de baixo nível; e tempos de desenvolvimento e lançamento mais rápidos.
Uma desvantagem do vibe coding é que os desenvolvedores podem perder a familiaridade com suas bases de código, o que pode complicar as correções de bugs e vulnerabilidades. Além disso, o vibe coding pode levar a problemas de conformidade se o processamento de dados pessoais nos aplicativos não for cuidadosamente monitorado.
O vibe coding pode aumentar as preocupações de segurança porque a velocidade de desenvolvimento pode permitir que mais vulnerabilidades cheguem à produção. Esses problemas podem ser difíceis de resolver se a equipe de desenvolvimento não estiver familiarizada com o código gerado automaticamente. Há também o risco de perda de dados, pois a propriedade intelectual sensível pode ser exposta se as entradas para o LLM não forem gerenciadas adequadamente.
O termo "vibe coding" foi introduzido por Andrej Karpathy, cofundador da OpenAI, em uma publicação no X em fevereiro de 2025.
Após um LLM gerar o código, um desenvolvedor é responsável por testar e depurar. O desenvolvedor identifica e corrige bugs e falhas de segurança. O LLM pode ser solicitado a ajudar a resolver esses problemas, ou o desenvolvedor pode encontrar soluções alternativas ou solicitar mudanças aleatórias até que o problema seja resolvido.
A codificação tradicional requer um trabalho muito preciso por parte dos desenvolvedores. Por outro lado, o vibe coding permite que os desenvolvedores forneçam instruções gerais e de alto nível para um LLM. Em seguida, o LLM traduz isso no código preciso necessário para o aplicativo ou recurso.
Em um contexto empresarial, o uso de um LLM apresenta o risco de que a propriedade intelectual incluída na entrada possa ser divulgada externamente. Os desenvolvedores devem compreender como o LLM processa e segmenta dados em seu back-end para proteger informações internas sensíveis.