«Код написал AI» — новая версия фразы «это не моя ошибка»

Мне кажется, мы постепенно создаём новую зону размытой ответственности.

Разработчик формулирует задачу. Coding agent изучает репозиторий, меняет несколько компонентов, добавляет библиотеку, пишет тесты и создаёт pull request.

После этого человек просматривает большой diff и нажимает Approve.

Формально reviewer есть.

Но означает ли это, что у изменения появился настоящий владелец?

В vibe coding есть опасная психологическая ловушка: чем проще было получить результат, тем меньше времени хочется тратить на его глубокую проверку.

Особенно когда:

сборка проходит;

тесты зелёные;

AI написал убедительное описание;

второй AI-reviewer не нашёл критичных замечаний.

Но один агент мог написать код, создать тесты и затем фактически проверить собственную работу.

Это не независимый контроль. Это автоматизированное подтверждение собственной гипотезы.

OWASP отдельно указывает, что у каждого AI-generated change должен быть человеческий владелец, который отвечает за корректность, безопасность и сопровождение. AI-review не должен заменять человеческое решение. (cheatsheetseries.owasp.org)

На мой взгляд, компаниям не следует вводить единую политику «AI разрешён» или «AI запрещён».

Нужна матрица автономности.

Опечатка в документации — один уровень риска.

Новая продуктовая функция — другой.

Изменение dependency, механизма авторизации, CI/CD или production-инфраструктуры — принципиально другой.

Для каждого уровня должны различаться: - доступные агенту инструменты; - права на файловую систему и сеть; - возможность выполнять команды; - требования к review; - необходимость участия CODEOWNER или security; - допустимость автоматического merge; - требования к audit trail.

Отдельный вопрос — масштаб pull request.

Review теряет смысл, когда reviewer физически не способен построить ментальную модель изменения.

Можно честно посмотреть 40 строк новой логики.

Значительно сложнее осознанно принять во владение 4 000 строк, сгенерированных за несколько минут.

Поэтому ограничение размера AI-generated change может оказаться более полезным контролем, чем ещё один scanner.

Моя позиция проста:

AI может быть автором текста кода, но не владельцем инженерного решения.

Approve должно означать: «Я понимаю, как это работает, какие риски создаёт и что нашей команде придётся сопровождать».

А не: «Diff выглядит убедительно, и все проверки зелёные». Какой объём AI-generated кода вы готовы одобрить под своим именем и затем поддерживать на on-call?

«Код написал AI» — новая версия фразы «это не моя ошибка» | Сетка — социальная сеть от hh.ru