13 pontos por GN⁺ 2025-04-01 | 1 comentários | Compartilhar no WhatsApp
  • Um texto com uma reflexão crítica sobre o Vibe Coding, que consiste em vivenciar o "estado de fluxo (Flow)" durante o desenvolvimento junto com a AI
  • Nos últimos dois meses, o autor dependeu do Vibe Coding, mas concluiu que não ficou satisfeito em termos de produtividade e custo
  • Vibe Coding não é uma metodologia específica de desenvolvimento, mas um estilo de programar centrado em um certo estado ou emoção
    • O código é escrito seguindo o fluxo, com dependência de assistentes de programação com AI (Cline, Roo Code, Cursor etc.)
    • O trabalho avança sem um plano claro, guiado apenas pela intuição e pela imersão, buscando a sensação de progresso movida por dopamina

Problemas do Vibe Coding

  • Perda de tempo: no começo parece que tudo anda rápido, mas, como não há estrutura, o processo fica à mercê de erros e mudanças
  • Aumento de custos: quanto maior a janela de contexto da AI, maior também o custo das chamadas de API
    • Ex.: envio de centenas de milhares de tokens, geração de milhares de linhas → no fim, o custo pesa
  • Mais retrabalho: o código feito rapidamente no início acaba não servindo ao objetivo, gerando uma situação em que é preciso refazer tudo

Também há vantagens

  • Por meio da depuração repetitiva e da reinterpretação do código, há melhora na compreensão da estrutura do código e da própria linguagem
  • O autor está focado em aprender Python e vem desenvolvendo, aos poucos, a capacidade de entender erros e orientar o modelo corretamente

Vibe Coding vs. AI Chat vs. busca na web

  • Vibe Coding: útil para exploração inicial ou tentativas experimentais, mas inadequado para desenvolvimento estruturado
  • AI Chat (ChatGPT etc.): útil para respostas rápidas e geração de boilerplate, mas confiar cegamente é arriscado (há possibilidade de alucinação da AI)
  • Busca na web: essencial para encontrar conceitos e soluções corretas, mas pode levar mais tempo

Combinação preferida atualmente: Gemini + Open WebUI

  • Gemini Code Assist (usado no VS Code):
    • Gratuito e forte na geração de código de teste e correção de erros
    • Especialmente útil para quem está tendo o primeiro contato com testes unitários
  • Open WebUI:
    • Suporta vários modelos e permite personalização
    • Dá para configurar prompts para objetivos específicos (programação, artigos acadêmicos, patentes etc.)
    • Adequado para tarefas com boa relação custo-benefício, como alinhamento de texto e conversão de tabelas

Escolha ineficiente: agentes de AI ilimitados

  • Roo Code, Cline etc. rodam por muito tempo e consomem muitos tokens
    • Em especial, os baseados em Claude têm bom desempenho, mas o custo é excessivamente alto
  • Em vez disso, Gemini 2.0, DeepSeek V3/Chat etc. são gratuitos ou baratos e ainda entregam desempenho decente

Conclusão: em busca de equilíbrio

  • Não dá para dizer que o Vibe Coding seja totalmente ruim
    • Ele ajuda na criatividade e na exploração de ideias
  • Porém, não é uma forma sustentável de desenvolver
    • Diante de prazos e custos, é preciso uma alternativa mais realista
  • A combinação ideal atual do autor:
    • Gemini Code Assist (gratuito, forte em testes unitários)
    • Open WebUI (vantajoso em controle e custo)
  • Planos futuros:
    • Considerar apps de chat pagos como o Perplexity (US$ 20/mês, com tier gratuito também disponível)
    • Como os custos de API passam de US$ 30 por mês, é necessário reduzir custos de forma estruturada
    • No longo prazo, também considerar rodar modelos localmente, com possibilidade de migrar quando surgirem modelos mais eficientes

1 comentários

 
GN⁺ 2025-04-01
Comentários do Hacker News
  • É interessante ler relatos sobre como outras pessoas usam LLMs para programar

    • Pessoalmente, sinto que os LLMs ultrapassaram o "vale da estranheza" da programação e aumentaram bastante a produtividade
    • Se você explicar bem o problema e as restrições, eles conseguem gerar com precisão milhares de linhas de código
    • É importante revisar o código gerado pelo LLM, e ele lida bem com pedidos específicos
    • Pedir "me diga qual é o plano para implementar a solução" é útil
    • Os resultados são surpreendentes. O estilo pode variar, mas estruturalmente é muito preciso
  • Vibe coding é adequado para protótipos exploratórios, não para escrever código de produção

    • Serve para ferramentas pessoais, mas não é adequado para código que será distribuído para outras pessoas
    • É preciso entender o código e iterar sobre ele
    • Vibe coding é definido como o ato de não se importar com o código
  • Vibe coding é entrar no "fluxo" e gerar código com facilidade

    • Uma piada de que as cenas de hackers em filmes teriam ficado mais legais se usassem ChatGPT
    • Não é uma boa ideia julgar a correção do código apenas pelo fato de ele rodar
    • É importante ao menos revisar a saída do LLM
  • Acho que vibe coding não tem relação com programar

    • Até não especialistas conseguem criar código pequeno, mas sistemas de grande escala são difíceis
    • LLMs são úteis para gerar código boilerplate, mas quando surgem problemas é preciso corrigir
    • Os novos 'vibe coders' não entendem o problema e tentam repetidamente
  • Gasto $30 por dia usando Claude Code

    • Gasto muito dinheiro com vibe coding
  • Trabalhar em uma estrutura de árvore é útil

    • Uma abordagem de desenhar o panorama geral e depois preencher os detalhes
    • É eficaz ao trabalhar com LLMs
    • É estruturado, mas ainda pode ser considerado vibe coding
  • Karpathy é bom em dar nomes

    • O novo nome pegou bem
  • Uso muito LLM, mas o conceito de vibe começou como uma piada online

    • É importante formular bem as perguntas, e isso é parecido com programar
    • Testes são importantes, e o aprendizado avança rápido com LLM
  • Há valor em expressar seus pensamentos em uma linguagem formal

    • A matemática também pode ser expressa em linguagem natural, mas a clareza e a concisão da formalização são úteis
    • O código é um meio de tornar claras ideias ambíguas
    • Não é desejável que todos os sistemas sejam escritos em linguagem ambígua
  • Chat com IA oferece resultados melhores do que busca na web

    • Ao escrever consultas SQL, o Gemini fornece resultados melhores