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% кода в репозиториях скоро будет написано не людьми.