4 pontos por GN⁺ 2025-11-27 | 2 comentários | Compartilhar no WhatsApp
  • Foi enviado um grande PR de 13 mil linhas que adiciona informações de depuração DWARF v5 ao compilador nativo do OCaml, oferecendo suporte a depuração em nível de código-fonte com GDB e LLDB no macOS e no Linux
  • A implementação inclui breakpoints por função e por linha, rastreamento de parâmetros e variáveis locais, exibição de informações de tipos básicos e suporte a AMD64 e ARM64
  • O autor afirmou que este código foi gerado em colaboração por modelos de IA como Claude Sonnet 4.5 e ChatGPT 5 (Codex), e que ele próprio apenas orientou e revisou a IA, em vez de escrever o código
  • Os mantenedores do OCaml recusaram a integração e encerraram o PR, citando questões de direitos autorais, ausência de discussão de design, custo de manutenção e dificuldade de revisar código gerado por IA
  • A discussão revelou novos desafios para a comunidade open source em relação à qualidade, direitos autorais e processo de colaboração de código gerado por IA

Visão geral do PR de suporte a depuração DWARF v5

  • O PR adiciona informações de depuração DWARF v5 ao compilador nativo do OCaml, possibilitando depuração em nível de código-fonte no GDB e no LLDB
    • Configuração de breakpoints por nome de função, arquivo e linha, exibição de nomes de variáveis e fornecimento de informações de tipo
    • Suporte às arquiteturas AMD64 e ARM64; plataformas de 32 bits não são suportadas
  • Implementação de suporte completo a DWARF tanto no macOS (Mach-O) quanto no Linux (ELF), usando realocação relativa a seções
  • Adição do plugin do LLDB (ocaml_lldb.py) para fornecer o comando de exibição de valores do OCaml (ocaml print)
  • Os testes são compostos por 9 itens e verificam funcionalidade, tipos e depuração por linha

Detalhes da implementação

  • Atualização de DWARF v4 para v5 com uso de DW_FORM_string para evitar erros de linkedição
  • Suporte a múltiplas unidades de compilação (CU) e eliminação de duplicação na tabela de strings
  • Rastreamento de variáveis locais e parâmetros, blocos léxicos e informações de tipos básicos refletidos na estrutura DWARF
  • O módulo Var_lifetime rastreia o ciclo de vida das variáveis, e o campo fun_var_info transmite informações de variáveis por todo o pipeline de compilação
  • DW_TAG_lexical_block é usado para representar escopos aninhados
  • Os scripts de teste verificam breakpoints e exibição de tipos no GDB e no LLDB

Controvérsia sobre o código gerado por IA

  • O autor afirmou: “Claude Sonnet 4.5 escreveu a maior parte e o ChatGPT 5 (Codex) revisou”
    • Ele explicou: “Eu apenas orientei e revisei a IA; não escrevi diretamente uma única linha”
  • Como o nome de Mark Shinwell aparecia como autor em alguns arquivos, surgiu uma controvérsia sobre a origem dos direitos autorais
  • Em um relatório de análise separado, o autor argumentou que “a implementação difere do OxCaml em estrutura, nomenclatura e sistema de tipos, e não é uma cópia”

Reação dos mantenedores

  • gasche: apontou que mais de 13 mil linhas foram enviadas sem discussão de design, o que aumenta a carga de revisão e manutenção
    • Decidiu que o merge era inviável, dizendo que código escrito por IA é “mais difícil de revisar e traz riscos legais”
  • dra27: criticou a expressão “a IA entende o código”, enfatizando que LLMs não entendem, mas são ferramentas de geração de padrões
  • bluddy e tmcgilchrist: comentaram que o código DWARF deveria ser separado em uma biblioteca própria e que incluí-lo dentro do compilador aumentaria a carga de manutenção
  • Quando a discussão se intensificou, o PR foi bloqueado com o status “too heated”

Pontos de debate sobre IA e colaboração open source

  • O autor enfatizou que era um experimento de desenvolvimento baseado em IA, dizendo que queria “provar que a IA pode concluir código de alta qualidade”
  • Os mantenedores apontaram a ausência de uma política clara sobre qualidade, direitos autorais e procedimentos de revisão para código gerado por IA
  • Este caso desencadeou discussões sobre os processos e critérios necessários quando o desenvolvimento assistido por IA é integrado a projetos open source

2 comentários

 
iolothebard 2025-11-27

Mas... quem enviou o PR não entende absolutamente nada.
Portanto... este PR está indeferido. (tum tum tum)

 
GN⁺ 2025-11-27
Comentários do Hacker News
  • Fiquei me perguntando se os mantenedores do OCaml receberam algum treinamento especial para lidar com pessoas difíceis
    A paciência e a maturidade deles são impressionantes. Se fosse eu, já teria bloqueado no estilo Torvalds

    • Na grande empresa onde trabalho, o clima é de que, se você for cético em relação à IA, acaba sendo tratado como pária
      A liderança tem uma fé quase religiosa em IA, então quer que todo engenheiro use IA ao máximo
      Até a revisão de código está ficando cada vez mais a cargo de IA. Mas não parece que aqui eles foram gentis por esse motivo
    • Acho que, se você é mantenedor de um grande projeto open source, acaba recebendo esse tipo de treinamento naturalmente
    • O colaborador não parecia ter intenção maliciosa. Talvez houvesse uma forma de redirecionar essa energia de maneira construtiva
      Por exemplo, fazendo a pessoa dividir o PR ou propor uma sugestão de design
    • Algumas pessoas parecem ter tido o raciocínio destruído pela existência da IA
      Os mantenedores são gentis demais, e dá frustração ver tempo sendo desperdiçado com esse tipo de gente
    • Reli a thread e fiquei impressionado
      A forma como os mantenedores responderam, sem emoção, com lógica e empatia, foi realmente uma comunicação de manual
      Ainda assim, fico pensando se essa gentileza não acaba reforçando a ilusão
  • Teve gente que parecia ter menos autoconsciência do que um LLM
    Perguntar à IA se o commit gerado pela IA era justificável é realmente absurdo
    Ainda assim, pelo menos a pessoa foi honesta. O auge foi o “vou manter essa montanha de lixo, mas vocês têm que me pagar”

    • Fiquei impressionado com a calma com que a comunidade deu feedback construtivo
      Isso até me fez querer contribuir com o ecossistema OCaml
    • Acho que ele talvez não fosse apenas burro, mas um troll de alto nível
    • Aquela parte foi realmente a cereja do bolo
  • A resposta à pergunta “por que o autor dos arquivos enviados aparece como Mark Shinwell?”
    foi “a IA decidiu isso, eu não perguntei”, e isso resume tudo

    • Mais engraçado ainda é que antes ele tinha dito “a IA entende profundamente este código, pode desafiá-la”
    • Isso me faz lembrar da ideia de que um bom desenvolvedor precisa pensar simultaneamente em vários níveis de abstração
      Essa geração da IA nem o mínimo de pensamento multifacetado demonstra
      Era óbvio que alguém perguntaria por que havia copyright ali, e mesmo assim ele não tinha resposta preparada
    • É open source, mas sinto que esse tipo de contribuição está bem longe do espírito open source no sentido mental
      No fim, o custo da revisão é empurrado para os mantenedores, e o colaborador não assume a responsabilidade da manutenção
    • No começo achei que fosse piada, mas fiquei chocado ao descobrir que era real
    • Até fui ver o perfil dele no GitHub, achando que talvez o verdadeiro Mark Shinwell estivesse por ali
  • O currículo desse cara é lendário
    Passou por bancos de Wall Street, foi diretor de tecnologia no Deutsche Bank, vendeu licenças para a EA,
    tentou escrever o livro “Hardcore Erlang”, levantou US$ 2 milhões em cripto em dois dias etc.
    Ou é um gênio, ou o maior fanfarrão do século
    Links relacionados: blog antigo, currículo em PDF, entrevista, site oficial, notícia do cancelamento do livro sobre Erlang

  • Mesmo que o código tenha sido feito por IA, a comunidade está gastando tempo conversando e dando feedback,
    então acho que, se o autor simplesmente copia e cola um texto longo escrito por IA, isso já é motivo para bloqueio imediato
    Se age como spam bot, é natural ser tratado como spam bot

    • Uma vez um colega colou um ticket do Jira no ChatGPT, copiou a resposta e abriu um PR
      Quando eu fazia perguntas, a resposta dele tinha aquele tom típico de GPT
      No fim, testei por conta própria e saiu uma resposta praticamente idêntica palavra por palavra,
      e depois disso declarei que não revisaria mais código dele
  • Quando apareceu a frase “aqui está uma análise de copyright escrita por IA”, ali já tinha passado de todos os limites
    Se fosse comigo, eu teria bloqueado o repositório na mesma hora

    • O nível de maturidade emocional dos mantenedores foi impressionante
    • Foi só palhaçada, e acho que dava para rir e seguir em frente
  • Eu também já fechei PRs gerados por IA em vários projetos open source
    Esses colaboradores, quando são rejeitados em um projeto, simplesmente vão bater em outro
    A carga de revisão aumenta, e os contribuidores de verdade diminuem
    Mesmo assim, é interessante ver esse tipo de discussão em tempo real no HN

    • No fim, este PR foi fechado e bloqueado. Os mantenedores responderam com paciência, mas
      o autor não foi convencido pela lógica de jeito nenhum. Outros projetos provavelmente também vão conseguir resistir assim
    • Mantenedores de open source vão resistir a essa onda nem que seja só para não virarem motivo de chacota no HN ou no Reddit
      Na verdade, o que preocupa mesmo é o lado do software corporativo
  • Eu queria perguntar aos defensores da IA:
    se você fizer uma apresentação escrita por IA e depois receber perguntas, o que vai responder?
    Esta situação é exatamente isso

    • Falando do ponto de vista de quem defende IA, o problema não é a IA em si, e sim a postura de submeter algo sem entender
      Jogar um PR de 13 mil linhas sem entender o que ele faz é errado com ou sem IA
      IA é só uma ferramenta; seja usando uma máquina CNC ou uma serra, o importante é entender o resultado
    • A resposta “a IA decidiu isso, eu não perguntei” já diz tudo
    • Essa postura de “não tenho verba para responder; se me pagarem, eu pergunto para a IA” é absurda
    • Também apareceu a piada de que políticos já fazem isso há muito tempo
    • E teve ainda o comentário: “A IA entende perfeitamente a sua pergunta. Tente provar que ela está errada”
  • Entre todos os PRs gerados por IA que já vi, este foi o caso mais singular
    A maioria é código quebrado escrito por iniciante, mas desta vez era algo complexo e que realmente funcionava
    O autor, Joel Reymont, era um desenvolvedor com 30 anos de experiência e veterano no HN desde 2008
    A paciência dos mantenedores do OCaml foi admirável, e no fim ele resumiu sua posição em um comentário humano,
    dizendo que deixaria de contribuir para OSS com IA
    Ainda assim, esses PRs continuam sendo perda de tempo para todo mundo,
    e até hoje não vi nenhum caso em que tenham sido usados de forma produtiva

  • Foi realmente um PR impressionante
    Link para o commit em questão

    • Surgiu até a piada de que, pelo menos aquela mudança específica, talvez não tenha sido escrita por IA /s