Всем привет, на связи снова Саша Сергеев, CTO в Профи.ру. И сегодня поговорим кое о чём серьёзном.

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

Что такое когнитивный долг

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

Даже Скарлетт О’хара не хочет думать о техническом долге
Даже Скарлетт О’хара не хочет думать о техническом долге

А вот когнитивный долг уже про другое — не про качество кода, а про то, понимает ли хоть кто-нибудь, что в нём написано. Автор статьи, на которую я выше сослался, привела пример: участники её курса после 7–8 недель перестали понимать, как вносить минимальные правки в код, потому что всё ломалось. Сначала подумали, что дело в техдолге. Начали разбираться и поняли: просто писали код так быстро, что перестали понимать, как работает система as a whole. А когда не видишь картинку целиком, очень сложно работать фрагментарно.

Сейчас, когда ИИ-агенты становятся лучше и лучше с каждым днём, в системе часто могут появляться куски, поведение которых команда не может объяснить. Код написан, он крутится в проде, бизнес на нём зарабатывает, но, если спросить, что там внутри происходит и почему именно так, — ответить не могут.

Справедливости ради, нужно сказать, что раньше такое тоже случалось и без ИИ. Классический пример — низкий bus factor: один человек владел большим куском логики, потом внезапно уволился, и на команду сваливался работающий, но непонятный код. И пока всё ок — всё ок. Как только что-то ломается, команда впервые понимает, что ничего не понимает.

Откуда берётся этот долг

Опишу типичную картину. Разработчик берёт ИИ-агента и просит его сделать такую-то фичу. Фича не ограничивается одной функцией — там несколько файлов, несколько слоёв логики, интеграции, тесты и так далее.

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

Важный нюанс. Тут нельзя проводить параллель с тем, как делали раньше: вставили с Хабра или Stack Overflow пару строчек хука или утилиту. Это нормальная рабочая практика, так как чаще всего копируется небольшой фрагмент, который разработчик хотя бы по диагонали читает и задачу которого понимает.

С ИИ ситуация другая. Модель генерирует не один хелпер, а целый кусок бизнес-логики. И разработчик, особенно не очень опытный, может даже не осознать, что он не понимает этот код по-настоящему. В этом кроется опасное заблуждение.

Добавим сюда давление на скорость. Руководство ожидает, что с ИИ всё станет быстрее. Появляется риск, что попытка осмыслить код и провести ревью начнёт восприниматься как тормоз для бизнеса. В итоге когнитивный долг накапливается незаметно, маленькими порциями, в каждой фиче.

К чему ведёт когнитивный долг: сеньоры стали особенно важны

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

По сути, сеньор превращается в человека, который принимает десятки решений в день: что переписать, что не трогать, какие подходы уместны, какие ведут к катастрофе через полгода, где когнитивный долг допустим (потому что риск низкий), а где нет.

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

Когда значительную часть кода пишет ИИ, эта зона отдыха растворяется. Остаётся только тяжёлая часть: проектирование, архитектура, ревью, принятие компромиссов. Не все к этому готовы, и не все хотят так работать.

Другой вариант — если код продолжат писать люди, но с опорой на ИИ-ассистентов. Тогда к сеньору просто будет прилетать больше кода на ревью. Скорость генерации вырастет, а вот время на вдумчивый разбор — нет.

И так и так риск когнитивного долга будет увеличиваться, но без конкретных цифр. Так как посчитать его пока что не получится, всё работает на ощущениях.

Кто виноват и что делать?

Хорошая новость: никто не виноват. Плохая: делать с этим что-то всё равно надо.

Как делают другие — не знаю, пока что об этом говорят мало. Так что расскажу про наш подход в Профи.ру. 

Наши команды не живут в реальности, где код пишут только агенты. В наш прод попадает только то, что тщательно отсмотрели и проверили люди. Но это не означает, что проблемы когнитивного долга нас не касаются. Наоборот, мы сознательно закладываем на его решение ресурсы.

Во‑первых, у нас уже есть карта рисков по доменам системы. Мы про это подробно писали в прошлой статье: весь продукт разделён на логические домены, у каждого свой цвет на интерактивной карте. 

«Зелёные домены» — некритичные: даже если там что-то пойдёт не так, команда в своём темпе и без паники всё поднимет. «Красные» — обратная история: чаты, аутентификация, базы данных. Здесь ошибаться нельзя, поэтому команда идёт чинить код максимально оперативно. Эту карту мы раскрашиваем вместе на специальных встречах, где обсуждаем риски и договорённости.

Когнитивный долг мы тоже теперь вписываем в эту картину. Где‑то мы честно признаёмся сами себе, что долг есть, но это некритично: ущерб ограничен. А где‑то, если зона ближе к «красной», сознательно выделяем людей и время, чтобы разобраться, как всё устроено, и вернуть контроль над кодом.

Во‑вторых, мы много экспериментируем с тем, как ИИ помогает в разработке. Сейчас активно используем его в нескольких задачах, таких как:

  • генерация «рыбы» кода, которую потом доводят до ума разработчики;

  • автоматические проверки стиля и простых паттернов;

  • помощь в рефакторинге и работе с легаси — там, где у человека часто не хватает терпения делать одно и то же вручную.

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

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

В‑третьих, мы смотрим в сторону того, как ИИ может не только писать код, но и помогать контролировать качество и сложность. Полноценного агента-ревьюера, который бы на равных заменял опытного сеньора, я пока не видел. 

Модели умеют находить локальные проблемы: очевидные баги, нарушения стиля, потенциальные уязвимости. Но увидеть, что задача решена концептуально не тем способом, по-прежнему им не под силу. Это зона ответственности человека. 


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

А вы что думаете? Если есть что добавить, поправить или спросить, приглашаю в комментарии. 

Комментарии (13)


  1. netricks
    12.06.2026 12:17

    О! Это очень точно сформулировано. Характер долга отличается.

    Иишка генерит и техдолг тоже, но техдолг иишка исправляет также быстро, как и генерит. Если не быстрее.

    Значит, проблема вовсе не в техническом долге.


    1. Granulex
      12.06.2026 12:17

      Иишка ускоряет цикл "создал – починил", но каждая итерация происходит быстрее, чем команда успевает осмыслить изменения. Техдолг обнуляется, а когнитивный только растёт: код работает, тесты зелёные, но никто уже точно не знает – почему именно эта часть устроена именно так. Замечали, как code review AI-правок превращается в "ну, раз тесты прошли – мержим"?


  1. ASenchenko
    12.06.2026 12:17

    Любопытно, что в соседней статье

    https://habr.com/ru/articles/1046678/

    Когнитивным долгом называют другую вещь - просаживание когнитивных способностей при регулярном делегировании сложных задач ИИ-шке.

    Нет пока устойчивого толкования термина ;)

    ....

    За разработку не скажу, в бизнес-аналитике LLM-ки применям. В первую очередь для парсинга транскриптов встреч и генерации документации по схемам, если их можно сбросить в xml или mermaid

    Правило примерно то же. Документ, сгенеренный LLM, в самом начале имеет метку "AI Generation" и по всем соглашениям не двигается дальше статусам"черновик". То есть аналитики используют этот материал для рабочих документов. Но уже под своим авторством и со своей ответственностью.

    Пока что это работает реально хорошо


    1. artptr86
      12.06.2026 12:17

      Всё же в контексте проектов больше имеет смысл не потеря навыка конкретного разработчика, а накопление долга в самом коде. То есть объём когнитивного долга — это метрика проекта, как и объём технического долга, хоть она и невыразима в каких-либо конкретных единицах.


      1. ASenchenko
        12.06.2026 12:17

        По некоторому опыту работы с легаси-системами, мне лично как функциональному архитектору, больше всего проблем доставляли "потеряшки" в интеграционных схемах. Когда уже никто не помнит не только как сделано, но и почему именно так

        Повторю, я не могу отвечать за разаботку, но чисто умозрительно было бы полезным давать llm-кам задачу генерить кроме кода erd-шку на mermaid и подкладывать её рядом


  1. Brazil
    12.06.2026 12:17

    Проблема, по-моему, высосана из пальца.

    А вы не пробовали спросить у Claude: «Как всё устроено в этом проекте?»
    Уверяю, он объяснит так, что ни один сеньор, работавший над этим проектом 10 лет, лучше не объяснит.

    Нет никакого долга. Хотя бы потому, что Claude умеет создавать абсолютно точную и исчерпывающую документацию - в любом стиле и с любой степенью детализации.
    Он даже может предположить, почему в прошлом архитектура была сделана именно так.
    Но это уже неважно.

    Статья разочаровала. Надеялся на более глубокий анализ.
    Похоже, автор задавал GPT неправильные промпты. Так-то мне статьи от GPT нравятся.


    1. Dhwtj
      12.06.2026 12:17

      А вы не пробовали спросить у Claude: «Как всё устроено в этом проекте?»

      Нет. Ответил в комментарии ниже


    1. schekinfs
      12.06.2026 12:17

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

      Агентская разработка со скоростью балистической ракеты создает код, который ни она ни кто другой не понимает это ладно, но взять за него ответственность смело может только джун... ему не болит, ему "ии наколило и это он считай сделал"

      просто сейчас вайбкоерам и промптоделам норм, они мало знакомы с инженерной болью от потери контроля и ответственности, а это будет возвращать и сильно расширять в итоге найм, когда эфория "заменим на джунов" пройдет. Так что да, когнитивка сейчас дороже токенов, но пока это еще не до всех дошло


  1. bjl
    12.06.2026 12:17

    А project.md не спасет?

    А промптом попросить объяснить ии?

    А вот ещё тейк - тестами покрываете код, теперь надо покрывать код когнитивным тестом от людей.


  1. TheHost
    12.06.2026 12:17

    А вы просите ИИ сразу доку генерить по тому, что и как она реализовала)


    1. brammator
      12.06.2026 12:17

      онбординг генерить.


  1. Dhwtj
    12.06.2026 12:17

    Добавлю что LLM не умеет понимать предметную область, строить верхний уровень абстракции модели кроме совсем уж типовых решений. И не научится никогда, похоже.

    Составить язык предметной области значит решить, какие моменты существенны под цель, а это назначение смысла, не извлечение из кода. Нужно очень глубокое погружение в проект, общение с доменными экспертами.

    Могу подробней. Но уже устал от здешних AI евангелистов

    Из-за того что LLM не составляет модель предметной области задача на 5-10.000 строк не сжимается до "контекстного окна" человека

    Человек сжимает те же 10k в десяток понятий, держит приоритеты и когерентность


    1. imitron
      12.06.2026 12:17

      Ну почему же не научитмся никогда? Экстраординарные суждения требуют экстраординарных доказательств