ИИ пишет код, который невозможно поддерживать
Новое исследование от Codility выявило серьёзный недостаток в том, как мы оцениваем генерацию кода с помощью ИИ. Их бенчмарк COMPASS протестировал три ведущие модели: Claude Opus 4, Gemini 2.5 Pro и OpenAI O4-Mini-High на 50 задачах по конкурентному программированию.
Однако вместо простой проверки работоспособности кода исследователи измерили действительно важные параметры: корректность, эффективность и качество.
Результаты показали неприятную правду: модели, которые стабильно проходят тесты на корректность, часто пишут крайне неэффективный код.
Claude Opus 4 показал 72% по корректности, но только 35% по эффективности. Это означает, что его решения часто превышали лимит времени или использовали метод полного перебора там, где существовали более элегантные алгоритмы.
Решение с временной сложностью O(n³) может пройти тесты, но упадёт в продакшене.
Качество кода показало другую картину. Все три модели стабильно генерировали чистый, читаемый Python-код с оценкой выше 89% по метрикам поддерживаемости.
ОДнако качество кода практически не коррелирует с корректностью или эффективностью. Модель может писать красивый нерабочий код или уродливый, но работающий.
O4-Mini-High стал явным победителем, набрав более 93% как по корректности, так и по эффективности. Однако даже топовые модели демонстрировали тревожную непоследовательность.
Одна и та же модель при решении одной и той же задачи несколько раз генерировала совершенно разные решения — от оптимальных до ужасных.
Основные выводы:
1. Не доверяйте алгоритмам, сгенерированным ИИ, без анализа эффективности
2. Проверка кода должна занимать больше времени на комплексную оценку, а не только на проверку функциональности
3. Используйте разные модели для разных задач (O4-Mini-High для алгоритмов, Gemini для читаемых утилит)
4. Внедрите уровни валидации, которые отсекают неэффективные решения до продакшена
Бенчмарк выявил фундаментальное несоответствие: мы оптимизируем модели для корректности, потому что это легко измерить. Но код для продакшена требует всех трёх параметров.
Пока модели не начнут стабильно выдавать эффективный, поддерживаемый и корректный код, к ним следует относиться как к младшим разработчикам, которые нуждаются в надзоре.
Само исследование https://www.arxiv.org/abs/2508.13757
Post #2282
1.91K