26 pontos por GN⁺ 2026-02-02 | 1 comentários | Compartilhar no WhatsApp
  • antirez define o processo de escrever software com ajuda de IA como ‘Automatic Programming’, e prevê que isso em breve se tornará o padrão para desenvolvimento de software
  • Mesmo usando o mesmo LLM, a intuição, o design e o ajuste contínuo de direção feitos por humanos fazem o resultado variar bastante
  • Vibe coding é uma forma de deixar a IA fazer tudo sem grande entendimento, enquanto a programação automática parte de uma visão clara e controle por parte do desenvolvedor
  • O código gerado por IA também se baseia em dados de pré-treinamento e julgamento acumulados por humanos, e a propriedade do resultado pertence ao desenvolvedor
  • A programação está se tornando cada vez mais automatizada, mas ideias e visão continuam sendo domínio humano

Definição do conceito de Automatic Programming

  • O processo de escrever software com suporte de IA é chamado de programação automática (Automatic Programming)
  • Esse modelo em breve se tornará o processo padrão para criar software

Diferença em relação ao vibe coding

  • Vibe Coding é uma forma de gerar software com IA sem participar do processo de fato
    • Ao descrever o que se quer em termos muito genéricos, o LLM gera a primeira ideia/design/código que surge naturalmente com base nos dados de treinamento e na amostragem específica daquela execução
    • O vibe coder, no máximo, relata o que não funciona ou o que saiu diferente do esperado
  • Programação automática é uma abordagem voltada para alta qualidade e que segue rigorosamente a visão de software de quem o produz
    • Essa visão é multicamadas: vai desde definir exatamente como realizar determinada tarefa até instruir diretamente a IA sobre como escrever uma função específica
    • O que será feito também é um elemento central

A importância do fator humano

  • Mesmo com o mesmo LLM, o resultado muda muito conforme a intuição, o design, o ajuste contínuo de direção e as ideias sobre o software da pessoa que conduz o processo
  • A expressão “Claude fez o vibe coding deste software” não é apropriada
  • Se você entende o que está acontecendo e está efetivamente produzindo software real, então esse é o software que você está produzindo

Perspectiva sobre a propriedade do código

  • Os dados de pré-treinamento não são a única parte que o LLM aprende (RL também tem grande peso), mas foram produzidos por humanos
    • Portanto, não se trata de se apropriar de outra coisa
  • É possível chamar o código gerado por IA de “nosso”, e há o direito de fazer isso
  • O pré-treinamento é um presente coletivo que permite que muitas pessoas façam coisas que jamais conseguiriam sozinhas
    • É semelhante a estar conectado de algum modo a uma mente coletiva
  • O código gerado por programação automática é seu código, seu resultado, sua produção, e você pode ter orgulho disso

O caso do Redis

  • O Redis não tem tantas novidades técnicas especiais
    • No começo, era apenas uma combinação de estruturas de dados básicas e código de rede que qualquer programador de sistemas competente poderia escrever
  • Ainda assim, tornou-se um software extremamente útil por causa das ideias e da visão contidas nele

Conclusão

  • A programação agora foi automatizada, mas a visão ainda não foi automatizada

1 comentários

 
GN⁺ 2026-02-02
Comentários do Hacker News
  • Com mais de 30 anos de carreira na indústria, ultimamente tenho mergulhado fundo em desenvolvimento orientado por especificação (spec-driven development)
    Uso Claude Code e GPT-5.2 (CoPilot) para gerar requisitos e refino a especificação repetindo várias rodadas de auto-revisão (self-review)
    A partir da especificação finalizada, o Claude Code escreve o plano de implementação e o código, e as funções principais ficam prontas em 20 minutos
    Isso me lembra o modelo waterfall da época em que trabalhei na indústria de defesa, mas sinto que, graças à IA, agora é possível uma abordagem de “cascata aumentada (augmented cascade)” muito mais rápida e refinada

    • Para waterfall funcionar bem, é preciso visão de longo prazo e que quem escreve a especificação seja a mesma pessoa que desenvolve
      Agile foi uma resposta para que empresas onde essas condições eram impossíveis conseguissem sobreviver lançando produtos rapidamente
    • Eu também acho que o futuro da programação será centrado em especificações
      Fico curioso se há exemplos públicos de especificações que valham como referência. Assim como a geração passada admirava o código do Quake de John Carmack, acho que a próxima geração vai reverenciar grandes especificações
    • Por mais sofisticada que seja uma especificação, é difícil evitar choques com a realidade
      Humanos não conseguem prever toda a complexidade e todos os casos de exceção. Quando você realmente constrói algo, sempre aparece um “nisso eu não tinha pensado”
    • Agile é um método para encontrar gradualmente a direção certa em ambientes onde os requisitos mudam
      Se os requisitos já estão claros, ele não é necessariamente preciso
    • No fim, essa abordagem parece uma variação moderna do conceito de Design by Contract
      A diferença é que, em vez de equipes subordinadas, usa-se um LLM
      Material relacionado: Design by Contract (Goodreads), PDF original
  • Não concordo com a expressão “o pré-treinamento (pre-training) é um presente coletivo da humanidade”
    Se foi roubado, não é presente
    Mesmo que o código tenha sido gerado por LLM, se eu assumo a responsabilidade e faço a manutenção, então considero que é meu código
    O problema surge quando o autor foge da responsabilidade

    • A expressão “presente roubado” me causou rejeição imediata
    • Conhecimento não é algo que se possa roubar. Assim como ninguém diz que a matemática foi roubada, acho que o próprio compartilhamento de conhecimento é a essência do progresso humano
  • Depois de usar Claude Code e Opus 4.5, cheguei a uma conclusão parecida
    Eu chamo isso de “zen coding”. Trato a base de código como um jardim zen, projeto a especificação com cuidado e reviso linha por linha
    A IA não deve agir como projetista, mas como ferramenta
    Quem tem uma especificação clara consegue obter código de qualidade muito mais alta da IA
    Vibe coding é experimentação intuitiva; Zen coding é treinamento artesanal

  • Quando ouço algo como “foi o Claude que deu”, já tenho a sensação de que ainda é um código com cara de rascunho
    Não precisa culpar a ferramenta nem pedir desculpas; basta melhorar o resultado

    • O problema é que agora dá para ir bastante longe sem se preocupar muito com arquitetura ou qualidade de código
    • Por isso, é preciso elevar as expectativas e usar automação para aumentar a qualidade de apps vibe-coded
  • A expressão “pré-treinamento é um presente da humanidade” me incomoda
    Muitos desenvolvedores de open source não queriam que seu código fosse usado no treinamento de LLMs
    Em parte do código gerado por LLM, já vi casos em que ele praticamente copiava código de livros ou blogs que eu conhecia
    Acho que, no mínimo, o correto seria citar a origem

    • Todo desenvolvimento se apoia nos ombros de quem veio antes. Não existe criação totalmente independente
    • Licenças open source e domínio público são coisas juridicamente diferentes
      Se código GPL foi usado para treinar um LLM, é possível interpretar que o resultado também deveria ser publicado sob GPL
    • Historicamente, há muitos casos em que obras foram usadas independentemente da vontade do criador
      Por exemplo, Kafka pediu que seus manuscritos fossem queimados, mas hoje eles se tornaram clássicos da literatura
    • Também há quem retruque: “você dá crédito ao Hoare quando implementa quicksort?”
    • Propriedade intelectual também não é algo absoluto e, se necessário, pode ser socialmente expropriada (expropriation)
  • A “programação automática” dos anos 1950~60 na verdade significava compiladores
    As 4GLs dos anos 1980 eram linguagens de alto nível especializadas por domínio, e os LLMs de hoje estão na fase de gerar rascunhos a partir de especificações em linguagem natural
    No fim, os humanos ainda precisam elevar a qualidade por meio de correções iterativas e mudanças de projeto

  • Talvez estejamos vendo agora a última geração de desenvolvedores artesanais (artisanal coder)
    Artesãos como Antirez lidam com conceitos que ultrapassam os limites humanos e criam softwares como o Redis, simples e ao mesmo tempo belos
    A IA cria código numa velocidade que humanos não conseguem alcançar, mas isso não é o pincel nem a tela
    A nova geração será artesã de um jeito completamente diferente
    Eu também sinto medo, mas estou abraçando essas novas ferramentas e experimentando uma nova era do ofício

    • No xadrez, os humanos já não conseguem vencer os computadores, mas ele continua muito popular
    • Antirez agora está mais próximo de um influenciador de IA, mas programar continua sendo uma atividade prazerosa
    • Mesmo que LLMs ajudem com código, ainda é essencial entender conceitos básicos e estruturas
      Soma-se a isso a habilidade de lidar bem com IA; o conhecimento anterior não se torna desnecessário
  • No texto do Antirez, foi marcante a distinção clara entre “vibe coding” e “automatic programming
    É uma mudança parecida com a transição da época em que arquitetos desenhavam plantas à mão para BIM, CAD
    Na era da IA, o desenvolvedor não está codando menos; o foco do valor é que mudou

  • “vibe coding vs automatic coding” não é uma dicotomia, mas um espectro
    Mesmo dentro de um único projeto, dá para misturar abordagens em vários níveis

    • Como a saída do LLM varia conforme o nível técnico e a intenção do usuário, o resultado no fim pertence ao usuário
      O importante é usar a ferramenta de forma crítica e continuar melhorando
    • A IA é como um instrumento musical que pode ser tocado de várias maneiras
      Alguns chamam isso de “spec strumming