Boeing ведёт статистику авиационных происшествий с 1950-х. Одна цифра там не меняется уже несколько десятилетий: около 80% катастроф связаны исключительно с человеческим фактором. При этом сами самолёты за это время стали в разы надёжнее, а автопилоты в разы умнее. Парадокс в том, что эти два факта связаны между собой.

Automation-induced complacency
У авиаторов есть термин: automation-induced complacency — ситуация, когда система достаточно надёжна, чтобы оператор перестал за ней следить. Мозг не умеет удерживать устойчивое внимание без обратной связи: если ничего не происходит достаточно долго, концентрация падает сама по себе. Так происходит чисто физиологически, лень тут ни при чём.
В авиационных отчётах это выглядит так:
1 июня 2009 года над Атлантикой ночью обледенели трубки Пито на Air France 447. Приборы скорости показали некорректные данные, автопилот отключился. Двое пилотов, которые находились в кабине, не имели подготовки к ручному управлению самолётом на большой высоте — и это было видно по их действиям: они потянули нос вверх вместо того, чтобы опустить. Самолёт вошёл в сваливание. Экипаж так и не понял, что находится в режиме сваливания, и не предпринял ни одного манёвра для выхода из него.
Выше дословная формулировка из итогового отчёта BEA. Некорректные показания скорости длились не больше минуты из четырёх минут снижения. Самолёт можно было спасти. 228 человек погибли.
Система, которая почти никогда не даёт сбоев, воспитывает операторов, которые почти никогда не готовы к сбою.
Cursor, Codex, Claude Code и атрофия навыков
Для разработчика история выглядит ровно так же. Codex, Cursor, Claude Code уже сейчас превратился в автопилота для подавляющего большинства разработчиков (раз, два). Он берёт на себя рутину: генерирует функции, пишет тесты, объясняет незнакомые фрагменты кода, подбирает SQL под задачу. Освобождает голову для более важных вещей (теоретически).

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

Специфика AI-кода
В авиации у проблемы есть смягчающее обстоятельство: когда система отказывает, это часто видно явно – по приборам или по поведению самолёта. У разработчика c AI-агентом таких приборов сильно меньше.
Да, синтаксическую ошибку компилятор поймает сам, но логическую дыру в сгенерированном коде наврядли. AI пишет уверенно вне зависимости от того, правильно ли он пишет. Весь код сгенерированный AI выглядит как корректный ровно до тех пор, пока не перестаёт работать окончательно.
Проблема не в том, что AI ошибается часто, он ошибается достаточно редко. Проблема в том, что разработчик, который полностью делегировал написание кода, со временем теряет способность эти редкие ошибки замечать. Если модель ошибается в 1% случаев, а вы генерируете 200 фрагментов в день, то ошибки в коде будут ежедневно.
Разработчики без сотен часов налёта
У пилотов есть регуляторное требование: минимальный налёт вручную. Организаций с эквивалентным требованием к разработчикам я не знаю.
Джуниор, который с первого дня пишет код с помощью агента, не проходит путь от синтаксиса к архитектуре последовательно. Он сразу получает рабочий результат, минуя этап понимания почему именно так. Рабочий результат это безусловно хорошо. Но отсутствие понимания как устроена система в целом – это проблема, которая проявится позже, когда агент сгенерирует что-то нерабочее и нужно будет разобраться почему.

И что же нам делать?
Эта статья ни в коем случае не манифест против AI. Я не сумасшедший. Автопилот в авиации спасает жизни, и отказываться от него никто не предлагает. Но пилоты регулярно летают вручную не потому что автопилот ненадёжен, а потому что надёжность автопилота это не то же самое, что надёжность пилота.
Разработчику тоже нужна практика без "автопилота". Периодически отлаживать возникшую проблему самостоятельно. Делать code review прежде чем просить агента объяснить чужой код. Иногда писать небольшую задачу с нуля.
Интервал должен быть коротким. По данным исследований в области automation bias (Parasuraman & Manzey, Human Factors, 2010), деградация ручных навыков при высоконадёжной автоматизации начинается быстрее, чем интуитивно кажется, и только ускоряется со временем.
Русскоязычное сообщество про AI в разработке

Друзья! Эту статью подготовила команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-агентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!




























