O que é vibe coding?

"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.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Descrever o que significa vibe coding
  • Entender como os LLMs podem apoiar o desenvolvimento de aplicativos
  • Listar os prós e os contras do vibe coding

Copiar o link do artigo

O que é vibe coding?

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.

Recurso
Pesquisa mostra que a modernização de aplicativos triplica a probabilidade de ROI em IA.

Como funciona o vibe coding?

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).

Quais são algumas ferramentas populares de vibe coding?

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.

Quais são os prós e os contras do vibe coding?

Os benefícios do vibe coding incluem:

  • Prototipagem quase instantânea: as equipes de desenvolvedores podem usar o vibe coding para criar rapidamente versões beta de novas ideias de produtos ou recursos e experimentá-las.
  • Menos esforço manual desnecessário: códigos repetitivos e de baixo nível podem ser gerados automaticamente por LLMs em vibe coding (copiar de código repetitivo sempre foi comum no desenvolvimento).
  • Desenvolvimento e lançamentos mais rápidos: escrever um novo aplicativo ou recurso pode ser demorado, mas o vibe coding pode produzir o código necessário em segundos ou minutos, embora outros prompts possam ser necessários para que o aplicativo ou recurso em questão funcione corretamente.

Algumas das desvantagens podem incluir:

  • Perda de compreensão de bases de código: as equipes de desenvolvimento que enviam recursos em vibe coding com revisão mínima podem não estar familiarizadas com suas bases de código. Isso pode dificultar a correção de bugs ou vulnerabilidades.
  • Desafios de conformidade: às vezes, o resultado do vibe coding é o envio de código não confiável. Os desenvolvedores podem perder a noção de como os aplicativos processam dados pessoais, por exemplo, o que pode causar problemas de conformidade.

Existem preocupações de segurança associadas ao vibe coding?

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.

Perguntas frequentes

Qual é o conceito central do "vibe coding"?

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.

Como os LLMs (grandes modelos de linguagem) facilitam o vibe coding?

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.

Quais são algumas das principais vantagens de usar o vibe coding no desenvolvimento de aplicativos?

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.

Quais são as possíveis desvantagens ou desvantagens de adotar uma abordagem vibe coding?

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.

Quais riscos de segurança estão associados ao vibe coding?

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.

Quem introduziu pela primeira vez o termo "vibe coding"?

O termo "vibe coding" foi introduzido por Andrej Karpathy, cofundador da OpenAI, em uma publicação no X em fevereiro de 2025.

Como o teste e a depuração normalmente se encaixam no fluxo de trabalho do vibe coding?

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.

De que forma o vibe coding difere das práticas de codificação tradicionais?

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.

Por que é importante estar ciente de como um LLM lida com dados ao utilizá-lo para fins comerciais?

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.