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

И вот тут выясняется, что никто в команде не может этого сделать. Не потому что сложно, а потому что непонятно вообще, что там происходит. Единственный путь вперёд — переписать всё с нуля.
Меня зовут Артём Герасимов, я владелец продукта SimpleOne SDLC. Мы уже писали про технический долг и про то, как ИИ меняет жизнь разработчиков — и не всегда в лучшую сторону.
Сегодня хочу поговорить о том, что из этого выросло: о новом виде долга, который мы пока толком не научились называть, зато уже научились на нём обжигаться.
Отдельную благодарность за помощь в написании статьи выражаю автору SimpleOne Панфиловой Яне.
Это не технический долг. Хотя похоже
Техдолг появляется, когда команда гонится за результатом и не вкладывает время в то, чтобы сделать нормальное решение. Всё понятно, все виноватые известны.
С ИИ-долгом история формально та же: торопимся, выпускаем, не думаем. Только виноватый другой. Точнее — его нет :)
Потому что технически команда сделала всё правильно: взяла инструмент, получила результат, сдала задачу. Просто никто не проверил, что именно этот инструмент написал.
Вот в чём принципиальная разница между человеческим техдолгом и ИИ-долгом. Когда разработчик делает что-то наспех, он всё равно понимает, что делает. Он держит контекст в голове, видит риски, хотя бы немного стесняется оставить совсем уж плохое решение. Джун, которому сказали «сделай быстро» — он сделает криво, но более-менее рабочее. Потому что ему неловко сдавать совсем плохое.
ИИ не стесняется. Если сказать ему «сделай быстро» — он сделает быстро. Но плохо. Ровно настолько плохо, насколько ему позволили.
Почему это не видно сразу
Главная ловушка ИИ-долга — он долго не проявляется. Задачи закрываются, метрики зелёные, velocity растёт. Никаких тревожных сигналов. Момент истины наступает позже, когда вдруг нужно модифицировать то, что ИИ написал три месяца назад.
Я как-то проверил это на практике, просто из любопытства. Попросил ИИ реализовать фичу. Он реализовал и сообщил, что всё готово. Я спросил: «А что бы ты ещё сделал?» Он нашёл что улучшить. Я спросил ещё раз — нашёл ещё. И так пять-шесть итераций подряд, пока наконец не ответил что-то вроде «ладно, кажется, теперь всё».
Ключевое слово — «кажется»
Это значит, что код, который вам сдали как «готовый», в момент сдачи содержал баги, которые сам же ИИ потом и нашёл — просто потому что его спросили. А если бы не спросили, так бы и ушло в прод. Именно так и копится ИИ-долг: незаметно, задача за задачей, спринт за спринтом, а потом разработчик превращается в уборщика этих косяков — об этом писали на Хабре тоже.
При этом ИИ очень плохо адаптирует то, что уже написал. Есть исследование, что большинство моделей с трудом поддерживают собственный код — именно поддерживают, а не генерируют заново.
Примерно полгода назад я написал модуль в Gemini и в какой-то момент попросил исправить баг. Gemini исправил — удалил половину кода молча, без вопросов и, без предупреждений. По сути, проблема была решена, правда ценой половины функциональности.
Второй пример из общемировой практики, уже масштабнее. Сервис OpenClaw — форум, полностью написанный с помощью ИИ-генерации кода. В какой-то момент обнаружилось, что слить всю базу данных сервиса — вообще не проблема, потому что безопасность нормально не настроена. Всё выглядело нормально, всё работало, а глубже никто не проверил. ИИ написал, человек запустил, база оказалась открытой.
Вот почему установка «я написал за пять минут, значит, и перепишу за десять» — это самообман. Перепишете. Только не за десять минут, и не вы.
Это старая история, просто на другой скорости
Есть паттерн, который повторяется в истории разработки раз за разом — и понимание этого помогает не паниковать, но и не расслабляться.
Когда-то код писали на перфокартах. Медленно, мучительно, зато ошибок было мало. Не потому что разработчики были умнее, просто физически невозможно написать много плохого кода, когда каждая строчка — это физический труд.
Потом появились языки высокого уровня: писать стало быстрее и удобнее, но вместе с удобством пришли абстракции — и новый класс ошибок, которых раньше не существовало. Чем выше уровень языка, тем меньше ты контролируешь то, что происходит под капотом — и тем больше ошибок, которых ты просто не видишь.
ИИ — следующий уровень этой же логики. Раньше нужно было думать и писать код, теперь можно не думать вообще — просто описать задачу словами. Риски не исчезли, они просто стали больше, менее видимыми и более сложными в отладке.
ИИ-долг — не новая проблема. Это та же проблема, что всегда, просто темп её накопления вырос на порядок.
Что же делать?
Запрещать ИИ — не выход, это очевидно. Игнорировать проблему — тоже. Мы рассматривали три реальных варианта, и у каждого есть своя логика.
Первый вариант — использовать ИИ только как справочную систему
Не для написания кода, а для навигации по документации, ускорения онбординга, поиска ответов в сложных технических материалах. Здесь ИИ работает хорошо и не создаёт долга.
У нас был конкретный кейс: мы проводили исследование графовых баз данных и выбирали, какую внедрять. Одна из кандидатур — Memgraph. У них документация была подключена к ИИ-ассистенту ещё три года назад, и настроена она действительно хорошо. Мы разобрались с Memgraph, написали тестовый подход и провели нагрузочное тестирование за один день. Аналогичную по сложности базу данных без такой поддержки мы разбирали больше пяти дней — документация была непонятной, структурированной поддержки не было, вопросы некуда задать.
Разница колоссальная и очень наглядная.
В эту же логику вписываются MCP-серверы — это протокол, который позволяет ИИ обращаться к актуальной документации в реальном времени, а не опираться на то, что было в обучающей выборке год назад. Мы работали с PowerSync, решением для синхронизации локальных баз данных в браузере, это достаточно нишевый продукт. Документация обновляется редко, поэтому ИИ не знал, как работать с последней версией, и генерировал код на основе устаревших данных. Команда PowerSync решила это просто: написала собственный MCP-сервер, к которому ИИ обращается напрямую и получает актуальную информацию.
Результат — рабочий код без галлюцинаций.
Второй вариант — внедрить ИИ на полный цикл разработки, но делать это осознанно
Здесь два пути: либо выстроить нормальное ревью каждой строчки, которую написал ИИ — и нанять людей, которые будут это делать, либо осознанно выпускать на свой страх и риск. Второй путь звучит безрассудно, но он реален — при условии, что вы понимаете риски. Просить ИИ проверить самого себя — это 50 на 50, и история с OpenClaw это подтверждает. Иногда он найдёт что-то важное, чаще скажет «всё отлично» и окажется неправ.
Третий вариант — использовать ИИ как ассистента при разработке, а не как замену разработчику
Он помогает думать над сложной функциональностью, предлагает подходы, ускоряет мозговой штурм. Но финальное решение — за человеком, и человек понимает каждую строчку, которая идёт в прод.

Где мы оказались
Мы пришли к третьему варианту с элементами первого. ИИ помогает нам разбираться в документации и думать над сложными кейсами. Заменять разработчика мы не стали — и дело не в консерватизме.
Мы делаем коробочные решения, которыми компании пользуются в проде. Нельзя выпустить криво и надеяться, что никто не заметит — заметят. И скажут. Поэтому для нас ИИ-генерация кода без нормального ревью просто обходится дороже, чем написать самим. Мы это проверили.
Меня в этой ситуации больше всего удивляет вот что: всё, о чём я написал, давно очевидно тем, кто пишет код. Но на уровне принятия решений эту проблему почти никто не называет своим именем. Velocity растёт — значит, всё хорошо. Сколько ИИ-долга накопилось за этим velocity — никто не считает. И не считает ровно до того момента, когда трогает модуль, написанный три месяца назад.
***
Как у вас устроена работа с ИИ в команде? И приходилось ли вам сталкиваться с тем, что разобраться в ИИ-коде или исправить его оказывалось дороже, чем написать заново?
Комментарии (14)

WhiteBehemoth
09.04.2026 13:24Представьте команду разработки, которая внедрила ИИ-генерацию кода. Первые недели — эйфория. Velocity вырос на 40%. Задачи закрываются быстро, бизнес доволен, менеджеры смотрят на дашборд и улыбаются.
ИИ код без ревью и в прод, улыбающийся менеджмент, явно планирующие брать новые горизонты.
я представил и у меня задёргался глаз.

art241111
09.04.2026 13:24я представил и у меня задёргался глаз.
Согласен, менеджер который видит новые горизонты вещь страшная

Groramar
09.04.2026 13:24Не потому что сложно, а потому что непонятно вообще, что там происходит.
Как правило боты делают очень качественную (не дословную) документацию в коде. Просите объяснять вплоть до каждой строки, максимально подробно. Обычно этого более чем достаточно.

4ae4eK
09.04.2026 13:24А ещё будет очень хорошо продумать ему способы сохранения решений в долговременной памяти хотя бы по кодовой базе, чтобы начиная новый диалог не писать агенту всё с 0

losse_narmo
09.04.2026 13:24Вот только понятность каждой строки не всегда означает, что:
код понятен в целом
код делает то, что хочет заказчик
в коде нет багов
не зря же есть выражение "за деревьями леса не видно"

Ldiga174
09.04.2026 13:24https://github.com/Ldiga174/AIL-Assistant-Instruction-Layer
Я себе написал вот такую структуру управления проектом. Там ведётся лог успешных реализаций, ошибок , память проекта , ход ведения проекта , успешные реализации выделяются как можно использовать. Думаю с этим проще решить вашу проблему .

stepigal
09.04.2026 13:24Расскажу как это делаю я.
1. Этап проектирования. Я обсуждаю с ИИ что мне нужно, мы разбиваем проект на логичные части. Описываем каждую часть, если в какой-то части получается слишком много, разбиваем еще мельче. В результате должен появится очень подробный план, каждая часть которого легко реализуема и может быть протестирована отдельно.2. Этап программирования. Начитаю с первой части проекта, проверяю работоспособность и чистоту кода, чтобы все было просто и понятно, с комментариями. Работает первая часть, приступаю ко второй. Тот код, что пишет ИИ, переношу в проект руками, слежу чтобы ничего из работающего кода не пропало и не было переписано.
Да, это не быстро. Да, это непросто. Да, разработчик должен быть программистом и хорошо знать что он делает. Зато код хорошо задокументирован, понятен и гарантированно работает.

yvolk
09.04.2026 13:24Это рассказ про разработку первой версии приложения.
А основной вопрос в данной статье - о развитии и последующих версиях.
Как Вы делаете следующую версию? В которой что-то надо расширишь, что-то сделать по-другому, обеспечив совместимость и миграцию с предыдущего решения...

stepigal
09.04.2026 13:24Когда изначальный код понятен, то что-то расширить или переделать не трудно. Совершенно аналогичным образом - проектирование, написание кода, ручной перенос в проект.

yvolk
09.04.2026 13:24То есть Вы расширяете или переделываете модуль, расширяя или переделывая его описание для ИИ. То описание, которое было создано для предыдущей версии.
А потом ИИ разрабатывает новый код на основе этого описания опять с нуля?!
stepigal
09.04.2026 13:24Ну почему с нуля, код где нужно внести изменения так же прилагается к промпту. Нет смысла передавать весь код, но где вносятся изменения, это сделать необходимо. После этого собственно новый код сравнивается со старым и, если все нормально, вносятся необходимые изменения. Если изменений много, то это тоже делается не сразу все, а по частям.

yvolk
09.04.2026 13:24Интересно, спасибо за статью.
Пожалуй, я попробую начать активно использовать ИИ похожим образом:Мы пришли к третьему варианту с элементами первого. ИИ помогает нам разбираться в документации и думать над сложными кейсами.
Да, ИИ определённо хорош в качестве "продвинутого поиска" ответов на вопросы (вариантов решений) как внутри кодовой базы, так и в Сети, в том числе, в документации.
Очевидно, полезность ИИ падает с увеличением размера кода, составляющего разрабатываемую Систему, плюс, до некоторой степени, - кода (АПИ) интегрируемых с нашей Системой других систем... Но если он сможет быть более полезен, чем полнотекстовый поиск - уже хорошо.
Интересно упоминание MCP-серверов и необходимости искать ответы по свежей информации, а не только по тому, чему ИИ мог научиться раньше.
netricks
... С появлением ИИ мы как-то резко стали забывать, что между работает и можно людям показать - огромная разница. Работает - это 10%. До людям показать можно ещё девять раз по столько же и эти девять раз ещё и длиннее самих себя.
Люди как-то поверили, будто бы можно сразу написать хорошо. Нет. Нельзя.
Сначала вы объясняете агенту ТЗ. Это занимает час. Потом ИИ пишет код, который сразу работает. Это занимает 10 минут. Вам не нравится. Вы говорите, что гипотеза не удалась, всё удаляете и пишите ещё раз. Это занимает ещё 10 минут. Теперь вам нравится.
И вот тут вы садитесь и вместе с ИИ следующую неделю перекладываете архитектуру, пока не станет действительно хорошо. Так это работает.
auresio
Ваши бы слова, да менеждменту в уши.