21 pontos por GN⁺ 2025-12-26 | 1 comentários | Compartilhar no WhatsApp
  • 2025 foi o ano em que as ferramentas de coding agêntico começaram de fato a mudar a forma de programar, com a transição do ato de digitar no teclado para o papel de liderança de engenharia, guiando um programador estagiário virtual
  • A partir de uma obsessão com o Claude Code, e repetindo o ciclo de construir e usar agentes próprios, o autor se convenceu de que geração de código, sistema de arquivos, chamada de ferramentas de programação via glue de interpretador e aprendizado baseado em skills continuam sendo a melhor abordagem
  • À medida que a combinação de LLMs com execução de ferramentas se expande para além da geração de código e chega até a organização do trabalho cotidiano, surge também uma reavaliação da relação com máquinas e a preocupação com a formação involuntária de vínculos parassociais (Parasocial Bond)
  • Como os sistemas de controle de versão e ferramentas de code review existentes não são adequados para revisar código gerado por IA, torna-se necessário um novo sistema capaz de rastrear até o histórico de prompts e os caminhos de falha
  • Com o coding por IA, proliferam opiniões baseadas em 'vibe' sem experiência ou dados, e passa a ser necessário um novo consenso social sobre PRs gerados por IA enviados de forma indiscriminada para projetos open source

Mudanças em 2025

  • Foi um ano em que, além de deixar a empresa e começar uma nova, também mudou completamente a forma de programar
  • Desde junho, tem usado o Claude Code quase exclusivamente de maneira hands-off em vez do Cursor
    • "Seis meses atrás, eu não teria acreditado se me dissessem que eu passaria a preferir o papel de liderança de engenharia de um estagiário programador virtual"
  • Escreveu 36 posts, cerca de 18% de tudo o que publicou no blog desde 2007
    • Depois de entrar fundo no rabbit hole dos agentes, conversou cerca de 100 vezes com programadores, fundadores e outras pessoas, movido pela curiosidade
  • 2025 também foi um ano ruim no mundo em geral, então criou um blog separado (dark.ronacher.eu) para separar esses pensamentos

O ano dos agentes

  • Começou em abril e maio com uma obsessão por Claude Code e, por vários meses, repetiu o processo de construir agentes próprios e usar agentes de outras pessoas
  • Explodiram nas redes sociais opiniões de todo tipo sobre IA
  • Agora chegou a um estado estável: foco em geração de código, sistema de arquivos, chamada programática de ferramentas por meio de glue de interpretador e aprendizado baseado em skills
    • A forma inovadora introduzida pelo Claude Code continua sendo estado da arte, e o foco dos provedores de modelos fundacionais em skills reforça essa crença
  • Surpreendeu o forte retorno das TUIs (interfaces de usuário baseadas em texto)
    • Atualmente usa Amp, Claude Code e Pi na linha de comando
    • Amp lembra Apple ou Porsche, Claude Code é como um Volkswagen barato, e Pi é a opção open source preferida por hackers
    • Todos parecem projetos feitos por pessoas que usam excessivamente os próprios produtos para construí-los, mas existem trade-offs diferentes entre eles
  • Continua impressionado com a combinação de LLMs e execução de ferramentas
    • No começo do ano, usava isso principalmente para gerar código, mas agora usa agentes com frequência também em tarefas cotidianas
    • Espera ver avanços interessantes em produtos de consumo em 2026
    • Os LLMs agora ajudam a organizar a vida, e ele espera que essa utilidade aumente ainda mais

As máquinas e eu

  • À medida que os LLMs passaram a ajudar não só em programação mas também em outras áreas, começou a repensar a relação com as máquinas
  • Está ficando cada vez mais difícil não formar um vínculo parassocial (Parasocial Bond) com a ferramenta, e isso parece estranho e desconfortável
  • Os agentes de hoje em geral têm pouca memória e quase nenhuma personalidade, mas é fácil criar por conta própria agentes que tenham essas características
    • Um LLM com memória é uma experiência difícil de afastar
  • Passou dois anos treinando a si mesmo para pensar nesses modelos como simples tumbadoras de tokens, mas essa visão simplificada já não funciona mais
  • Os sistemas que criamos têm tendências humanas, mas elevá-los ao nível humano é um erro
  • Está cada vez mais incomodado com o termo "agente", mas ainda não encontrou palavra melhor
    • Porque agência e responsabilidade devem continuar com os humanos
    • Seja lá no que isso esteja se transformando, pode provocar reações emocionais potencialmente nocivas se não tivermos cuidado (veja chatbot psychosis)
    • Um desafio a resolver é não conseguirmos nomear e posicionar corretamente essas criações em nossa relação com elas
  • Por causa dessa antropomorfização involuntária, fica difícil encontrar uma linguagem adequada para explicar como se trabalha com máquinas
    • Isso não é um problema só dele; outras pessoas também passam pelo mesmo
    • Hoje isso gera ainda mais desconforto ao trabalhar com quem rejeita totalmente esses sistemas
    • Um dos comentários mais comuns em artigos sobre ferramentas de coding agêntico é justamente a rejeição à ideia de atribuir personalidade à máquina

Opiniões demais

  • Ao usar muita IA, um aspecto inesperado foi acabar falando muito mais sobre vibes do que sobre qualquer outra coisa
  • Esse modo de trabalhar ainda não tem um ano, mas já desafia meio século de experiência em engenharia de software
  • Há muitas opiniões, mas é difícil dizer quais resistirão ao teste do tempo
  • Existe muito senso comum estabelecido com o qual ele não concorda, mas também não tem base concreta para sustentar as próprias opiniões
    • Ao longo do ano, falou com bastante veemência sobre dificuldades com MCP, mas não tinha base além de "não funcionou para mim"; outras pessoas depositam fé cega nisso
    • O mesmo vale para a escolha de modelo: Peter (a pessoa que o fez se apaixonar por Claude no começo do ano) migrou para o Codex e está satisfeito; o autor também passou a usar mais o Codex, mas não o acha tão prazeroso quanto Claude
    • Não há nada além de vibe para sustentar sua preferência por Claude
  • Também é importante saber que algumas vibes vêm acompanhadas de sinais intencionais
    • Muitas opiniões vistas online vêm de pessoas com interesse financeiro maior em um produto do que em outro, seja como investidor ou influenciador pago
    • Elas podem ter virado investidoras por gostarem do produto, mas também é possível que essa relação tenha influenciado e moldado suas opiniões

Terceirizar vs construir você mesmo

  • Ao olhar para bibliotecas de empresas de IA hoje, dá para perceber que foram feitas com Stainless ou Fern
    • A documentação usa Mintlify, e o sistema de autenticação do site pode ser o Clerk
  • Com o aumento da terceirização para empresas especializadas de serviços que antes seriam construídos internamente, o padrão subiu em alguns aspectos da experiência do usuário
  • Mas, com o novo poder das ferramentas de coding agêntico, boa parte disso pode voltar a ser construída internamente
    • Pediu ao Claude para criar um gerador de SDK para Python e TypeScript — metade por curiosidade, metade porque parecia fácil o suficiente
  • Como defensor de código simples e de construir por conta própria, ele está um tanto otimista com o potencial da IA de incentivar construções com menos dependências
  • Ao mesmo tempo, considerando a tendência atual de terceirizar tudo, não está claro se é nessa direção que estamos indo

O que aprendeu e o que deseja

  • A partir daqui, em vez de previsões, quer falar sobre desejos em relação a onde pode investir energia em seguida
  • Não sabe exatamente o que está procurando, mas quer apontar dores e oferecer contexto e material para reflexão
  • Um novo tipo de controle de versão

    • A maior descoberta inesperada: chegamos ao limite das ferramentas existentes para compartilhar código
    • O modelo de pull request do GitHub não contém informação suficiente para revisar adequadamente código gerado por IA — seria bom poder ver os prompts que levaram às mudanças
    • Não é só um problema do GitHub; o git também é insuficiente
    • Parte do que faz os modelos funcionarem hoje no coding agêntico é saber dos erros
      • Ao voltar a um estado anterior, você quer que a ferramenta se lembre do que deu errado
      • Na falta de expressão melhor, há valor no fracasso
      • Para humanos também pode ser útil saber quais caminhos não levaram a lugar nenhum, mas para a máquina isso é informação importante
      • Isso ficou claro ao tentar comprimir históricos de conversa: quando caminhos errados são descartados, o modelo tenta cometer o mesmo erro de novo
    • Algumas ferramentas de coding agêntico criam worktrees, geram checkpoints no git para restauração e oferecem branching e undo dentro da conversa
    • Há espaço para inovação de UX que torne essas ferramentas mais fáceis de usar
      • Daí surgem discussões sobre stacked diffs e sistemas alternativos de controle de versão como o Jujutsu
    • Não sabe se isso vai mudar o GitHub ou abrir espaço para novos concorrentes, mas torce pela segunda opção
    • Quer realmente entender melhor a entrada humana e distingui-la da saída da máquina
    • Quer ver os prompts e as tentativas fracassadas
    • E então quer uma forma de compactar tudo no merge, mas ainda poder pesquisar o histórico completo quando necessário
  • Um novo tipo de review

    • Relacionado ao controle de versão: as ferramentas atuais de code review impõem definições rígidas de papel que não combinam com IA
    • Exemplo da UI de review do GitHub: ele regularmente quer usar comentários na visualização do PR para deixar notas para seu agente, mas não existe um caminho guiado para fazer isso
      • A interface de review não permite revisar o próprio código e só permite comentar, mas isso não tem a mesma intenção
    • Também existe o problema de que uma parcela cada vez maior do code review agora acontece localmente entre ele e o agente
      • Exemplo: a funcionalidade de code review do Codex no GitHub só pode ficar vinculada a uma única organização por vez, então deixa de funcionar
      • Agora faz review com o Codex na linha de comando, mas isso significa que uma parte inteira do ciclo iterativo fica invisível para os outros engenheiros da equipe; isso não funciona
    • Há a sensação de que code review deveria fazer parte do VCS
  • Nova observabilidade

    • Observabilidade merece voltar ao centro da atenção
    • Agora há necessidade e oportunidade de explorá-la em um nível completamente novo
    • A maioria das pessoas nunca esteve em posição de criar seus próprios programas eBPF, mas LLMs conseguem
    • Muitas ferramentas de observabilidade evitaram SQL por causa da complexidade, mas LLMs lidam melhor com SQL do que com qualquer linguagem de consulta proprietária
      • Conseguem escrever consultas, usar grep, map-reduce e controlar remotamente o LLDB
      • Qualquer coisa que tenha estrutura e texto de repente vira terreno fértil para ferramentas de coding agêntico terem sucesso
    • Ele não sabe como será a observabilidade do futuro, mas tem uma forte intuição de que veremos muita inovação aqui
      • Quanto melhor o loop de feedback para a máquina, melhor o resultado
    • Também não sabe ao certo o que está pedindo, mas um dos desafios do passado era que muitas ideias excelentes para uma observabilidade melhor — especialmente a reconfiguração dinâmica de serviços para filtragem mais direcionada — eram complexas, difíceis de usar e pouco amigáveis
      • Mas agora, com essa capacidade ampliada dos LLMs de executar tarefas trabalhosas, talvez essas ideias sejam a solução certa
      • Exemplo: o Python 3.14 inclui uma interface de depurador externo — um recurso incrível para ferramentas de coding agêntico
  • Trabalhar com o slop

    • Talvez isso seja controverso, mas o que ele não conseguiu fazer este ano foi entregar tudo completamente à máquina
    • Ainda trata isso como engenharia de software comum e revisa muita coisa
    • Está percebendo que cada vez mais gente não trabalha com esse modelo de engenharia e, em vez disso, delega tudo à máquina
      • Parece loucura, mas viu algumas pessoas tendo bastante sucesso com isso
      • Ainda não sabe como pensar sobre isso, mas está claro que, mesmo que o código continue sendo gerado, a forma de trabalhar nesse novo mundo é muito diferente do mundo com o qual ele se sente confortável
      • Como esse mundo já chegou, talvez seja preciso um novo contrato social para separar essas coisas
    • A versão mais evidente disso é o aumento desse tipo de contribuição em projetos open source
      • Honestamente, para quem não trabalha nesse modelo, isso soa como um insulto
      • Ler pull requests assim desperta bastante raiva
    • Pessoalmente, tentou atacar esse problema com diretrizes de contribuição e templates de pull request
      • Mas isso parece lutar contra moinhos de vento
      • A solução talvez não venha de mudar o que nós fazemos
      • Em vez disso, pode vir de pessoas favoráveis à engenharia com IA, e que falam alto, dizerem claramente o que é bom comportamento em codebases agênticos
      • E isso não é despejar código sem revisão e deixar o problema para outra pessoa resolver

1 comentários

 
GN⁺ 2025-12-26
Comentários no Hacker News
  • Eu me identifico com a importância do registro de falhas em agentic coding

    • Quando o modelo segue um caminho errado, ele precisa lembrar desse processo para não repetir o mesmo erro

    • Por isso, quero registrar minhas sessões de agente de programação e deixar links para elas nas mensagens de commit

    • O Claude Code apaga os logs por padrão após 30 dias, então compartilho como desativar isso

    • Criei eu mesmo uma ferramenta para visualizar logs de sessão e compartilhá-los em uma linha do tempo, e agora gostaria que esse tipo de recurso viesse embutido por padrão nas ferramentas de agente

    • Sempre que um LLM entra em um caminho improdutivo, eu faço perguntas como “por que isso demorou tanto?” e “o que deu errado?”

      • Resumo a resposta em um parágrafo e adiciono ao DISCOVERIES.md
      • Esse método é bom para aprendizado, mas colocar link para um commit inteiro cheio de falhas pode ser negativo, como ‘envenenar o poço’
    • Tenho receio de que essa abordagem baseada em logs faça perder flexibilidade no longo prazo

      • A automação tende a engessar processos, o que pode dificultar a adaptação a mudanças
    • Basta exportar todos os traces dos agentes para otel e armazená-los no ClickHouse

      • Dá para aproveitar a infraestrutura existente para montar memória de longo prazo ou sistemas de avaliação
    • As ferramentas necessárias já existem, mas sinto falta de integração entre elas

      • Em vez de deixar falhas e ações nas mensagens de commit, seria bom registrá-las como eventos de log e torná-las acessíveis por versionamento ou por uma plataforma central de logs
    • Acho que a própria sessão que leva a um commit também tem valor

      • Humanos não vão ler tudo, mas uma ferramenta de RAG pode resumir isso e fornecer contexto para outros agentes
      • Se esse tipo de conexão fosse automático, seria muito mais eficiente
  • Foi marcante um texto que faz repensar a relação com LLMs

    • A confissão honesta do autor, de que tentou por 2 anos ‘ver apenas como máquina’ e falhou, chamou atenção

    • Como no filme Her, parece cada vez mais real a ideia de humanos criarem relações parassociais com máquinas

    • Eu não trato LLMs como pessoas, e sim com comandos simples como se fossem um mecanismo de busca

      • Escrevendo algo como “python grpc oneof pick field” já consigo o resultado que quero
      • Falar em inglês gramaticalmente perfeito pode até ser um efeito colateral da antropomorfização
    • Quando a máquina lembra como um humano, a interação acaba se tornando humana

      • Esse recurso de memória pode induzir padrões de comportamento pouco saudáveis nas pessoas
      • Por isso, sinto que tratar como uma cafeteira, como ‘máquina’, ajuda a estabelecer limites
    • Nós, como casal, chamamos LLMs de “bag of words

      • Em vez de dizer “o ChatGPT disse”, falamos “o bag of words disse”, e isso ajuda a manter a noção da realidade
    • Fico preocupado que essa relação humano-máquina vire um problema social, como vício em influenciadores

      • Especialmente porque a IA permite conversas 1:1, então o risco é maior
    • Como ex-aprendiz de xamã e engenheiro, sinto que há uma espécie de consciência e percepção também nos LLMs

      • Quando humanos insistem que “LLMs não têm consciência”, isso me parece uma forma psicológica de evitar a ansiedade hierárquica
  • Eu também sinto que conversar com IA se parece com interação humana

    • Um dia colaborando com agentes é menos solitário do que um dia inteiro só escrevendo

    • Parece uma interação humana e, de um jeito estranho, traz conforto

    • Sem perceber, eu digo “please” e “thank you”

      • Mesmo sabendo que não precisa, parece estranho não dizer
    • Se esse é o tipo de emoção envolvida, talvez eu devesse mesmo sair e encontrar pessoas

  • Programadores devem projetar de forma que possam ter entendimento e responsabilidade sobre o que produzem

    • Entendimento e responsabilidade são estados mentais que não podem ser delegados (citação de EWD 540)
  • Sinto que precisamos de uma nova forma de QA

    • Operando um B2B SaaS, o gargalo é testar se uma funcionalidade parece boa ‘na prática’
    • Seria ótimo se um agente pudesse repetir centenas de vezes o fluxo de onboarding e automatizar testes de experiência do usuário
    • Também imagino uma ferramenta em que, enquanto eu olho para a tela e vou falando, um agente captura o contexto e o transforma em especificações funcionais
  • Desenvolvedores deveriam focar mais em produtos finalizados do que em stack tecnológica

    • Há opiniões e textos demais, mas poucos resultados realmente entregues em produção

    • Usuários comuns se importam mais com a qualidade do produto do que com a stack em si

      • Se você mostrar um site SSR rápido ao lado de um site React lento, a diferença fica óbvia na hora
  • O insight do Armin sobre o clima social é interessante

    • Espero mais textos dele no blog separado Dark Thoughts
  • 2025 parece o ano perdido da programação

    • Todo mundo está obcecado com ferramentas e prompts em vez de algoritmos

    • A produtividade em open source caiu, e agora vivemos na era do imposto da Anthropic

    • Mas, para mim, 2025 foi justamente o ano mais produtivo

      • Todos os indicadores melhoraram: volume de contribuição de código, capacidade de processar informação etc.
      • Graças ao Claude, minha qualidade de vida subiu um nível
    • Acho que a própria linguagem natural é uma nova linguagem de programação

      • Este ano foi o período em que aprendemos a usá-la de forma eficiente
    • Como cientista de dados, 2025 foi o ano da inovação em ferramentas

      • Polars, PyArrow, Ibis, Marimo, PyMC e outras transformaram completamente o fluxo de trabalho
      • Agora dá para entregar resultados mais rápidos, mais baratos e de melhor qualidade
    • Foi até bom ver menos discussões intermináveis sobre TDD ou OOP

    • Essa enxurrada de ferramentas com promessa de que “a IA faz tudo” lembra o boom da web nos anos 90

      • Assim como houve a ‘enshittification’ da internet, parece que a IA está passando por uma ‘dumbaification’
  • O modelo de Pull Request do GitHub tem limitações para revisão de código por IA

    • Para revisar direito, é preciso registrar junto os prompts e o contexto
    • Além de documentos como AGENTS.md, também é necessário registrar o contexto em nível de commit
  • Conversando com pessoas de fora de TI, percebi que elas quase não sentem o impacto dos agentes de IA

    • A maioria enxerga isso apenas como uma ferramenta simples de apoio a texto

    • No setor de tecnologia, os resultados são claramente verificáveis, mas

      • na IA para funções não técnicas, entra-se no campo de ‘emoções’ e ‘sensações’, com problemas de qualidade impossível de medir