Разработчики проекта LLVM утвердили правила применения AI-инструментов при разработке. Необходимость регламентирования использования AI объясняется увеличением числа мусорных изменений, предлагаемых для включения в кодовую базу LLVM. Под мусорными подразумеваются изменения, сгенерированные AI-инструментами и отправленные как есть, без понимая сути, проверки и придерживаясь позиции "мэйнтейнер сам разберётся". Подобная активность создаёт повышенную нагрузку на сопровождающих и вынуждает их тратить время на разбор бесполезного кода. При этом разработчики LLVM признают, что при должном использовании AI является полезным инструментом, ускоряющим разработку. Утверждённые в LLVM условия применения AI частично основаны на правилах, в прошлом году опубликованных проектом Fedora. Основная идея принятых правил в том, что разработчики не должны перекладывать на сопровождающих работу по рецензированию кода, созданного в AI-ассистентах. В дополнение к упоминаемой в правилах Fedora ответственности за переданное изменение в правилах LLVM введено требование обязательного ручного рецензирования кода, сгенерированного в AI, перед тем как предложить изменение в проект. Кроме того, подготовивший изменение должен хорошо разбираться в присланном коде и быть готовым ответить на связанные с ним вопросы. Рекомендуется вручную составлять описания к pull-запросам, а не доверять подготовку сопроводительного текста AI. При передаче изменения, значительная часть которого сгенерирована AI-инструментами, в примечании к pull-запросу необходимо добавить сведения о применении AI, например, указав тег "Assisted-by: название AI-ассистента". Запрещено использование автоматизированных AI-инструментов, таких как интегрированный с GitHub AI-агент @claude, выполняющих действия или отправляющих комментарии без участия человека. Принятые правила распространяются не только на код в запросах на внесение изменений, но и на RFC-документы с предложением новой функциональности, сообщения об уязвимостях и ошибках, комментарии и отзывы к pull-запросам. Дополнительно можно отметить решение Дэниела Cтенберга (Daniel Stenberg), автора утилиты для получения и отправки данных по сети curl, о прекращении действия программы выплаты денежных вознаграждений за раскрытие информации об уязвимостях в Curl. Выплата вознаграждений будет прекращена в конце января из-за обилия мусорных заявок, сгенерированных в AI-ассистентах и отправленных без проверки фактического наличия уязвимости. Сообщается, что за первые две недели января было подано 20 заявок на получение вознаграждения, утверждающих о наличии уязвимостей. Разбор данных заявок показал, что ни в одной из них не выявлено реальных уязвимостей. Авторам отчётов об уязвимостях рекомендуется не сообщать о проблеме, если они не понимают её суть и не могут воспроизвести ошибку. Проверка подобных заявок отнимает много времени у команды, отвечающей за безопасность. Предполагается, что прекращение выплаты вознаграждений снизит мотивацию людей присылать мусорные и плохо проверенные отчёты об уязвимостях, независимо от того, сгенерированы они в AI или нет. Дополнение: Об ограничении приёма заявок на выплату вознаграждений за выявление уязвимостей также объявил проект Node.js, который теперь будет принимать на HackerOne только заявки от участников с высоким рейтингом, уже имеющих опыт отправки корректных отчётов о проблемах (signal > 1). В качестве причины изменения называется значительное увеличение числа низкокачественных заявок. Разбор мусорных заявок отнимает время и ресурсы, которые можно было бы направить на реальную работу по повышению безопасности платформы. С 15 декабря по 15 января проект получил более 30 подобных заявок.
==============
Проект LLVM установил правила использования AI-инструментов для разработки, чтобы избежать некачественных изменений. Разработчики должны вручную проверять код, сгенерированный AI, и предоставлять подробное описание изменений в pull-запросах, указывая используемый AI-инструмент. Также, правила распространяются на RFC-документы, сообщения об ошибках и комментарии. Кроме того, прекращена программа выплаты вознаграждений за сообщения об уязвимостях в Curl и Node.js, в связи с большим количеством некачественных заявок, сгенерированных AI.
