image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Article image
Fernando Araujo
Fernando Araujo03/04/2025 11:28
Compartir
Microsoft Certification Challenge #3 DP-100Recomendado para tiMicrosoft Certification Challenge #3 DP-100

“Vibe coding” é uma NOVA técnica de programação com IA, SEM REVISÃO

  • #Inteligência Artificial (IA)

A evolução das ferramentas geradoras de código baseadas em Inteligência Artificial (IA) nos levou à técnica de programação que está na moda, de usar assistentes de código, mas agora surgiu uma NOVA técnica que parece ser o caminho para o desenvolvimento de software. Afinal, o que é vibe coding


Sumário

 1.  Introdução

2. Geração automática de código

3. O que é “vibe coding”?

4.  Exemplos de uso e repercussão da técnica

5.  Considerações finais

6.  Referências

   

1 – Introdução

 Em novembro de 2022, a OpenAI lançou o ChatGPT, uma ferramenta pública de busca baseada em IA, que recebe comandos textuais de entrada e gera uma saída também textual, com um resumo relevante da resposta desejada.

 Ele logo virou uma febre mundial e se mostrou útil para uma vasta gama de aplicações, como suporte ao cliente, assistentes pessoais e educação, por exemplo.

Após o lançamento do ChatGPT, foram disponibilizadas dezenas de ferramentas de IA generativa, por exemplo (todas lançadas em 2023): Claude 1 (da Anthropic), Copilot (Microsoft), Bard (Google), Midjourney v5 (Midjourney), Stable Diffusion XL (Stability AI), Copilot (Microsoft), Firefly (Adobe) e DALL-E 3 (OpenAI);

Estas ferramentas podem gerar como saída: textos, imagens, imagens artísticas de alta qualidade, imagens profissionais, efeitos visuais, vídeos, automação de tarefas e códigos de programação.

Desde o ChatGPT, já era possível gerar códigos com algumas destas ferramentas, com base em um comando textual (prompt) descrevendo as funcionalidades do programa desejado.

O uso da IA como assistente de código (“code assist”) transformou a maneira como desenvolvedores trabalham, aumentando a produtividade, a qualidade do código e a velocidade de entrega.

Neste artigo, serão tratados o impacto e as perspectivas das IAs generativas no desenvolvimento de software, destacando uma técnica nova, que só tem 2 meses, chamada de “vibe coding”. Você vai saber o que é isso e o que se espera dela.

  

2 - Geração automática de código

 image

A evolução da IA tem grande impacto nas atividades de codificação e desenvolvimento de software. Os atuais geradores de código com IA simplificam os processos de codificação, automatizam tarefas de rotina, preveem e sugerem trechos de código.

As entradas para estas ferramentas podem ser descrições das funcionalidades desejadas ou exemplos da sintaxe esperada, sempre em linguagem natural.

Segundo PARETO [1], a IA na programação pode auxiliar várias atividades do ciclo de vida do desenvolvimento de software, como a escrita inicial do código, a manutenção e otimização contínuas. Veja algumas destas atividades:

·        Refatoração inteligente;

·        Análise de qualidade de código;

·        Previsão de bugs;

·        Revisão de código automatizada;

·        Depuração por IA;

·        Revisão automática de código;

·        Assistente de codificação;

·        Detecção de plágio de código;

·        Conversão de código;

·        Automação de testes;

·        Codificação automática;

·        Codificação de scripts;

·        Geração preditiva de código;

·        Resumo de código;

·        Otimização de código.

 

De acordo com AWS [2], o uso destas ferramentas resulta em diversos benefícios importantes para o programador e sua equipe, como:

·        Aumento da produtividade e redução da carga;

·        Limitação das trocas de contexto;

·        Melhoria da qualidade do código;

·        Gerenciamento do ambiente de código;

 

A geração de código com IA é como a programação em pares, tendo uma IA como par.

Atualmente, existem dezenas de ferramentas de IA com aplicações em desenvolvimento e programação. As mais conhecidas são aquelas de uso geral, como o ChatGPT, o Github Copilot, o Google Gemini e o Code Llama, por exemplo.

Já outras são específicas para a área e não são tão conhecidas, como TabnineCursor AI, Mutable IA, Replit GhostWriter, Amazon CodeWhisperer e AI2sql. CARDOSO [3] resume cada uma delas:

·        Tabnine - Prevê e sugere trechos de código, integra-se facilmente aos principais ambientes de desenvolvimento e possui compatibilidade com mais de 20 linguagens de programação, sendo adotada pelo Facebook e Google;

·        Cursor AI - Entende o contexto, ajudando a encontrar e corrigir erros rapidamente, sugere melhorias e otimizações;

·        MutableAI - pode ser configurada para atender às necessidades dos programadores, oferece sugestões de código e geração automática de testes;  

·        Replit GhostWriter - Integrada ao ambiente Replit, oferece sugestões de código e ajuda na depuração de erros em tempo real;

·        Amazon CodeWhisperer - oferece sugestões de código e detecção de erros;

·        Al2sql - converte consultas em linguagem natural para SQL, ajudando na interação com bancos de dados de forma mais intuitiva.


3 – O que é “vibe coding”?

Segundo [5], o termo “vibe coding” foi criado por Andrej Karpathy, co-fundador da OpenAI e líder de IA da Tesla, em um tuíte publicado em 02/02/2025 (ver figura abaixo).

 image

Segue uma tradução (livre) do tuite de Karpathy:

“Há um novo tipo de codificação que chamo de “vibe coding” (codificação de vibração), onde você se entrega totalmente às vibrações, abraça exponenciais e esquece que o código existe. É possível porque os LLMs (por exemplo, Cursor Composer com Sonnet) estão ficando bons demais. Além disso, eu só falo com o Composer com SuperWhisper, então mal toco no teclado.

Peço as coisas mais idiotas, como "diminua o preenchimento na barra lateral pela metade", porque sou preguiçoso demais para encontrá-lo. Eu sempre "Aceito tudo", não leio mais as diferenças.

Quando recebo mensagens de erro, apenas as copio e colo sem comentários, geralmente isso corrige. O código cresce além da minha compreensão normal, eu realmente teria que lê-lo por um tempo.

Às vezes, os LLMs não conseguem consertar um bug, então eu apenas trabalho em torno dele 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 ainda assim é bem divertido.

Estou criando um projeto ou aplicativo web, mas não é exatamente codificação - eu apenas vejo coisas, digo coisas, executo coisas e copio e colo coisas, e na maioria das vezes funciona.”

image

Em 2023, ele havia dito WIKIPEDIA [9], que a mais nova linguagem de programação seria o inglês, pois as capacidades dos modelos LLM eliminariam a necessidade dos humanos de usarem linguagens de programação específicas para comandar computadores.

Vibe coding” é como a técnica de programação em pares, só que o par é uma IA ao invés de um outro humano.

Pair Programming” é a programação com duas pessoas trabalhando juntas no desenvolvimento de um software, compartilhando um único computador. Ela objetiva melhorar a qualidade do código, permitir o compartilhamento de conhecimento entre os parceiros e promover uma colaboração mais ativa.

Um dos programadores é o piloto, responsável por escrever o código e se concentrar nos detalhes da implementação, enquanto o outro, o navegador, revisa o código à medida que ele é digitado, identificando erros ou melhorias. Ao longo da sessão, estes papéis podem mudar, por isso, os dois programadores precisam ter o mesmo nível de conhecimento.

Hoje, existem ferramentas de geração automática de código, atendendo a um comando do usuário (prompt). Na técnica de programação que usa assistente de código com IA, na moda atualmente, o programador descreve as funcionalidades do programa para a IA, que gera o código na saída.

O programador lê o código, analisa, entende a lógica e o executa no computador. Se houver algum erro, ele tenta corrigir o código ou descreve o erro à IA e solicita que ela gere um novo código.

Esta técnica funciona como a programação em pares, mas o esforço de codificar é da IA; o programador precisa ter um nível de conhecimento adequado em programação para analisar e revisar o código gerado.

A técnica de Vibe coding, criada por Kaparthy, é a programação auxiliada por IA, onde o usuário descreve O QUE ele quer que o programa faça, em linguagem natural, de preferência por voz, sem indicar COMO o código fará isso. Ele deixa para a IA a geração do código, sem exigir detalhes de implementação ou do código gerado.

Na prática, ela funciona assim:

·        o usuário descreve, por voz, o que ele quer que o programa faça;

·        a IA gera o código;

·        o usuário copia e cola o código no compilador e o executa;

·        o usuário descreve melhorias no programa para a IA;

·        a IA gera um novo código;

·        as 3 últimas ações se repetem, até o programa ser concluído.

 

A função do humano (oops, programador!) é fazer descrições para a IA, copiar e colar o código gerado pela IA no computador, até o programa estar pronto.

E se a compilação resultar em erros? Na técnica de Karpathy, o usuário copia e cola as mensagens de erro apresentadas pelo compilador, sem especificar mais nada, e espera que a IA gere outro código, sem os erros verificados.

Neste caso, é como se o programador fosse um estagiário Júnior, apenas copiando e colando códigos e mensagens de erro, e a IA fosse um programador experiente Senior, só gerando os códigos prontos.

Uma variação comum para corrigir erros é o usuário descrever para a IA os erros que ele quer corrigir ao invés de copiar e colar as mensagens de erro do compilador.

Traduzindo o termo “vibe coding” de forma resumida e informal, ficaria  codificando na vibe! Ou seja, estou codificando e curtindo o momento!

  

STEPHANE [4] lista os benefícios obtidos por esta técnica:

·        Reduz a barreira de entrada para não programadores;

·        Acelera significativamente os cronogramas de desenvolvimento;

·        Permite prototipagem e iteração rápidas;

·        Permite que os criadores criem ferramentas personalizadas sem amplo conhecimento de codificação.

 

E suas limitações:

·        Pode produzir código que não é totalmente otimizado ou seguro;

·        Às vezes, as ferramentas de IA não conseguem corrigir certos bugs, exigindo soluções alternativas;

·        O código pode crescer além da compreensão do usuário;

·        Ainda há dúvidas sobre a confiabilidade para aplicativos de nível de produção.

 

Com base no fluxo acima, JAKOB [5] mostra como esta técnica difere de alguns métodos atuais de desenvolvimento de software:

 image

Sugestão das ferramentas que podem ser usadas neste processo:

·        Replit Agent;

·        Cursor Composer;

·        Bolt;

·        Lovable.

 

O pesquisador Simon Wilson comparou “vibe coding” ao método de usar uma IA como assistente de código:

 image

 A técnica “vibe coding” é novíssima! Ela nem completou 2 meses de vida! É uma mudança significativa no desenvolvimento de software, tornando-o mais acessível e mudando a maneira como os humanos interagem com a tecnologia, focando mais na intenção do que nos detalhes da implementação.

  

4 – Exemplos de uso e repercussão da técnica

 O primeiro exemplo, descrito em ALITU [10] ilustra bem as ações realizadas para criar um projeto do zero, um cronômetro de script de podcast. É uma ferramenta que calcula quanto tempo um script levará para gravar.

 Ele deve ter uma área de texto para o usuário colar seu script, deve contar as palavras do script e estimar o tempo de gravação com base nas taxas médias de fala.


 I - Prompt inicial - Abra a ferramenta e descreva o que quer.

 Crie um aplicativo da web simples que calcule quanto tempo seu script levará para ser gravado em um podcast. Ele deve ter uma área de texto onde o usuário  cola seu script, deve contar as palavras e estimar o tempo de gravação com base nas taxas médias de fala.

 

II - Revise a primeira versão

A IA gera código para um aplicativo da web básico, como este da figura:

 image

 É só uma primeira tentativa! Ele ainda é bem básico.

 

III - Solicite melhorias

 Bom começo! Faça as seguintes alterações:
1. Adicione opções para contabilizar leituras de anúncios com incrementos de 1 minuto;
2. Torne o design mais atraente com um layout limpo e um pouco de cor;
3. Adicione uma contagem de caracteres e uma contagem de palavras.

 O aplicativo ficaria assim:

image

 

IV - Revise e teste novamente, sendo mais específico

 Ok, assim está melhor, mas quero que ele fique mais atraente.
1. Use uma fonte com serifa para o título;
2. Pinte os contadores de estatísticas com cores brilhantes;
3. Adicione um pouco mais de preenchimento nas partes superior e inferior do título.

image

Ainda não está pronto!

 

5: Refinamentos finais e implantação

 Grandes melhorias! Adicione um recurso para salvar os resultados em PDF. Além disso, você pode adicionar um cabeçalho simples com o título "Podcast Script Timer" e um rodapé com um aviso de direitos autorais?

image

Agora o aplicativo já pode ser publicado! Todo o processo, da ideia ao aplicativo funcional, leva menos de 10 minutos. E sem escrever nenhuma linha de código!!!!!!!!!!!!!!

  

Neste segundo exemplo, de acordo com EMANUEL [6], usando esta técnica, o desenvolvedor Pieter Levels criou um jogo de um simulador de voo, em 30 minutos, que hoje lhe rende mais de 50 mil dólares por mês. Além disso, ele foi pioneiro ao desenvolver e lançar rapidamente software e startups com a ajuda da IA. O jogo, online e multiplayer, está disponível no endereço fly.pieter.co (ver figura).

 image

Na sua biografia no X (antigo Twitter), Pieter explica que ele constrói todos os seus projetos apenas com HTML vanilla, JS com jQuery, PHP e SQLite.

 Talvez isso seja uma amostra de como a IA pode mudar o design de jogos no futuro.

  

Outra resposta rápida à divulgação da técnica de Karpathy foi a publicação recente de um artigo de Jakob NIELSEN [7], famoso expert em usabilidade, onde ele já sugere o uso de técnica semelhante para a área de design e UX, chamando-a de “vibe design”.

image

Diz ele: “A IA transforma o desenvolvimento de software e o design de UX por meio da especificação de intenção de linguagem natural. Isso acelera a prototipagem, amplia a participação e redefine papéis na criação de produtos. A expertise humana continua essencial para entender as necessidades do usuário e garantir resultados de qualidade.”

 Nielsen afirma que o “vibe design” aplica assistência por IA aos princípios de design de UX e à pesquisa do usuário (“User Research”), concentrando-se na intenção de alto nível enquanto delega a execução à IA. Segundo ele, os componentes principais do “vibe design” são:

 ·        Design por sensação, não por pixels: sem preocupação com posicionamentos exatos de pixels e guias de estilo, a ênfase será na descrição da sensação ou resultado desejado de um design, com a IA propondo as soluções visuais ou interativas;

 ·        Prototipagem rápida e fluxos interativos: ao invés de entregas de design estático, serão gerados rapidamente protótipos interativos, com componentes fáceis de comunicar e testar com os usuários;

 ·        Fusão das funções de design e desenvolvimento: Os designers, sem entender de programação, podem adicionar estilos visuais que também tenham funcionalidades básicas;

 ·        Pesquisa contínua do usuário alimentada por IA: Serão geradas rapidamente variantes de design e poderão ser realizados testes A/B com diferentes "vibrações" de uma interface com usuários reais;

 ·        Capacitando e dimensionando a expertise em design: O “vibe coding” democratiza a codificação, já o “vibe design” visa democratizar o design;

 

O “vibe design” aumentará a qualidade do design e os designers poderão se concentrar na estética de uma linha de produtos e na experiência emocional de produtos individuais.

 image

 

Mais um pesquisador famoso que já entrou na vibe (desculpe, não resisti! 😊) foi Andrew Ng, da DeepLearning.ai. Ele já criou e disponibilizou no portal da sua empresa um curso básico gratuito [8] sobre esta técnica (link nas referências).

 image

Até agora, ninguém sabe definir se vibe coding” é um caminho a seguir no desenvolvimento de software ou se é apenas o hype da vez!

  

5 – Considerações finais

Este artigo tratou de uma nova técnica que usa geradores de código automático usando IA para melhorar o desenvolvimento de software. Há 2 meses, Andrek Karpathy, co-fundador da OpenAI, tuitou uma técnica que ele está usando para desenvolver software, a “vibe coding”.

 Este artigo mostrou como ela funciona, seus benefícios e limitações. Foram apresentados exemplos de seu uso e de como a ideia repercutiu e foi valorizada por pessoas relevantes da área.

 Foram listadas as principais ferramentas de IA para a programação, com uma breve descrição daquelas menos conhecidas. Agora que eu concluí o artigo, outras ferramentas recentes estão muito comentadas, como a Devin.ai.

 Se essa técnica é o futuro ainda não se pode dizer. Se for, o programador deixará de ser um criador de código e passará a ser um copiador e colador de código gerado por IA.

 No momento quer a IA for integrada totalmente ao ambiente de desenvolvimento, executando o compilador com o código que ela mesma gerou e lendo as mensagens de erro da compilação, nem essa tarefa restará ao programador. Ele não será mais necessário no processo!

 E isso é muito preocupante!!

  

6 – Referências

[1] PARETO. 11 Melhores Ferramentas de IA para Programação. Disponível em: <https://blog.pareto.io/ia-para-programacao/>. Acesso em 29/03/2025.

 [2] AWS. Geração de código com IA. Disponível em: <https://aws.amazon.com/pt/what-is/ai-coding/#:~:text=O%20que%20%C3%A9%20gera%C3%A7%C3%A3o%20de,IA%20gera%20o%20c%C3%B3digo%20necess%C3%A1rio>. Acesso em 29/03/2025.

 [3] CARDOSO, Rodrigo. Melhor IA para programação em 2024. Disponível em: <https://www.locaweb.com.br/blog/temas/codigo-aberto/ia-para-programacao/> . Acesso em: 29/03/2025.

 [4] STEPHANE. Vibe Coding: The Future of Software Development or Just a Trend? Disponível em: <https://lovable.dev/blog/what-is-vibe-coding>. Acesso em: 01/04/2025.

 [5] ANDERSON, Jakob. What is Vibe Coding? How Creators Can Build Software Without Writing Code. Disponível em: <https://alitu.com/creator/workflow/what-is-vibe-coding/>. Acesso em: 01/04/2025.

 [6] MAIBERG, Emanuel. This Game Created by AI 'Vibe Coding' Makes $50,000 a Month. Yours Probably Won’t. Disponível em: <https://www.404media.co/this-game-created-by-ai-vibe-coding-makes-50-000-a-month-yours-probably-wont/>. Acesso em: 02/04/2025.

 [7] NIELSEN, Jakob. Vibe Coding and Vibe Design. Disponível em: <https://jakobnielsenphd.substack.com/p/vibe-coding-vibe-design>. Acesso em: 02/04/2025.

 [8] DEEPLEARNING.AI – Vibe coding 101 with Replit. Disponível em: <https://www.deeplearning.ai/short-courses/vibe-coding-101-with-replit/>. Acesso em: 03/04/2025.

 [9] WIKIPEDIA - Vibe coding. Disponível em: <https://en.wikipedia.org/wiki/Vibe_coding>. Acesso em: 29/03/2025.

Compartir
Recomendado para ti
XP Inc. - Cloud com Inteligência Artificial
Microsoft AI for Tech - Azure Databricks
Microsoft Certification Challenge #3 DP-100
Comentarios (3)
DIO Community
DIO Community - 03/04/2025 16:49

Fernando, você trouxe uma abordagem fascinante com a técnica de "vibe coding"! A ideia de usar a IA de forma mais "descomplicada", sem precisar se aprofundar nos detalhes do código e deixando que a ferramenta faça a maior parte do trabalho, realmente ressignifica a maneira como vemos o desenvolvimento de software.

A técnica, conforme explicada, tem um potencial disruptivo, principalmente pela redução da barreira de entrada para pessoas que não têm um conhecimento profundo em programação, ao mesmo tempo que acelera o desenvolvimento de projetos, principalmente na prototipagem. A comparação com o "pair programming" com a IA como parceiro também foi bem colocada, destacando a evolução da programação assistida por IA.

Você acredita que, a longo prazo, essa técnica pode substituir partes significativas da função dos programadores, ou ainda dependeremos do olhar humano para a qualidade e segurança do código?

Fernando Araujo
Fernando Araujo - 03/04/2025 15:07

Opa, Luis! Isso mesmo!

Eu acho que a técnica ainda é uma grande novidade e pode ser bem aplicada em projetos pequenos, pessoais e POC ("Proof of Concept" - Prova de Conceito). No entanto, para projetos grandes, acho difícil que o programador (ou a equipe) decida por ter um código misterioso, que ninguém revisou por completo.

E isso principalmente se for seguida à risca a técnica descrita por Karpathy, copiando e colando as mensagens de erro de compilação, sem analisar nem testar.

Ainda é muito cedo para avaliar a técnica sem pesar essas coisas.

Luis Zancanela
Luis Zancanela - 03/04/2025 13:11

Com certeza o estilo vibe coding é util quando se tem disponível a ferramenta, e util demais para POCs, mas tem a questão de segurança e a resiliência da aplicação, itens que podem ser muito específicos do negócio ou organização e que podem acabar sendo negligenciado em nome de colocar a funcionalidade em produção o mais rápido possível. Tem coisas que mesmo sem IA já temos gaps, e esse gap pode crescer na mesmo proporção de features novas

Recomendado para tiMicrosoft Certification Challenge #3 DP-100