5 августа пять команд внутри проекта Rust — compiler, libs, types, rustdoc, bootstrap и их подкоманды — утвердили политику, регулирующую использование больших языковых моделей в монорепозитории rust-lang/rust. Ее автором выступил Jynn Nelson, а опубликована она была в блоге Inside Rust.

Граница, которую она проводит

В собственной сводке политики перечислены разрешенные глаголы: LLM можно использовать, чтобы answer questions, analyze, distill, refine, check, suggest, review — но не to create. Текст, изначально сгенерированный моделью, нельзя отправлять в виде описаний issue, описаний pull request, комментариев GitHub, документации, нетривиальных комментариев в исходном коде или диагностических сообщений компилятора.

Что по-прежнему разрешено

Машинный перевод, тривиальные правки, обнаружение ошибок, которое участник уже проверил, а также изменения кода, которые были заранее согласованы с мейнтейнерами, не являются критичными, тщательно протестированы и хорошо рассмотрены. Все публичное, что пришло от модели, должно быть помечено как таковое. Код, созданный LLM, прямо подчиняется более строгому стандарту, чем код, написанный человеком, а рецензенты не обязаны его проверять вообще.

Почему это писали мейнтейнеры, а не юристы

Заявленная логика — в экономике ревью. Отполированная проза и аккуратные diff'ы больше не доказывают, что работу действительно сделал автор; пропускная способность на ревью — самый дефицитный ресурс проекта; а вставка вывода модели в тред перекладывает усилия с автора на рецензента. Эта политика — защита пропускной способности, а не позиция по ИИ.

Уже, чем заголовки

Это не общепроектовый запрет, и он не распространяется на Cargo, crates.io или более широкую экосистему. Отдельный RFC на уровне всего проекта (rust-lang/rfcs #3959) по-прежнему открыт. Принятое решение — это внутренняя норма одного репозитория, и именно поэтому ее можно обеспечить исполнением.