Мне всё равно, написал ли код AI. Ты за него отвечаешь.

Heinrich Hartmann за последние два месяца сгенерировал больше кода, чем за любой сопоставимый период в своей жизни. И при этом сам он не написал больше пяти строк.

Во время саббатикала перед сменой роли он экспериментирует с AI-coding-агентами — Claude Code, Cursor agents, OpenAI Codex. Кода — горы. А вопрос, который его теперь занимает, простой и неудобный: кто за этот код отвечает?

Hartmann — председатель программного комитета SREcon, одной из главных конференций по reliability-инженерии. Его взгляд на ответственность в эпоху AI — резкий: «Мне всё равно, написал ли код AI. Ты за него отвечаешь.»

Контекст: что изменилось

До AI-агентов: инженер пишет код, ревьюверы смотрят, CI запускает тесты, оно идёт в прод. На каждом шагу есть человек, который понимает, что происходит.

С AI-агентами: инженер описывает задачу, агент пишет код. И тут открывается развилка:

  • Инженер читает каждую строку, понимает, что она делает, и сознательно принимает её в свою кодовую базу.

  • Инженер прокликивает «accept all» и отправляет PR.

Второй вариант стал реальным за последние полтора года. Инструменты сделали его дешёвым и быстрым. И в этом — корень проблемы.

Старая ответственность не работает

Классическая модель: «вы отвечаете за код, который написали». Это работало, когда написание было медленным — каждая строка стоила усилий, и поэтому подразумевала понимание.

AI-агенты делают написание дешёвым и быстрым, но не делают дешёвым понимание. Если 10 000 строк кода появились в репо за час, не существует разумного способа, чтобы один человек их понял за тот же час. Старая модель «вы отвечаете за код, который написали» предполагает, что писать = понимать. Теперь это не так.

Новая ответственность — за то, что ты залил в master

Hartmann предлагает простое переопределение: вы отвечаете не за то, что написали, а за то, что интегрировали в систему.

  • Если AI-агент сгенерировал код и вы сделали git push — это ваш код.

  • Если этот код упал в проде в три часа ночи — pager позвонит вам, не AI-агенту.

  • Если этот код стал причиной утечки данных — ваше имя будет в post-mortem.

  • Если этот код тащит зависимость с MIT-инкомпатибельной лицензией — ваша команда платит штраф.

Иными словами: AI — это инструмент, как раньше IDE или autocomplete. Вы используете его, но не делегируете ему ответственность. Делегировать ответственность нельзя.

Что это означает на практике

Чтение AI-кода — не опция

Если вы не прочитали то, что AI сгенерировал — не отправляйте PR. Точка. Это та же дисциплина, что чтение чужого PR перед approve, только теперь автор — AI.

Да, это медленно. Да, это снижает «продуктивность» по простой метрике LOC/час. Но именно эта метрика и оказалась ловушкой — она не учитывает когнитивный долг, который остаётся, если код не прочитан.

Тесты как способ понять

Лучший способ убедиться, что вы понимаете AI-сгенерированный код — попросить AI написать к нему тесты, а потом написать ещё несколько тестов самостоятельно, которые проверяют edge cases, не покрытые. Если вы не можете придумать ни одного edge case — вы не понимаете задачу, и вообще не должны мержить.

Ревью с эскалацией к AI

Когда вы ревьюите чужой PR и видите, что код выглядит «слишком AI-ным» — спросите автора конкретно про какую-то нестандартную часть. Не «почему так?», а «что произойдёт, если в этот input придёт пустая строка?». Если автор не может ответить, не глядя в код — ревью не пройдено.

Команды переписывают свой definition of done

DoD больше не «код написан и тесты проходят». DoD теперь:

  • Код прочитан и понят автором PR.

  • Тесты покрывают edge cases, которые автор может назвать устно.

  • Зависимости и API-вызовы проверены на актуальность (AI любит галлюцинировать имена несуществующих функций).

  • PR-описание включает «что AI помогало написать» — не как стыд, а как информацию для ревьюеров.

Post-mortems с AI-инцидентами

Если в post-mortem причиной инцидента оказалась строка кода, которую никто не понимал в момент мержа — это контрибутинг фактор уровня root cause. Не «AI ошибся», а «процесс позволил неревьюенному коду попасть в прод».

Эпоха «vibe coding» закончилась

Есть популярный термин — vibe coding: пишешь промпт, AI генерирует, ты пробуешь, что-то работает, мержишь. Hartmann считает, что для production-кода эта эпоха должна закончиться. Vibe coding — это прототипирование. Между прототипом и production должна быть та же дисциплина чтения, тестирования и понимания, что и до AI.

Главное

AI-агенты не делают вас более ответственным. Они не делают вас менее ответственным. Они оставляют ответственность ровно там, где она была: на инженере, который мержит код. Меняется только то, что писать кода стало быстрее. Понимать — нет. И между этими двумя скоростями возникает зазор, в который проваливаются баги, утечки, инциденты — если процесс не настроен на то, чтобы понимание поспевало за генерацией.

SREcon 2026 будет в значительной степени именно об этом — как практики reliability-инженерии адаптируются к тому, что 80% кода в репозиториях скоро будет написано не людьми.