Долг понимания от ИИ-кодогенерации: как проверить команду

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

Источник: Habr

Это не единичный случай и не признак слабой команды. Это системный эффект, который в индустрии называют долгом понимания (comprehension debt). И он не сигналит о себе, в отличие от технического долга.

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

Что изменилось на самом деле

ИИ-инструменты для генерации кода используют или планируют использовать 84% разработчиков, согласно опросу Stack Overflow Developer Survey 2025, в котором участвовало около 49 тысяч респондентов из более чем 160 стран. Это массовое внедрение произошло за два года.

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

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

Почему это не вина «плохого инженера»

Самое удобное объяснение — «наняли слабых инженеров». Но данные говорят об обратном.

Исследование METR (рандомизированное контролируемое исследование, arXiv:2507.09089) показало, что разрыв между ощущением и реальностью при использовании ИИ-кодогенерации не зависит от квалификации разработчика. Опытные инженеры тоже попадают в ловушку: они быстрее проверяют сгенерированный код, но не строят полную модель системы.

Опрос Stack Overflow 2025 зафиксировал редкий разрыв: чем плотнее люди работают с ИИ-инструментами, тем меньше они доверяют точности их вывода. Доверие к точности упало с 40% до 29% за год. Активно не доверяют точности 46% опрошенных против 33% доверяющих. Высокое доверие декларируют всего 3%.

И чем опытнее разработчик, тем он осторожнее: у самых опытных высокое доверие к ИИ всего у 2,6%, а активное недоверие доходит до 20%.

«Пользуюсь каждый день, но в результат не верю» — это не портрет слабого инженера. Это портрет работы, которую перекосило на уровне организации труда.

Чем долг понимания отличается от технического долга

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

Долг понимания не сигналит вообще. Кодовая база выглядит чистой, тесты проходят, ревью пройдено. Но полную модель того, что написано, ни автор, ни ревьюер ни разу не построили. Это код, который ни один живой человек не писал и целиком не прочитал.

Характеристика Технический долг Долг понимания
Сигналит о себе Да (медленные сборки, ошибки) Нет
Виден в коде Да (грязный код, дублирование) Нет (код выглядит чистым)
Измерим Частично (метрики качества) Сложно
Проявляется когда При изменениях При инцидентах или смене команды
Кто создаёт Команда Система + инструмент

Что можно проверить за неделю без перестройки компании

Вот пять проверок, которые руководитель разработки может сделать на этой неделе, не меняя процессы и не вводя новых инструментов.

Проверка 1. Тест на объяснение у доски. Попросите любого инженера объяснить архитектуру системы без кода: где границы модулей, какие контракты между ними, что сломается при изменении конкретного сервиса. Если объяснение занимает больше 5 минут или инженер уходит в детали реализации — это сигнал.

Проверка 2. Аудит сгенерированного кода. Выберите 5-10 недавних коммитов, где использовалась ИИ-генерация. Попросите автора объяснить, почему код написан именно так, какие альтернативы рассматривались и как этот фрагмент влияет на соседние модули. Если ответы расплывчатые — долг понимания уже есть.

Проверка 3. Карта владения кодом. Составьте простую таблицу: какой модуль кто понимает целиком. Если на каждый модуль приходится только один человек, а на критические модули — никто, это риск.

Проверка 4. Тест на изменение без контекста. Возьмите задачу, которая требует изменения в модуле, который не трогали 3 месяца. Дайте её инженеру, который не работал с этим модулем, с доступом к ИИ-инструментам. Замерьте, сколько времени уходит на понимание контекста до первого изменения.

Проверка 5. Опрос команды. Анонимно спросите: «Как часто вы принимаете сгенерированный код, не понимая его полностью?» и «Как часто вы правите чужой сгенерированный код, не понимая, как он работает?». Если ответы «часто» или «постоянно» — проблема системная.

Где выгода и где риск

Выгода от ИИ-кодогенерации очевидна: скорость написания кода растёт, рутинные задачи автоматизируются, разработчики меньше времени тратят на шаблонный код. Вендоры инструментов продают именно эту картину.

Риск — в том, что долг понимания накапливается незаметно. Он не проявляется, пока система работает стабильно. Он проявляется, когда: - нужно быстро исправить критический баг в незнакомом модуле; - ключевой разработчик уходит, и никто не может объяснить, как работает его часть; - система падает в проде, и команда тратит часы на поиск причины, потому что никто не понимает, как связаны компоненты; - приходит аудит или due diligence, и вы не можете показать, кто и зачем написал конкретный фрагмент.

Данные опроса Stack Overflow 2025 показывают, что разработчики сами осознают этот риск: доверие к точности ИИ-вывода падает по мере использования. Но организационно команды редко адаптируют процессы под этот новый тип долга.

Что делать на этой неделе: практический чек-лист

  1. Проведите тест на объяснение у доски для каждого ключевого модуля. Запишите, кто может объяснить архитектуру без кода.
  2. Введите правило: каждый сгенерированный ИИ фрагмент должен сопровождаться комментарием автора — зачем этот код, какие альтернативы были, какие границы он не нарушает.
  3. Ограничьте использование ИИ-генерации для критических модулей или введите обязательное парное ревью для такого кода.
  4. Раз в месяц проводите «архитектурный час» — без кода, только схемы и объяснения, как устроена система.
  5. Создайте карту владения кодом и отслеживайте, сколько модулей остаются без ответственного, который понимает их целиком.
  6. Обсудите с командой долг понимания открыто — без обвинений, как системный риск, который нужно управлять, а не игнорировать.

Источники

Что почитать дальше