Типичная история внедрения ИИ-инструментов в инженерной команде выглядит так: тимлид изучает Cursor или Claude Code, считает потенциальную экономию и спускает команде задачу попробовать на следующей итерации. Через две недели lead time не сокращается, а растёт. В трекере появляются странные инциденты. Двое лучших разработчиков ходят с выражением «я же говорил». На ретро звучит дипломатичное «нам нужно больше времени, чтобы оценить эффект» — что на практике означает «уберите эту штуку».

Проблема не в инструменте и не в скептиках. Проблема в модели внедрения. Push-подход — когда решение принимается сверху и стандартизируется через KPI — системно не работает с разработчиками высоких грейдов. Чем сильнее команда, тем хуже он работает.

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

У опытных разработчиков четыре рациональных страха: потеря авторства, деградация навыков, утрата автономии и риск стать взаимозаменяемым.

За тихим саботажем опытных разработчиков стоят четыре конкретных страха, каждый из которых — рациональная защитная реакция. Первый: конфликт с профессиональной идентичностью. Синьор — это человек, чья ценность построена на качестве принимаемых решений. Режим «опиши задачу — прими сгенерированное» переводит его в роль технического ревьюера, отдавая авторство модели. Второй: страх деградации навыков. Если несколько лет писать код преимущественно через генерацию, атрофируется умение держать архитектуру в голове и чувствовать code smells. Третий: потеря автономии — решение навязано, метрика «процент кода от ИИ» висит над головой. Четвёртый: не «меня заменят моделью» (это страх джунов), а тоньше: «если моя ценность сводится к ревью генераций, я взаимозаменяем».

Pull-модель использует эти четыре страха как дизайн-требования, а не пытается их продавить через KPI. Центральный принцип — агент в подчинённой проактивной позиции. Формулировка кажется противоречивой, но это ключ ко всей механике.

Подчинённая позиция означает: агент не принимает решений. Никаких. Не выбирает архитектуру, не утверждает скоуп, не открывает PR без явной команды. Все решения остаются за человеком — это сохраняет авторство и личный контроль, которых нет в автономном режиме. Большинство демонстраций агентной разработки построены на противоположной модели: агенту даётся задача, он сам её декомпозирует, имплементирует и открывает PR. Такой подход хорошо смотрится в демо, но требует доверия, которого у синьора нет и взяться ему неоткуда.

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

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

Наконец, КПД работы с агентом у сильного инженера объективно выше, чем у слабого. Сильный задаёт правильные вопросы, видит ошибки в выводе, удерживает границы скоупа и не даёт агенту уйти в сторону. Слабый генерирует мусор быстрее, чем раньше. Это означает, что при правильно выстроенном workflow опытный разработчик становится более ценным, а не менее — и именно это сообщение должна транслировать pull-модель внедрения.