O que é vibe coding?

Atualizado em: agosto de 2026

Vibe coding é um fluxo de trabalho em que você constrói software escrevendo prompts para uma IA e aceitando o código gerado praticamente sem revisão. Andrej Karpathy cunhou o termo em fevereiro de 2025 — “fully give in to the vibes, embrace exponentials, and forget that the code even exists” (entregue-se às vibes e esqueça que o código existe) — descrevendo aceitar mudanças sem ler os diffs, colando erros de volta até funcionar, escopo que ele mesmo limitou a projetos descartáveis de fim de semana. Em um ano o termo virou atalho para qualquer programação com IA; este verbete mantém o sentido preciso, onde mora o julgamento de engenharia: o traço definidor não é usar IA — é não revisar o que a IA escreveu.

Principais pontos

PerguntaResposta
A definiçãoPrompt → gerar → rodar → novo prompt — sem ler o código
A origemKarpathy, fev/2025 · Palavra do Ano do Collins em 2025
A linhaRevisado, testado, entendido = engenharia assistida por IA, não vibe coding
O histórico~45% do código de IA tem falhas de segurança; houve incidentes reais
A regraVibe na superfície de baixo risco; nunca em auth, dados ou dinheiro

O loop e a linha divisória

O fluxo é um loop curto: descreva → a IA gera → rode → cole os erros de volta → repita, tratando a base de código como problema da IA. Simon Willison traçou a linha que mantém o termo útil: se você revisou cada mudança, testou e consegue explicá-la, “isso não é vibe coding — é desenvolvimento de software”. Não é gatekeeping; é um rótulo de risco. O mesmo loop com revisão é engenharia assistida por IA, e o modo em que você está deveria ser uma decisão, não um acidente. Na prática:

// JavaScript — Cloud Code (cloud/main.js)
// The guardrail under a vibe-coded frontend: rules the AI can't skip
Parse.Cloud.beforeSave('Note', (req) => {
  // Whatever the generated client sends, ownership is enforced HERE
  if (!req.user) throw 'Sign in required';
  const acl = new Parse.ACL(req.user); // private by default
  req.object.setACL(acl);
});
// Client keys are publishable; the Master Key stays server-side.
// The vibe-coded UI can be rewritten nightly — these rules survive.

Vibe coding vs. engenharia assistida por IA vs. desenvolvimento tradicional

Vibe codingEngenharia assistida por IATradicional
Quem escreve o códigoA IAA IA + o humanoO humano
RevisãoPulada — essa é a definiçãoCada mudançaCada mudança
O humano é dono deO prompt e a vibeArquitetura, correçãoTudo
VelocidadeA mais rápidaRápidaBaseline
EncaixeDescartáveis, protótiposProdutos reaisProdutos reais
Modo de falhaCódigo publicado que ninguém entendeErros em escala de IA, pegos por humanosErros em escala humana

O espectro, e a regra da graduação

O espectro do vibe coding até a produçãoO software percorre um espectro que vai do protótipo vibe-coded descartável, passando pelo desenvolvimento assistido por IA com revisão, até a engenharia de produção. O código só se gradua de um estágio para o próximo por meio de revisão humana e testes, e o modo de falha é pular a graduação publicando um protótipo direto para os usuários.

graduação: revisão
+ testes + hardening

mesmo portão, régua mais alta

o modo de falha:
publicar como está

Protótipo vibe-coded
sem revisão, rápido, descartável

Desenvolvimento assistido por IA
o humano é dono da correção

Engenharia de produção
accountability + operação

Incidente

O software percorre um espectro que vai do protótipo vibe-coded descartável, passando pelo desenvolvimento assistido por IA com revisão, até a engenharia de produção. O código só se gradua de um estágio para o próximo por meio de revisão humana e testes, e o modo de falha é pular a graduação publicando um protótipo direto para os usuários.

O enquadramento que resolve a maioria das discussões sobre vibe coding: ele é um estágio, não uma identidade. Protótipos merecem as vibes — protótipos existem para isso. A regra que o histórico de incidentes ensina: código só se gradua entre estágios via revisão e testes. Vale notar que o próprio Karpathy seguiu adiante dentro do mesmo ano, distinguindo o vibe coding casual da “agentic engineering” para trabalho sério — o criador do termo concordando com seus críticos sobre o escopo.

O que quebra de verdade: o histórico de incidentes

A seção honesta que os explicadores de vendor suavizam. Varreduras da indústria apontam falhas das classes OWASP em cerca de 45% do código gerado por IA, e ferramentas independentes de revisão mediram no código de IA ~1,7× mais problemas graves do que em baselines escritos por humanos (o tratamento acadêmico chega a conclusões parecidas). Os incidentes nomeados compartilham uma mesma anatomia: em 2025, uma varredura de apps construídos num builder prompt-to-app popular encontrou 170 de 1.645 vazando dados de usuários — o stack gerado saía com a segurança em nível de linha do banco desabilitada (registrada como CVE); a camada de autenticação de uma plataforma prompt-to-app permitia a qualquer usuário entrar em qualquer app privado por um ID adivinhável; e um app de consumo viral foi violado quando seu banco de backend mobile sem proteção deixou qualquer usuário autenticado puxar IDs e mensagens privadas de outros usuários. Nenhum desses foi um ataque exótico. Todos eram o básico de backend — regras de acesso, autenticação, credenciais — gerados permissivos e aceitos sem revisão.

É no backend que morde

Releia a lista de incidentes e o padrão se nomeia sozinho: o perigo não é a IA escrever uma UI desajeitada — um botão quebrado se resolve com um refresh. O perigo se concentra onde os dados vivem: autenticação, regras de acesso, chaves de API coladas no código do cliente, rate limits ausentes. Código não revisado é mais perigoso exatamente onde a revisão mais importa — e essa é a resposta arquitetural: faça da parte vibe-coded a parte de baixo risco. Um frontend gerado sobre um backend gerenciado inverte o risco: a plataforma fornece autenticação endurecida, ACLs negadas por padrão impostas no servidor, chaves de cliente publicáveis com os segredos reais guardados em outro lugar e funções server-side para a lógica que não deve viver em código de cliente gerado. A IA pode reescrever a UI toda noite; ela não consegue desabilitar regras que não controla.

O checklist de guardrails

  1. Revise tudo que toca autenticação, dados ou dinheiro — o portão de graduação, inegociável.
  2. Faça checkpoint no controle de versão antes do “aceitar tudo” — undo barato para sugestões caras.
  3. Mantenha segredos fora dos prompts e do código do cliente — trate ambos como públicos.
  4. Regras de acesso negadas por padrão — o app gerado recebe as permissões que você escolheu, não as permissivas que ele sugeriu.
  5. Validação server-side para cada invariantehooks que o cliente não consegue pular.
  6. Testes antes de confiança — o único feedback honesto do loop além de “parece que roda”.
  7. Escopos pequenos, uma tarefa por prompt — diffs do tamanho de uma revisão continuam revisáveis.
  8. Limite o gastochaves de API com cotas; loops de agente já queimaram orçamentos reais.
  9. Isole os experimentos — app separado, chaves separadas, dados descartáveis.
  10. Saiba em qual modo você está — vibe ou engenharia, escolhido de propósito.

Casos de uso comuns

  • Protótipos e MVPs — o caso de uso fundador: testar a ideia neste fim de semana, não neste trimestre.
  • Ferramentas pessoais e internas — audiência pequena, usuários conhecidos, raio de explosão baixo.
  • Hackathons e demos — velocidade é a rubrica inteira.
  • Aprender construindo — o loop como tutor, com a ressalva de que código não lido ensina menos.
  • Iteração de UI sobre um backend estável — a arquitetura de risco invertido: vibes em cima, contratos embaixo.

Você deveria usar vibe coding? Matriz de decisão

O que você está construindoVeredito
Descartável de fim de semana, demo, experimentoVibe à vontade — esse é o habitat
Ferramenta interna, real mas pequenaVibe, depois revise os caminhos de dados
Qualquer coisa com contas de usuárioO backend vem de uma plataforma endurecida, não do prompt
Qualquer coisa lidando com pagamentos ou PIIRevisão completa — agora isso é engenharia
O produto de verdade de uma startupAssistido por IA com ownership; protótipos se graduam, nunca são publicados como estão
O frontend sobre um backend gerenciadoO ponto ideal — velocidade onde é seguro

Limitações e trade-offs

  • Depurar código não lido é arqueologia. Quando o loop trava, alguém finalmente precisa ler tudo de uma vez — a revisão que você pulou, com juros.
  • A dívida de compreensão se acumula. Cada mudança aceita sem leitura alarga o vão entre o que o app faz e o que alguém consegue explicar; o vão é o risco.
  • Os defaults da IA são permissivos. Configurações geradas privilegiam “funciona” sobre “é seguro” — regras de acesso abertas, chaves embutidas — e o usuário que mais precisa perceber é o menos equipado para isso.
  • O termo está derivando. “Vibe coding” cada vez mais significa qualquer programação com IA, o que contrabandeia práticas de nível protótipo para conversas de produção; a precisão sobre o modo em que você está é a defesa.
  • A atrofia de habilidade é real, mas mal enquadrada. A habilidade que importa migra de escrever código para especificar, revisar e julgar código — a atrofia só acontece se a revisão também for pulada.

Vibe coding no Back4app

O Back4app é uma plataforma open-source de Backend as a Service (BaaS) que combina banco de dados gerenciado, APIs REST e GraphQL geradas automaticamente, autenticação, armazenamento de arquivos e funções serverless com Cloud Code. A dupla é a arquitetura de risco invertido posta em prática: aponte o frontend gerado para um backend em que as partes estruturais já foram projetadas por engenheiros — cadastro, sessões e login social vindos da plataforma; ACLs e permissões de classe impostas no servidor em cada requisição, negadas por padrão; chaves de cliente publicáveis com a master key guardada no servidor; e o guard de beforeSave das abas de código como o padrão para cada invariante que o cliente escrito pela IA não pode ter a confiança de manter. A superfície vibe-coded continua sendo o que Karpathy quis que fosse — rápida, divertida, descartável — enquanto as partes que acabam em relatórios de incidente vêm de uma plataforma: revisadas uma vez, impostas sempre.

Perguntas frequentes

O que é vibe coding?

É construir software descrevendo o que você quer a uma IA em linguagem natural e aceitando o código gerado praticamente sem revisão linha a linha — iterando ao rodar, testar e mandar novos prompts, em vez de editar. A parte de não revisar é o traço definidor, nas leituras mais estritas do termo.

Quem criou o termo vibe coding?

Andrej Karpathy, num post no X em fevereiro de 2025 — "fully give in to the vibes, embrace exponentials, and forget that the code even exists", ou seja, entregar-se às vibes e esquecer que o código existe. O Collins o elegeu Palavra do Ano de 2025, e os dicionários passaram a rastreá-lo como gíria semanas depois da cunhagem.

Vibe coding é o mesmo que desenvolvimento assistido por IA?

Não, e a distinção importa. No vibe coding você não revisa nem entende por completo o resultado. Na engenharia assistida por IA o humano mantém o controle arquitetural e revisa tudo — a regra de Simon Willison: se você revisou, testou e consegue explicar cada linha, isso não é vibe coding; é desenvolvimento de software.

Vibe coding é programação de verdade?

Ele produz software real e funcional — e não é engenharia. O que falta é accountability: revisão, entendimento e a capacidade de raciocinar sobre falhas. Para escopos descartáveis, tudo bem — esse era o enquadramento do próprio Karpathy; para qualquer coisa com usuários e dados, as partes que faltam são justamente as estruturais.

Quem não sabe programar consegue fazer vibe coding?

Sim — a maioria dos usuários de plataformas prompt-to-app não tem formação em programação, e essas pessoas realmente entregam ferramentas que funcionam. As paredes em que batem são previsíveis: autenticação, modelagem de dados, segurança e depuração — exatamente as partes em que não entender o código sai mais caro.

Software feito com vibe coding é seguro para produção?

Não sem revisão. Varreduras da indústria apontam falhas de segurança em cerca de 45% do código gerado por IA, e o histórico de incidentes é concreto: apps publicados com as regras de acesso do banco desabilitadas, autenticação quebrada deixando qualquer usuário ler dados alheios e segredos embutidos no código do cliente. O padrão em todos os casos: segurança de backend aceita sem revisão.

Vibe coding vai substituir programadores?

O consenso é que não — ele desloca o trabalho em vez de eliminá-lo: para especificação, revisão e arquitetura. Protótipos vibe-coded que dão certo costumam ser reconstruídos ou fortemente endurecidos por engenheiros antes de escalar, e o próprio criador do termo hoje distingue o vibe coding casual da "agentic engineering" séria.

Quais são as boas práticas de vibe coding?

Prompts pequenos e com escopo; uma tarefa por vez; checkpoints no controle de versão antes do "aceitar tudo"; testes como rede de segurança; revisão humana de tudo que toca autenticação, dados ou dinheiro; segredos fora dos prompts e do código do cliente; e um backend gerenciado e endurecido embaixo do frontend gerado.

Termos relacionados

Compare com

Leitura adicional

Pronto para construir seu backend?

Comece seu projeto no Back4app em minutos — banco de dados, autenticação, APIs e Cloud Code incluídos. Sem cartão de crédito.

Escrito e revisado por Back4app Engineering, Back4app Engineering · Publicado em 2026-08-24