
Опухший C++ код: как генеративный ИИ заставляет писать лишние строки
Генеративный ИИ, получающий оплату за количество строк, приводит к росту объёма C++‑кода. Анализируем причины, последствия и способы борьбы с «bloat» в современных проектах.
Существует старая программистская байка: платить за строки кода — плохая идея, потому что разработчики начнут писать лишний, бессмысленный код. Сегодня эту роль берёт на себя генеративный ИИ (GenAI). Платят за каждый сгенерированный токен, а модель, стремясь «заполнить» запрос, часто выдаёт избыточные конструкции, копипасту и ненужные абстракции. В статье на Habr AI автор исследует, как выглядит «опухший» C++‑код, созданный ИИ, и какие новые проблемы появляются в индустрии.
Автор приводит примеры, где генераторы кода добавляют десятки лишних строк для простейших операций: избыточные #include, дублирование функций, излишние шаблоны и «умные» комментарии, которые не несут смысловой нагрузки. Такие артефакты усложняют чтение, повышают время компиляции и затрудняют последующее обслуживание. При этом традиционные линтеры и статический анализатор PVS‑Studio уже отмечают новые типы предупреждений, связанные с автогенерацией: «Неиспользуемые параметры», «Неоптимальные циклы», «Потенциальные утечки памяти».
В статье обсуждаются методы контроля: ограничение длины генерируемого кода, пост‑обработка с помощью линтеров, внедрение правил «pay per functional unit» вместо «pay per line». Также поднимается вопрос о том, как обучать модели генерировать более лаконичный и читаемый код, используя реальные репозитории как эталон.
Таким образом, рост объёма C++‑кода под влиянием GenAI — не просто шутка, а реальная проблема, требующая новых практик контроля качества и переосмысления бизнес‑моделей оплаты за код.
Для разработчиков и студентов это сигнал: не стоит слепо принимать любой сгенерированный код. Нужно интегрировать статический анализ, проводить code review и задавать модели чёткие ограничения по размеру. Иначе «опухший» код будет тормозить проекты и повышать стоимость поддержки.


