Платформа для ревью кода CodeRabbit провела масштабное исследование качества программного кода, созданного с помощью искусственного интеллекта. Результаты показали серьезные проблемы в работе AI-ассистентов для разработки.
Аналитики изучили 470 pull реквестов из открытых проектов на GitHub. Из них 320 были созданы с участием ИИ, а 150 написали программисты без помощи инструментов на базе ИИ. Сравнение выявило существенную разницу в качестве.
Узнать подробнее про клуб ShareAI
Код от ИИ содержит в 1,7 раза больше различных проблем по сравнению с человеческим. Это касается всех основных аспектов качества программного обеспечения. Исследование опубликовано в отчете State of AI vs Human Code Generation.
Особенно заметна разница в производительности создаваемых решений. Неэффективные операции с вводом и выводом данных встречаются в работах ИИ почти в 8 раз чаще. Это самый большой разрыв среди всех категорий.
Логика программ от ИИ также страдает. Ошибки в бизнес-логике, неправильные конфигурации и опасные условные конструкции появляются на 75% чаще. Такие баги могут привести к серьезным сбоям в работе приложений.
Вопросы безопасности тоже вызывают тревогу. Уязвимости в коде от ИИ встречаются в 1,5-2 раза чаще. Чаще всего это проблемы с обработкой паролей и небезопасный доступ к данным объектов.
Качество оформления кода от ИИ в три раза хуже. Проблемы с названиями переменных и функций, неправильное форматирование делают такой код трудным для чтения и понимания другими разработчиками.
CodeRabbit объясняет плохие результаты нехваткой контекста у ИИ-моделей. Они не знают специфику конкретного проекта — бизнес-требования, архитектурные решения, стандарты команды. Без этого ИИ создает код, который только выглядит правильным.
Компания предложила систему мер для улучшения ситуации. Разработчикам нужно давать ИИ больше информации о проекте при создании промптов. Автоматические проверки стиля и линтеры должны работать на уровне CI для отлова базовых ошибок.
Для сложной логики обязательно требовать написание тестов. Сканирование на уязвимости безопасности нужно усилить. При проверке ИИ-кода следует использовать специальные чеклисты с акцентом на обработку ошибок.
Исследование показывает парадокс современной разработки. ИИ-помощники ускоряют написание кода, но созданный ими результат требует более тщательной проверки. Без правильных процессов контроля выигрыш во времени может превратиться в потери на исправлении багов.

