Команда игрового движка Godot официально объявила о запрете на включение в кодовую базу любых правок, созданных с помощью генеративных ИИ-инструментов. Разработчики обосновали решение невозможностью верификации качества такого кода и нежеланием брать на себя ответственность за потенциальные ошибки, которые авторы ИИ-контента не способны самостоятельно исправить или поддерживать в долгосрочной перспективе.

Данная политика вводится для защиты стабильности проекта и обеспечения прозрачности процесса разработки. По мнению сопровождающих движка, использование ИИ-ассистентов при написании сложных систем часто приводит к появлению «кода-черного ящика», логику которого контрибьютор не понимает до конца. Это создает критические риски для архитектуры движка, так как исправление багов в таких фрагментах требует глубокого погружения в контекст, который ИИ не всегда способен адекватно передать.

Ограничение распространяется на любые автоматизированные генерации, включая использование LLM для написания целых функций или модулей. При этом использование ИИ для вспомогательных задач, таких как исправление опечаток или форматирование текста, остается в «серой зоне», однако основной фокус сделан на сохранении человеческого контроля над каждым коммитом. Это решение отражает растущую тенденцию в open-source сообществах, где приоритет отдается качеству и верифицируемости кода перед скоростью его написания.

Ключевые факты

  • Команда Godot ввела полный запрет на принятие кода, сгенерированного нейросетями, в основной репозиторий проекта.
  • Основная причина решения — неспособность контрибьюторов, использующих ИИ, полноценно отлаживать и поддерживать сгенерированные ими фрагменты кода.
  • Разработчики подчеркнули, что ИИ-инструменты часто создают код, который выглядит корректным, но содержит скрытые логические ошибки или архитектурные уязвимости.
  • Политика направлена на предотвращение накопления «технического долга» и упрощение процесса ревью для мейнтейнеров проекта.
  • Решение касается всех типов вкладов, включая исправления багов и реализацию новых функций, созданных с помощью LLM.