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