Linux устанавливает правила для кода, сгенерированного ИИ: разрешает Copilot, запрещает «ИИ-мусор», а ответственность возлагает на человека
После месяцев ожесточённых дебатов Линус Торвальдс и сопровождающие ядра Linux пришли к соглашению по вопросу использования искусственного интеллекта в разработке. На этой неделе проект ядра Linux официально утвердил общую политику, разрешающую внесение кода с помощью ИИ при условии соблюдения строгих правил раскрытия информации.
Новые руководящие принципы запрещают ИИ-агентам использовать юридически обязывающий тег «Signed-off-by», который подтверждает соблюдение Developer Certificate of Origin (DCO). Вместо этого вводится новый тег «Assisted-by», обеспечивающий прозрачность происхождения кода. Согласно новой политике, вся ответственность за каждую строку кода, сгенерированного ИИ, включая ошибки и уязвимости, ложится исключительно на человека, отправившего этот код.
До этого крупные проекты по-разному подходили к использованию ИИ. За последние два года такие дистрибутивы, как Gentoo, а также классическая Unix-система NetBSD, полностью запретили внесение кода, созданного ИИ. Сопровождающие NetBSD назвали выводы языковых моделей юридически «загрязнёнными» из-за неясного авторского статуса данных, на которых они обучались.
Основная проблема связана с DCO — документом, требующим от разработчиков юридического подтверждения их права на отправку кода. Как отмечала Red Hat в своём анализе в конце прошлого года, разработчики, использующие Copilot или ChatGPT, не могут гарантировать происхождение кода, поскольку языковые модели обучаются на огромных массивах открытого кода, часто распространяемого под ограничительными лицензиями, такими как GNU GPL. Это создаёт риск нарушения лицензионных условий и подрывает саму основу DCO.
Помимо юридических сложностей, сопровождающие сталкиваются с проблемой масштаба. Сообщество открытое исходное код переполнено так называемым «ИИ-мусором» (AI slop). Автор cURL был вынужден закрыть программу баг-баунти из-за потока «галлюцинирующего» кода, проект tldraw начал автоматически отклонять внешние pull request’ы в целях самозащиты, а в таких проектах, как Node.js и OCaml, появились гигантские патчи объёмом свыше 10 000 строк, вызвавшие острые дискуссии среди сопровождающих.
Особенно остро стоял вопрос нераскрытого использования ИИ. В конце прошлого года инженер NVIDIA и сопровождающий ядра Саша Левин столкнулся с резкой критикой сообщества после того, как выяснилось, что он внёс в ядро версии 6.15 патч, полностью написанный языковой моделью, не указав об этом. Хотя код работал, он содержал регрессию производительности, несмотря на прохождение проверки и тестирования. Сообщество резко выступило против практики, при которой разработчики подписывают сложный код, который сами не писали. Даже Торвальдс признал, что патч был недостаточно проверен, отчасти потому, что не был помечен как сгенерированный ИИ.
Не только ядро Linux сталкивается с последствиями непрозрачного использования ИИ. В игровом сообществе в прошлом году разразился скандал вокруг GZDoom — популярного 3D-ускоренного порта Doom возрастом более 20 лет. Его ведущий разработчик Кристоф «Graf Zahl» Оелькерс был уличён в применении нераскрытых ИИ-патчей. Когда сообщество потребовало прозрачности, Оелькерс ответил пренебрежительно, предложив недовольным «свободно форкнуть проект». Сообщество последовало его совету: большинство участников перешли в новый форк под названием UZDoom, а GZDoom был переведён в статус «Исторический».
Инциденты с GZDoom и Сашей Левиным показывают, почему новая политика ядра Linux столь важна. Большинство разработчиков менее возмущены самим использованием ИИ, чем отсутствием честности в этом вопросе. Введя тег «Assisted-by» и закрепив за человеком полную ответственность, ядро Linux стремится убрать эмоции из дискуссии. Торвальдс и сопровождающие признают реальность: разработчики будут использовать ИИ для ускорения работы, и запретить это так же бессмысленно, как запретить конкретную марку клавиатуры.
Суть в том, что если код качественный — он приемлем. Если же это «галлюцинирующий ИИ-мусор», ломающий ядро, отвечать перед Линусом Торвальдсом будет именно тот, кто нажал «отправить». В мире открытого исходного кода это сильнейшее возможное сдерживающее средство.



