3 pontos por GN⁺ 2025-02-04 | 1 comentários | Compartilhar no WhatsApp
  • Em ambientes de desenvolvimento baseados em LLM, é apresentado um novo conceito de "codificação por vibe", no qual o usuário não escreve código diretamente, mas produz resultados por meio de conversas e comandos
  • Usando Cursor Composer e SuperWhisper, é possível modificar código com comandos de voz, realizando tarefas apenas com pedidos simples como “reduza pela metade o padding da barra lateral”
  • Sem ler o diff das alterações no código, aprova tudo de uma vez com "Accept All" e usa um fluxo de correção automática em que mensagens de erro são simplesmente copiadas e coladas para resolução
  • O código vai ficando cada vez mais complexo e difícil de entender, mas no nível de projetos experimentais de fim de semana ainda funciona bem o suficiente
  • Um jogo de Battleship em que dois LLMs competem em tempo real também foi criado da mesma forma, com a observação de que “4o é mais forte que 4o-mini”

Conceito de codificação por vibe

  • “Codificação por vibe” é uma forma de desenvolvimento focada mais no fluxo e na intuição do que no ato de escrever código
    • O usuário não se preocupa com a estrutura detalhada do código e aceita diretamente os resultados propostos pelo LLM
    • A expressão “até esquece que o código existe” enfatiza uma experiência de desenvolvimento centrada em IA

Ferramentas usadas e forma de trabalho

  • A geração de código é feita com Cursor Composer e o modelo Sonnet
    • Por meio do SuperWhisper, conversa-se com o Composer por voz, quase sem usar o teclado
  • Alterações são pedidas com comandos simples como “reduza pela metade o padding da barra lateral”
    • Sem revisar o diff das mudanças no código, tudo é aprovado com "Accept All"
    • Na maioria dos casos, basta copiar e colar a mensagem de erro sem explicações adicionais para resolver o problema

Gestão do código e limitações

  • À medida que o código cresce, ele se torna complexo a ponto de ficar difícil de entender
    • Quando um bug não é resolvido, o problema é eliminado contornando a situação ou repetindo pedidos de alterações arbitrárias
  • Essa abordagem é adequada para projetos curtos e experimentais, mas tem limitações em sistemas complexos

Projeto experimental: jogo de Battleship

  • Um jogo de Battleship foi criado com cerca de uma hora de “codificação por vibe”
    • A estrutura faz dois modelos de LLM competirem entre si em tempo real
    • É mencionada a observação informal de que “4o é mais forte que 4o-mini”
  • Ainda não há estatísticas concretas nem números de comparação de desempenho

Contexto geral

  • Mostra que, com o avanço dos LLMs, desenvolvedores podem gerar rapidamente aplicações funcionais sem lidar diretamente com cada detalhe do código
  • A “codificação por vibe” pode ser vista como um caso experimental que revela um novo paradigma de programação centrado em IA

1 comentários

 
GN⁺ 2025-02-04
Comentários do Hacker News
  • Todo ano acho que os padrões de qualidade de software não podem cair mais, mas toda vez percebo que estou errado

    • Não entendo por que fazer algo que você nem vai fazer direito
    • É como pregar pedaços de madeira mal cortados e fazer algo parecido com uma cadeira, para depois sentar nela
    • Tem quem diga “às vezes a gente só precisa de um lugar para sentar”, mas ainda assim sinto que deveria haver um mínimo de acabamento
    • Vi pessoas que, por não terem confiança no inglês, passaram a depender totalmente de LLMs, e com isso perderam capacidade de expressão e autoconfiança
    • Em software, raramente se sabe desde o começo que se está construindo uma “cadeira”
      • No fim, isso é só outro nome para programação exploratória ou prototipagem
    • Às vezes o destino não é o mais importante; a pessoa só quer chegar logo a algum lugar
      • É como repreender alguém cansado que se senta no chão por um momento
    • Hoje em dia me preocupa que esteja desaparecendo a noção de realidade de que o código roda em hardware real
      • Muitos desenvolvedores jovens não entendem as consequências físicas do código
      • Acho que a IA e todo esse hype vão desmoronar em algum momento, mas a luta para manter a qualidade precisa continuar
  • Eu também sinto prazer em fazer projetos leves desse jeito

    • Mas segurança é algo que nunca dá para fazer de qualquer jeito
    • Já vi assistentes de código com IA criarem APIs sem autenticação ou gerarem templates com risco de XSS muitas vezes
    • Uso LLMs todos os dias, mas tenho certeza de que o papel do engenheiro de segurança continuará existindo por muito tempo
  • Quando vejo essa abordagem, parece que o resultado foi entregue por alguém que “come e programa”

  • Me preocupo se começar a programar assim fará a capacidade de resolver problemas difíceis atrofiar

    • Mas outra pessoa diz que ainda é possível fazer manualmente, com cuidado, as partes necessárias
    • Em compensação, a barreira de entrada para testar coisas novas cai, o que permite explorar com muito mais liberdade
  • Hoje estão surgindo muitos desenvolvedores nativos de IA que aprendem assim desde o começo

    • Parece que entramos numa era em que é menos sobre programar e mais sobre gerenciar codificadores de IA
  • Ferramentas como um WYSIWYG editável por comandos em linguagem natural parecem ter um abismo repentino de dificuldade, como os limites das ferramentas RAD

  • Algumas pessoas dizem que “não se deve aprender assim”, mas eu acho importante equilibrar esforço e nível de acabamento

    • Vibe Coding é um bom método para aprendizado e exploração
    • Pode abrir um novo espectro entre esforço e acabamento
    • Mas, como dizia Fred Brooks, se a primeira tentativa for fraca, é preciso saber descartá-la sem hesitar
      • Se você se apegar à primeira implementação gerada por um LLM, pode acabar preso a um ponto de partida equivocado sem entender o problema de verdade
  • Acho que CSS já dá para fazer tranquilamente com Vibe Coding

    • Mas outra pessoa rebate que, considerando acessibilidade e design responsivo, a coisa não é tão simples assim
    • CSS bem feito pode ser, na verdade, conciso e fácil de manter
    • Colocar IA no meio pode até atrapalhar
    • Outra pessoa disse que já implementou completamente pequenos utilitários web com Claude
    • Alguém também contou que criou uma DSL de busca baseada em React e um editor de pipeline com GUI da mesma forma, explicando que essa abordagem vai muito além de algo no nível de CSS