В сообществе Rust готовят к публикации правила применения ИИ-ассистентов

от автора

Разработчики языка Rust готовят к публикации правила применения ИИ-ассистентов в проекте. Они запрещают передачу сгенерированного кода в основной репозиторий rust-lang/rust, но не распространяются на субмодули, подветки и зависимости из каталога crates.io, а также другие репозитории организации. 

При этом правила разрешают использование ИИ для анализа, изучения, рецензирования и проверки кода. Также применение инструментов допускается, когда полученная через них информация в частном порядке нужна только одному разработчику и не распространяется публично. Разработчик может применять ИИ, чтобы задавать ему вопросы по коду, формировать сводки по комментариям к PR или issue, для помощи в рецензировании изменений, создания инструментов для личного использования, консультаций в выборе решения. Также допускается создание экспериментальных изменений, не подлежащих рецензированию другими участниками.

Однако ИИ нельзя применять для формирования комментариев, отчётов о проблемах и описаний изменений, публикуемых от имени участника. Можно цитировать результаты выдачи таких инструментов с явной пометкой. 

Документацию с помощью ИИ создавать нельзя, а при рецензировании запрещено рассмотрение выводов инструментов как достаточных для приёма или отклонения изменений.

Инструменты можно с оговорками применять для машинного перевода на другие языки, поиска и верификации ошибок, а также внесения незначительных изменений в код и тексты. Допускается также передача заранее согласованных, некритичных, проверенных и хорошо протестированных изменений, сгенерированных через ИИ. перед тем, как отправить pull-запрос c подобным изменением, разработчик должен заранее договориться с рецензирующими. Предлагаемые изменения должны помечаться меткой «ai-assisted» и могут затрагивать вторичные инструменты, такие как tidy и linkchecker, но не должны касаться ключевых возможностей и элементов языка. Для отслеживания результатов эксперимента изменения предписано отправлять в отдельный приватный Zulip-канал, доступ к которому предоставлен только участникам проекта.

Предложенные правила были сформированы в ходе обсуждения, насчитывающего более 3000 сообщений, одобрены 4 сопровождающими и ожидают публикации.

Ранее сопровождающий разработчик стабильной ветки ядра Linux Грег Кроа-Хартман заявил, что язык Rust поможет справиться с уязвимостями в ядре Linux, которые возникают из-за типичных ошибок на языке C. По его словам, Rust позволяет выявлять такие ошибки на этапе сборки, а не в ходе рецензирования кода людьми.

Между тем Линус Торвальдс рассказал о большом числе отчётов об ошибках, сформированных при помощи ИИ-ассистентов. Он охарактеризовал это как краткосрочную боль, которая принесёт пользу в долгосрочной перспективе. По словам Торвальдса, любое выявление и исправление ошибки лучше, чем её игнорирование.

ссылка на оригинал статьи https://habr.com/ru/articles/1043270/