Vibe Coding: o código desaparece, uma nova onda de desenvolvimento de software orientado pela intuição?
O crescimento exponencial da inteligência artificial generativa continua a remodelar os setores, e o desenvolvimento de software não é exceção. Por volta do início de 2025, uma nova onda de pensamento originária do Vale do Silício, nos Estados Unidos, começou a chamar a atenção: parecia que os desenvolvedores poderiam criar produtos com pouca ou nenhuma codificação direta, graças às ferramentas de IA. Essa abordagem de desenvolvimento, que se baseava na intuição e rompia com o trabalho árduo da codificação tradicional, recebeu um nome bastante contemporâneo - a Codificação Vibe .
Em poucas palavras, o Vibe Coding representa uma nova filosofia de desenvolvimento de software. O desenvolvedor descreve os requisitos para a IA por meio de linguagem natural, e a IA é responsável por gerar e modificar o código. A ideia central é reagir às "vibrações" do processo de desenvolvimento, adotando totalmente os recursos da IA e até mesmo "esquecendo" a existência do próprio código até certo ponto. Essa metodologia desafia uma suposição de longa data no setor de tecnologia de que o desenvolvimento de software deve depender de engenheiros com habilidades superiores de codificação.
Desenvolvedor do conceito: observações de Andrej Karpathy
Uma das principais pessoas que levou o conceito do Vibe Coding aos olhos do público foi Andrej Karpathy. O especialista em IA de 38 anos não é apenas o cofundador da OpenAI, mas também liderou a equipe de visão de IA e Autopilot na Tesla. Atualmente, como fundador da Eureka Labs, ele também trabalha para disseminar o conhecimento sobre IA por meio de plataformas como o YouTube.
Karpathy observou um novo estado de programação: em vez de ficarem obcecados com os detalhes sintáticos do código, os desenvolvedores estão instruindo a IA em linguagem natural para fazer alterações com base diretamente na apresentação visual do aplicativo ou no feedback funcional. Por exemplo, um desenvolvedor pode dizer: "Reduza as margens internas da barra lateral pela metade" sem precisar localizar e modificar manualmente o arquivo CSS. E quando encontrarem uma mensagem de erro, muitas vezes podem simplesmente copiá-la e colá-la na IA e o problema estará resolvido.
Como o próprio Karpathy afirma, "Não é codificação no sentido tradicional - eu apenas observo, instruo, executo e copio e colo, e na maioria das vezes funciona". Essa abordagem muda o foco do desenvolvimento de software da proficiência em sintaxe e codificação manual para um nível mais alto de conceitualização de design e expressão de requisitos.
Ele até faz uma observação instigante:"Inglês, que está se tornando a nova linguagem de programação mais quente." (A nova linguagem de programação mais quente é o inglês).
Limites entre a codificação Vibe e a codificação LLM
Para deixar claro, Vibe Coding não é atualmente um termo acadêmico estritamente definido, mas mais uma palavra da moda usada nos círculos de tecnologia para discutir metodologias de desenvolvimento de software assistidas por IA. Simon Willison, um conhecido programador, ressalta que é fácil confundir o Vibe Coding com a codificação com Large Language Models (LLMs), conhecida como LLM Coding. Embora ambos utilizem o desenvolvimento assistido por IA, eles são fundamentalmente diferentes em termos de filosofia e prática:
- Principais diferenças conceituaisVibe Coding: a Vibe Coding enfatiza "seguir o fluxo" e "esquecer o código", com os desenvolvedores se concentrando mais na implementação criativa e na arquitetura geral e menos nos detalhes técnicos subjacentes. O LLM Coding, por outro lado, ainda coloca o código no centro, e os desenvolvedores geralmente precisam ter algum conhecimento de programação para entender e orientar o conteúdo gerado pela IA.
- Orientação para a função de desenvolvedorNo Vibe Coding, o desenvolvedor é mais como um comandante ou colaborador da IA, comunicando a intenção principalmente por meio de linguagem natural. Na codificação LLM, o desenvolvedor ainda está profundamente envolvido na revisão, modificação e depuração do código, desempenhando uma função mais proativa como guardião técnico.
- Maneiras de interagir com o códigoO Vibe Coding incentiva os desenvolvedores a confiar e adotar diretamente as sugestões da IA, às vezes até pulando a revisão detalhada das alterações de código geradas pela IA (diffs) e optando por "absorver tudo". Simon Willison descreve isso graficamente: "Se o LLM escreve todo o seu código, mas você revisa, testa e entende todo esse código, isso não é Vibe Coding - você está apenas usando o LLM como um assistente de digitação. "
- Requisitos de limite técnicoO Vibe Coding reduz significativamente a barreira de entrada para o desenvolvimento de software, teoricamente permitindo que programadores não profissionais participem do processo de criação do produto. O LLM Coding também simplifica a programação, mas os usuários com conhecimentos básicos de programação poderão fazer uso mais eficaz desse tipo de ferramenta.
- Foco da ferramenta principalA Vibe Coding é frequentemente associada a ambientes ou ferramentas de desenvolvimento de IA altamente integrados e criados para fins específicos, como a funcionalidade Composer da Cursor AI, a família de modelos Claude da Anthropic (por exemplo, Claude 3.7 Sonnet, conforme mencionado no artigo original) e ferramentas de entrada de fala, como o Superwhisper. O LLM Coding, por outro lado, usa mais as ferramentas de geração e conclusão de código, como GitHub Copilot, Code Llama e StarCoder.
Caixa de ferramentas comum do Vibe Coding
De acordo com especialistas do setor, como Niall McNulty, chefe de produto da Cambridge University Press, e Peter Yang, chefe de produto da Roblox, os desenvolvedores que quiserem experimentar o Vibe Coding podem dar uma olhada nas seguintes ferramentas:
1. IA do cursor
O Cursor é um editor de código orientado por IA, projetado para melhorar a produtividade do desenvolvimento em sua essência. Seus principais recursos incluem:
- Ferramenta de composiçãoEsse recurso destina-se a automatizar grande parte do processo de codificação, com o usuário simplesmente descrevendo a funcionalidade desejada por meio de linguagem natural.
- Suporte a vários modelosIntegração de modelos avançados de IA: Integra uma ampla variedade de modelos avançados de IA, incluindo a família GPT da OpenAI, o Claude 3.5 Sonnet da Anthropic (ou a versão 3.7, conforme mencionado no artigo original) e o DeepSeek.
- Geração e otimização de códigoIA: gera trechos de código e até mesmo funcionalidades completas com base em dicas de linguagem natural e auxilia na correção de bugs e na otimização do código.
- Detecção de erros em tempo realO editor pode indicar instantaneamente erros de sintaxe ou possíveis problemas de lógica no código.
2. Claude 3.7 Soneto
Desenvolvido pela Anthropic, o Claude 3.7 Sonnet (com base na mensagem original e representando os modelos avançados da família Claude) é um modelo de linguagem em larga escala avançado com recursos que o tornam perfeito para a filosofia Vibe Coding:
- Ferramentas de artefatosPermitir que os usuários gerem e iterem em várias formas de conteúdo, como blocos de código, visualizações de sites, componentes interativos, etc., fora da interface de bate-papo.
- Capacidade de programação multilíngueEle pode gerar código em muitas das principais linguagens de programação, incluindo Python e JavaScript.
- padrão de uso: Uma quantidade limitada de versões gratuitas está disponível, e a funcionalidade completa requer uma assinatura do serviço Claude Pro.
3. Super Whisper
O Super Whisper é um mecanismo de fala para texto otimizado para cenários de codificação que adiciona uma interação homem-computador mais natural ao Vibe Coding - desenvolvimento por meio de comandos de voz:
- Integração do editorFunciona com uma variedade de editores, como Cursor, Cline ou Windsurf.
- Ganhos de eficiênciaConsiderando que a fala humana é normalmente de 3 a 5 vezes mais rápida do que a digitação (~150+ WPM vs. 40-80 WPM), isso poderia, teoricamente, acelerar o processo de desenvolvimento.
- ergonomiaA redução da dependência do teclado pode ajudar a aliviar a fadiga física associada a longas horas de codificação e proporcionar uma experiência de interação mais intuitiva.
Hands-on com o Vibe Coding: quando a voz encontra o editor de IA
A busca da Vibe Coding pela "conformidade sensorial" implica, de certa forma, a liberdade de entrada física. A codificação por voz é uma manifestação dessa filosofia. Ao combinar o Super Whisper com o Cursor AI, você pode criar um ambiente de desenvolvimento orientado por voz.
Etapa 1: Instalação de ferramentas
Em primeiro lugar, você precisa baixar e instalar o Cursor AI. Em seguida, visite o site oficial do Super Whisper para instalar o aplicativo Superwhisper, que é compatível com as plataformas macOS e Windows.
Etapa 2: Configurar o modo de codificação do Superwhisper
Depois de abrir o aplicativo Superwhisper, faça as seguintes configurações:
- Vá para o menu Setup (Configuração).
- Localize a opção Modos e clique em Criar modo.
- Selecione Custom (Personalizado) para criar um novo modo.
- Nomeie o novo modo, por exemplo, "Python Coding" (Codificação Python) e selecione Cursor na opção "Activate when..." (Ativar quando...). Selecione Cursor na opção "Activate when using" (Ativar ao usar) para associar esse modo à IA do Cursor. Ao mesmo tempo, o modelo de reconhecimento de fala e o idioma de destino (por exemplo, chinês) podem ser ajustados conforme necessário.
Quando a configuração acima estiver concluída, o usuário poderá usar as teclas de atalho atribuídas (por exemplo, no macOS, o padrão é Option + 空格键
) Ative o Superwhisper e selecione o modo "Python coding" que você acabou de criar. Isso permitirá que você insira comandos ou códigos por voz quando o Cursor AI estiver ativo.
Observe que, se houver outros aplicativos instalados no sistema que possam entrar em conflito com a entrada de voz (por exemplo, o aplicativo de desktop do ChatGPT), talvez seja necessário desativá-los temporariamente para garantir que o Superwhisper assuma a entrada de voz e se associe ao Cursor sem problemas.
Primeiros passos com o Vibe Coding: um caminho de descoberta para desenvolvedores zero-basic
Mesmo sem um histórico tradicional de programação, o conceito Vibe Coding oferece a possibilidade de participar da criação de software. Aqui está uma ideia geral de como começar:
Etapa 1: Selecione e configure a ferramenta
- Instalando o AI EditorFaça o download e instale o Cursor AI ou outras ferramentas que suportem o conceito de Vibe Coding. Visite o site dessas ferramentas para concluir o processo de download e instalação.
- Registro e loginCriar uma conta e fazer login, geralmente com um período de teste gratuito.
- PersonalizaçãoSiga o guia para concluir as configurações básicas.
- Seleção de um modelo de IASelecione modelos de IA orientados por backend com base nas necessidades do projeto e nas preferências pessoais. Por exemplo, alguns usuários relataram que a família de modelos Claude é excelente na geração de códigos.
- Ativação de recursos experimentaisConsiderar a ativação de recursos experimentais, como "Auto Run", para uma experiência mais suave com o Vibe Coding.
Etapa 2: Criar o projeto
- Abra o Cursor AI e configure um espaço de trabalho de projeto criando um novo arquivo ou pasta no menu.
- Defina o tipo de aplicativo que deseja criar, como uma página da Web simples, um pequeno jogo ou uma extensão do Chrome.
Etapa 3: Comunicar os requisitos à IA
- Ativar a interface interativa de IA (geralmente uma tecla de atalho no Cursor).
Command + K
(ou atalho semelhante). - Use linguagem natural (por meio de entrada de teclado ou entrada de voz em conjunto com uma ferramenta como o Superwhisper) para descrever claramente a funcionalidade que você deseja obter. Exemplo:
- "Crie uma página HTML simples que contenha uma área que exiba a hora atual e um botão de atualização."
- "Gerar a estrutura básica de uma extensão do Chrome que funciona para gerar um código QR para a página da Web visualizada no momento."
- É possível tentar aplicar o "Especificação, definição de regras, orientação de supervisão" para se comunicar com a IA:
- EspecificaçãoObjetivos claros, por exemplo, "Criar um botão de login que, quando clicado, captura o endereço de e-mail inserido pelo usuário".
- Como configurar as regrasDefinir restrições, como "Usar Python e manter o estilo de código simples".
- Supervisão e orientaçãoFornecimento de feedback contínuo e ajustes de direção durante o processo de geração de IA para garantir que os resultados atendam às expectativas.
Etapa 4: Gerar, executar e testar
- A IA gera código com base nas instruções e o exibe diretamente no editor.
- Execute o código usando as funções fornecidas pelo editor e observe os resultados reais (por exemplo, o Cursor AI geralmente fornece botões convenientes para executar uma página da Web ou um script).
- Se um programa for executado incorretamente, você poderá copiar e colar a mensagem de erro diretamente na IA, que geralmente tenta analisá-la e fornecer uma solução sem explicações adicionais.
Etapa 5: Iterar e melhorar
- Com base nos resultados dos testes, continue a propor alterações ou refinamentos para a IA em linguagem natural.
- Por exemplo, "Alterar a cor de fundo da página para azul claro".
- Ou: "Adicione uma caixa de entrada que permita ao usuário definir um horário para os lembretes".
- A IA atualizará o código com base nas novas instruções.
- Repita esse ciclo de "comunicar-gerar-testar-feedback" até que o aplicativo funcione a contento.
Etapa 6: Implantação e uso
- A IA pode ser questionada sobre como salvar, empacotar ou implantar o aplicativo atualmente desenvolvido.
- Siga o guia passo a passo fornecido pela IA para concluir o processo de liberação do aplicativo.
- Se necessário, você também pode pedir que a IA explique como usar o aplicativo finalizado.
O potencial e os desafios do Vibe Coding
O Vibe Coding apresenta uma imagem atraente do futuro: o desenvolvimento de software se torna tão natural quanto uma conversa, as ideias podem ser transformadas em produtos reais mais rapidamente e as barreiras técnicas são bastante reduzidas. Esse modelo certamente tem um grande potencial para prototipagem rápida, desenvolvimento de recursos não essenciais ou capacitação de pessoas com formação não técnica para implementar aplicativos simples. Ele pode acelerar o ciclo de inovação e envolver mais pessoas no processo criativo.
No entanto, essa abordagem de desenvolvimento aparentemente sem esforço traz desafios óbvios e riscos potenciais.
- Qualidade do código e capacidade de manutençãoCódigo que depende exclusivamente de código gerado por IA pode variar em qualidade, eficiência e capacidade de manutenção. Uma base de código que não tenha uma revisão e compreensão aprofundadas por parte dos desenvolvedores pode se tornar um "débito técnico" incontrolável a longo prazo.
- Complexidade da depuraçãoQuando há bugs profundos ou não óbvios, os desenvolvedores que estão acostumados com o modelo Vibe Coding podem descobrir que não têm o conhecimento subjacente e as habilidades de depuração necessárias para localizar e corrigir o problema. O processo de depuração pode se tornar um "cabo de guerra" repetido com a IA, o que é ineficiente.
- Evolução das habilidades do desenvolvedorO que é: Uma dependência excessiva do Vibe Coding pode levar a uma compreensão superficial dos princípios fundamentais de programação, algoritmos e design de sistemas. Embora "esquecer de codificar" faça parte da filosofia, vale a pena analisar se isso enfraquece as competências essenciais dos engenheiros.
- Dependência excessiva e risco de aprisionamentoDependência excessiva de ferramentas ou plataformas específicas de IA para desenvolvimento pode representar um risco de dependência do fornecedor. Ao mesmo tempo, o excesso de confiança nos recursos de IA pode levar os desenvolvedores a ignorar possíveis vulnerabilidades de segurança ou falhas lógicas.
- Educação e choque culturalA ascensão do Vibe Coding também desafia a educação tradicional em ciência da computação e a cultura de engenharia de software. Uma questão importante será como cultivar uma nova geração de desenvolvedores que possam utilizar a IA de forma eficaz, mas que também tenham sólidos conhecimentos fundamentais.
O futuro do Vibe Coding como uma tendência emergente de desenvolvimento de software é repleto de incertezas. É improvável que ela substitua completamente as práticas tradicionais de codificação, mas é provável que sirva como uma ajuda poderosa que mudará a maneira como os desenvolvedores interagem com o código e terá um impacto profundo no ecossistema de desenvolvimento de software. No futuro, a função do engenheiro de software provavelmente se concentrará mais na análise de requisitos, no design do sistema, no comando e na colaboração da IA e na avaliação crítica dos resultados gerados pela IA.