Долг по пониманию: сколько на ... Заметка
DEV Community на русском

Долг по пониманию: сколько на самом деле стоит код, написанный ИИ

«Долг понимания» (comprehension debt), введенный Джейсоном Горманом в 2025 году и популяризированный Адди Османи в 2026 году, описывает растущий разрыв между объемом кода в системе и тем, насколько его действительно понимает какой-либо человек. Этот долг возникает потому, что ИИ-агенты могут генерировать код гораздо быстрее, чем люди могут его понять, нарушая семидесятилетнее предположение о том, что код подразумевает человеческое понимание. В отличие от технического долга, который является свойством самого кода, долг понимания является свойством взаимоотношений команды с кодом. Идеально чистый, хорошо протестированный модуль все равно может быть проблемой, если никто его не понимает, переворачивая обычную заботу с плохого кода, который работает, на хороший код, который работает до тех пор, пока не сломается.Этот долг был невидимым, потому что современные инструментальные цепочки измеряют такие метрики, как покрытие и скорость, но не человеческое понимание. Ревью кода, ближайший прокси, является лишь выборочным событием, и при нативном для ИИ пропускной способности ревью становятся короче и менее показательными для истинного понимания. Эвристика «фактора автобуса» также терпит неудачу, поскольку код, написанный агентом, может иметь дробный или отсутствующий фактор автобуса, что означает, что никто его по-настоящему не понимает.Долг понимания накапливает невидимые накладные расходы, но влечет за собой жестокие процентные платежи во время инцидентов, будущих изменений, ухода сотрудников и адаптации новых инженеров. Эти моменты заставляют команды выкупать понимание, которое они никогда не приобрели, по завышенной цене. Измерение понимания должно фокусироваться на наблюдаемых сигналах в истории git, таких как содержательные комментарии к ревью, недавнее авторство человека и количество различных людей, которые действительно взаимодействовали с файлом.Дисциплина вокруг этих измерений имеет решающее значение: они должны быть детерминированными, разлагаемыми, оспариваемыми и затухающими, отражая, что понимание со временем угасает. Важно, чтобы проверка проводилась кем-то, кроме первоначального автора, чтобы предотвратить манипулирование системой.Команды могут начать управлять долгом понимания немедленно, назначая человека-автора записи для кода, написанного ИИ, запрещая молчаливые одобрения для pull-запросов, сгенерированных агентом, и открыто обсуждая, какие части системы плохо поняты. Обращение с названными слепыми зонами как с элементами бэклога также может помочь. Хотя ручные усилия ограничены, такие инструменты, как Fathohm, могут картировать долг понимания по всей кодовой базе, предоставляя всестороннее, динамическое представление. В конечном счете, поскольку ИИ продолжает писать код, выбор активного управления долгом понимания определит, останется ли этот код понятным.