Zig запретил ИИ-код не из страха перед машинами — а ради людей, которые его поддерживают

Сегодня • Simon Willison
Большинство open-source-проектов встречает ИИ-код осторожно, но прагматично: если тесты проходят, зачем спрашивать, кто написал строку? Zig выбрал противоположный путь. Его правило против вкладов, созданных искусственным интеллектом, выглядит архаичным — пока не понять, что проект защищает не авторство, а способность сообщества отвечать за каждое изменение.

Общепринятая логика проста: генеративные инструменты сокращают время на рутинную работу, а качество проверяется ревью и автоматическими тестами. Для проекта с ограниченными ресурсами это особенно заманчиво. Чем больше патчей приходит извне, тем быстрее закрываются ошибки, улучшается документация и расширяется экосистема. В этой картине ИИ — всего лишь ещё один инструмент разработчика, рядом с редактором и отладчиком.

Но политика Zig переворачивает вопрос. На странице руководства для контрибьюторов прямо сказано: «Не используйте ИИ для генерации кода», а вклады, созданные ИИ, проект не принимает. Речь идёт не только о вероятности ошибки в одной функции. Сопровождающий должен понимать происхождение решения, его ограничения и последствия для будущих изменений. Если автор не может объяснить патч, ревью превращается в независимое переписывание работы — экономии времени больше нет.

Именно здесь находится главный аргумент Zig: ИИ не обязательно уменьшает стоимость разработки, он может переложить её на тех, кто поддерживает код годами. Генератор способен выдать рабочий фрагмент, но не несёт ответственности за архитектурную последовательность, скрытые допущения и совместимость с философией языка. Для Zig, где важны предсказуемость, контроль и ясные компромиссы, «код проходит тесты» — только первый из нескольких уровней проверки. Дополнительный риск связан с происхождением данных: генератор не предоставляет проекту гарантии, что заимствованные решения не создадут лицензионных или авторских конфликтов.

Это не запрет на обсуждение ИИ и не утверждение, что машинные инструменты бесполезны. Граница проведена именно вокруг публичного вклада: ответственность за код должна оставаться у человека, который его предлагает. В этом смысле Zig спорит не с автоматизацией, а с подменой участия формальным прохождением тестов. Один принятый патч может сэкономить автору часы, но добавить сопровождающим месяцы неопределённости.