5 pontos por GN⁺ 2025-08-22 | 1 comentários | Compartilhar no WhatsApp
  • Na discussão de um PR do projeto open source Ghostty, surgiu a opinião de que o uso de ferramentas de IA deve ser explicitamente divulgado
  • O proponente apontou que a IA ainda frequentemente gera código de baixa qualidade, especialmente quando é enviado por usuários inexperientes sem revisão
  • O objetivo da divulgação é permitir que mantenedores avaliem a confiabilidade do PR e deem feedback educativo a contribuidores humanos, reduzindo esforço desnecessário com simples conteúdo gerado por IA
  • Outro participante sugeriu adicionar uma checklist, incluindo o uso de IA, por meio de um template de PR
  • Enquanto isso, também foi apresentada a ideia de fazer com que ferramentas de IA registrem automaticamente uma byline especial padronizada nas mensagens de commit do GitHub, garantindo ao mesmo tempo transparência e visibilidade das ferramentas

Necessidade de divulgar o uso de IA

  • Mitchellh gosta de usar ferramentas de IA e também as utiliza, mas avalia que, no momento, elas não garantem qualidade equivalente ou superior
    • Em especial, quando iniciantes sem capacidade suficiente de revisão enviam código de IA diretamente em PRs, a qualidade é muito baixa
    • Nessa situação, ele criticou como “um ato de enganar” fazer com que mantenedores gastem tempo com revisão e feedback desnecessários
  • Portanto, divulgar explicitamente o uso de IA pode ajudar mantenedores a julgar com quanta atenção precisam revisar

Proposta de adoção de template de PR

  • Yawaramin propôs usar o recurso de template de PR do GitHub para incluir a informação sobre uso de IA
    • Ao mesmo tempo, também seria possível incluir checklists como o Developer Certificate of Origin(DCO)
  • Com isso, todos os contribuidores poderiam informar de forma consistente o uso de IA

Ideia de padronização no GitHub

  • Tobi propôs criar, no próprio GitHub, um padrão de byline exclusivo para IA
    • Sempre que uma ferramenta de IA for usada, isso seria registrado no arquivo de staging .git e adicionado automaticamente à mensagem de commit
    • O GitHub poderia listar isso e fornecer links para as ferramentas → os mantenedores poderiam verificar a origem
    • Ao mesmo tempo, as ferramentas de IA não precisariam mais abusar de co-authors como se fosse spam, como acontece hoje
  • Esse método é visto como uma forma de atender ao mesmo tempo garantia de transparência, divulgação das ferramentas e eficiência para mantenedores

1 comentários

 
GN⁺ 2025-08-22
Comentários do Hacker News
  • Apontam que, mesmo ao usar "IA", surgem problemas de contaminação de propriedade intelectual, e estamos ignorando esse fato; se alguém pudesse decorar todo o código de todos os projetos open source e reescrevê-lo literalmente quando necessário, essa pessoa obviamente seria proibida na nossa empresa; no entanto, no caso da IA, estamos negando isso com várias racionalizações e desculpas; na prática, ela faz uma espécie de lavagem frouxa de vários códigos, incluindo GPL, e isso embute um risco fatal para empresas baseadas em propriedade intelectual (IP)
    • Tribunais dos EUA já decidiram que o uso de dados de treinamento é um uso transformativo (transformation); ainda há muitos detalhes a acertar, mas no fim é uma mudança irreversível; se queremos que a criação de IP continue sendo uma atividade economicamente sustentável, então o sistema legal relacionado também precisa mudar
    • Seguindo essa lógica, StackOverflow ou quase qualquer livro didático de qualquer área também teria de ser proibido; na prática, programadores inevitavelmente acabam vendo o código de outras pessoas
    • Na prática, acho que quase ninguém além de quem tem ligação financeira com isso leva as questões legais de IA realmente a sério; felizmente, na maioria dos casos, esse tema está sendo ignorado, e o sistema legal está funcionando bem sem bloquear o progresso
  • Achei muito marcante a parte do mitchellh sobre "ajudar contribuintes iniciantes até o fim e fazer com que o PR seja mergeado"; é realmente valioso dar feedback para que um desenvolvedor iniciante cresça; mas, se quem enviou o PR simplesmente joga esse feedback na IA e não aprende nada, então isso é perda de tempo
    • Agora os desenvolvedores iniciantes provavelmente não terão mais nenhum ambiente de trabalho sem IA
  • Fiquei muito feliz ao ver a primeira página do HN hoje cheia de conteúdo bom baseado em experiência real; há muitas histórias honestas, sem medo inútil nem exagero; no meu computador pessoal deixo o assistente de IA desligado e, na empresa, só uso de forma muito limitada quando é realmente necessário; assistentes de IA são muito fortes para trabalho atômico (atomic work), mas péssimos para trabalho composto (compound work); no fim das contas, IA depende de como os humanos a utilizam; a inteligência humana é o ponto central
    • Estou concordando cada vez mais com a frase "a IA só é inteligente na medida em que um humano a conduz"; eu não entendia como resultados tão diferentes podiam sair da mesma IA, mas agora sinto na prática que IA não é magia; acho que fui ingênuo ao esperar que pessoas que nem conseguem explicar algo entre si conseguissem extrair valor da IA; na verdade, a IA pode acabar ampliando ainda mais a distância entre engenheiros medianos e excelentes; ainda tenho sentimentos mistos, mas agora entendo por que para algumas pessoas a IA pode parecer inútil
    • Cita a conclusão de “No Silver Bullets, Refired”, de Frederik P. Brooks: o desenvolvimento de software é inerentemente complexo e, em vez de esperar uma solução revolucionária, devemos buscar ganhos graduais de produtividade; essa visão parece realista e esperançosa
    • Acho interessante a frase "a IA só é inteligente na medida em que um humano a conduz"; no fim, as pessoas dos posts tipo "criei uma biblioteca legal em um dia com IA" já eram bons desenvolvedores desde o começo
    • Também concordo; na empresa estamos em uma semana de hacking e testando ferramentas de IA em toda a organização, e bons resultados costumam vir principalmente de abordagens analíticas, guardrails, grounded generation e afins; recentemente, parece que a febre inútil dos chatbots passou e o paradigma foi resetado para a essência do machine learning
    • Vejo assim: os humanos tomam as decisões centrais, e depois a IA liga o resto; o que conta como decisão central e o que é só trabalho de conectar pontos varia conforme o domínio, mas na prática a maior parte do código (algo como 80~90%) é trabalho simples de repetição/conexão; se essa fronteira for bem respeitada, o ganho de produtividade é enorme; por outro lado, se você deixar a IA tomar as decisões centrais, o prejuízo é maior, e muitas vezes é melhor jogar fora e refazer; exemplos de decisões centrais: modelagem de banco de dados, definição de tipos, dependências, arquitetura de sistema/infra/tela, seleção de casos de teste, estrutura de organização do código; já o que a IA faz bem inclui CRUD, handlers de API, transformações simples de estruturas de dados, scripts de deploy, implementação de testes, código de componentes de UI, estilização, limpeza de dados temporários etc.; da mesma forma, a IA ajuda em pesquisa, exploração de ideias e alternativas, mas a conclusão e a implementação real precisam ficar sob cuidado humano
  • Não sou alguém que ama IA, mas a vejo só como mais uma ferramenta; não me importo com como alguém preparou um PR, desde que o resultado esteja bom; ainda assim, acho questão de educação atender ao que o maintainer pedir antes do envio do PR
    • Importa de onde veio o PR e como ele foi produzido; revisores também cometem erros e têm limites, então confiança passa a ser essencial; sem confiança, isso nem deveria entrar no processo de review; foi pela mesma razão que a equipe do kernel Linux bloqueou a Universidade de Minnesota por causa de experimentos
    • Parece que você não respondeu de fato ao argumento central do texto: "o objetivo é ajudar um contribuidor iniciante a crescer, mas se o outro lado for uma IA, isso é apenas perda de tempo"
    • Dá para gerar 1.000 PRs por dia com IA; parece que você só está pensando em PRs bons feitos com IA, mas na prática também dá para infernizar enormemente a vida de maintainers de projeto com IA
    • Segundo o Escritório de Direitos Autorais dos EUA, resultados gerados por IA não são protegidos por direitos autorais; por isso, mesmo para fins de licenciamento, é necessário divulgar o uso de IA; se isso for violado, pode-se perder os direitos autorais sobre a obra inteira; para detalhes, veja o relatório e a página principal
    • Se eu usar IA e isso me for perguntado, sempre vou divulgar; mas, se não perguntarem especificamente, não vou revelar "por mera etiqueta informal" com antecedência; acho que a maioria das pessoas considera o uso de IA algo natural ou nem liga para isso e, na verdade, sinto que esse tipo de marcação menor só distrai a atenção; mesmo quando chega um aviso como o do dependabot, isso não desperta interesse de verdade
  • A pergunta "e o meu autocompletar, como fica?" apareceu várias vezes, mas há uma exceção explicitamente definida no documento da política: se for algo como autocomplete simples com Tab, palavras-chave ou frases curtas, não precisa divulgar; recomendam ler o documento (ou o PR) com atenção
  • Esta política me parece plausível porque traz contexto adicional; várias políticas relacionadas a IA que vi antes eram quase declarações ideológicas, mas aqui explicam por que isso está sendo exigido e para onde a coisa vai no futuro, então parece muito mais realista; queria ver mais abordagens assim
  • Há preocupação de que essa política acabe apenas dificultando o uso de IA por pessoas honestas; a pergunta é se, como um PR com IA receberá menos atenção de qualquer forma, no fim todos não vão tentar esconder isso
    • Acho que não é tão simples; o próprio autor da política (mitchellh) também usa LLMs, então, se alguém puder explicar que usou IA por conveniência, mas entende suficientemente o trabalho que fez, isso provavelmente não destruirá tanto a confiança
    • A preocupação pode se tornar realidade; como a IA produz em massa código que "parece mais ou menos certo, mas na verdade é uma bagunça", se a desconfiança contra código de IA se acumular, isso é um problema da IA, não das pessoas; precisamos de ferramentas de programação com IA mais avançadas
    • Se você disser "usei chat-gpt", some na hora; se fingir conhecimento sem dizer nada, recebe elogios; todo mundo já está indo na direção de esconder o uso de IA
    • Acho que ver isso como um problema em si não faz muito sentido
    • A ideia não é "não use IA", e sim: se usou, declare isso honestamente no PR
  • Tenho curiosidade sobre por que exigem uma divulgação detalhada, como "usei ChatGPT para ajudar a entender o codebase, mas codifiquei de fato por conta própria"
    • Se você deixa essa explicação, do ponto de vista do revisor isso ajuda a focar em possíveis mal-entendidos ou erros justamente na parte de "entendimento do codebase"
    • Não sou desenvolvedor, mas graças a esse tipo de assistente de IA meu tempo para explorar código caiu drasticamente; pessoalmente, a IA realmente me ajudou muito
  • Acho bom o padrão de incluir cada prompt usado na geração do PR; LLMs não são ferramentas totalmente determinísticas, mas isso tem valor por deixar registrado o contexto de quais etapas/prompts levaram ao resultado
    • Na prática isso é muito pouco viável; mesmo para criar um único PR com IA, entram de 10 a 20 prompts, testes, ajustes manuais de contexto, codificação manual e vários outros passos misturados; acho que seria melhor gravar a tela
    • Eu uso a combinação de plugin do vscode (specsytory) com Cursor, deixo um log em md de todas as interações com LLM e envio junto com o Pull Request; isso ajuda durante o code review
  • Em projetos pessoais, definem até a regra de divulgar se foi usado autocomplete do editor
    • A forma de comunicar a intenção é interessante, mas hoje a IA é completamente diferente do autocomplete tradicional; até dá para usar como autocomplete, mas o que a IA consegue fazer é muito mais variado e profundo; pensar em IA apenas como autocompletar é uma visão pessoal, e muita gente não usa assim
    • O autocomplete com Tab é explicitamente reconhecido como exceção na política
    • Autocomplete em geral é mais uma ferramenta sintática, enquanto a IA tenta orientar também o significado e a estrutura do código