Os desenvolvedores do projeto LLVM aprovaram regras para o uso de ferramentas de IA durante o desenvolvimento. A necessidade de regulamentar o uso de IA é explicada pelo aumento no número de alterações irrelevantes propostas para inclusão na base de código do LLVM. Por alterações irrelevantes, entende-se aquelas geradas por ferramentas de IA e enviadas como estão, sem compreensão do conteúdo, verificação e seguindo a ideia de que "o mantenedor se encarregará disso". Essa atividade impõe uma carga maior aos mantenedores e os força a gastar tempo analisando código inútil.
No entanto, os desenvolvedores do LLVM reconhecem que, quando usadas adequadamente, as ferramentas de IA são instrumentos úteis que aceleram o desenvolvimento. As condições aprovadas para o uso de IA no LLVM estão parcialmente baseadas em regras publicadas no ano passado pelo projeto Fedora. A ideia principal das regras adotadas é que os desenvolvedores não devem transferir para os mantenedores o trabalho de revisão do código gerado por assistentes de IA.
Além da responsabilidade mencionada nas regras do Fedora pela alteração submetida, as regras do LLVM introduzem a exigência de revisão manual obrigatória do código gerado por IA antes que uma alteração possa ser proposta no projeto. Além disso, o autor da alteração deve entender bem o código enviado e estar preparado para responder a perguntas relacionadas. Recomenda-se que se elaborem manualmente as descrições para as pull requests, em vez de confiar na preparação do texto de apoio por IA.
Ao submeter uma alteração, cuja maior parte foi gerada por ferramentas de IA, é necessário incluir uma nota na pull request mencionando o uso de IA, por exemplo, indicando a etiqueta "Assisted-by: nome do assistente de IA". É proibido o uso de ferramentas de IA automatizadas, como o agente IA integrado ao GitHub @claude, que executam ações ou enviam comentários sem a participação humana.
As regras adotadas se aplicam não apenas ao código nas solicitações de alteração, mas também a documentos RFC que proponham novas funcionalidades, relatórios de vulnerabilidades e bugs, comentários e feedbacks nas pull requests.
Adicionalmente, pode-se destacar a decisão de Daniel Stenberg, autor da ferramenta para envio e recebimento de dados pela rede curl, de acabar com o programa de recompensas financeiras por divulgação de vulnerabilidades no Curl. O pagamento das recompensas será encerrado no final de janeiro devido ao excesso de solicitações de lixo geradas por assistentes de IA e enviadas sem a verificação da real existência da vulnerabilidade.
Relata-se que nas primeiras duas semanas de janeiro foram apresentadas 20 solicitações para recompensas, alegando a existência de vulnerabilidades. A análise dessas solicitações mostrou que nenhuma delas identificou vulnerabilidades reais. Os autores dos relatórios de vulnerabilidade são aconselhados a não reportar o problema se não entenderem sua essência e não puderem reproduzir o erro. A verificação de tais solicitações consome muito tempo da equipe responsável pela segurança. Acredita-se que a interrupção do pagamento das recompensas reduzirá a motivação das pessoas para enviar relatórios de vulnerabilidade de baixa qualidade e mal verificados, independentemente de serem gerados por IA ou não.
Nota: O projeto Node.js também anunciou uma limitação na aceitação de solicitações para pagamento de recompensas por vulnerabilidades, agora aceitando apenas solicitações de participantes com alta classificação, que já tenham experiência no envio de relatórios corretos sobre problemas (signal > 1). A razão para essa alteração é a significativaumento no número de solicitações de baixa qualidade. A análise de solicitações de lixo consome tempo e recursos que poderiam ser direcionados para trabalho real de aumento da segurança da plataforma. De 15 de dezembro a 15 de janeiro, o projeto recebeu mais de 30 dessas solicitações.
Fonte: opennet.ru
