
Недавнее исследование компании CodeRabbit выявило, что программный код, сгенерированный с помощью инструментов искусственного интеллекта (ИИ), содержит больше ошибок и уязвимостей по сравнению с кодом, написанным вручную. Это открытие подчеркивает важность тщательной проверки и доработки кода, особенно если он был создан ИИ.
Ошибки и уязвимости в коде ИИ
Согласно данным исследования, среднее количество ошибок в запросах на слияние изменений (Pull Request), сгенерированных ИИ, составляет 10,83 ошибки, в то время как у людей этот показатель равен 6,45. Важным моментом является то, что ИИ-код демонстрирует значительно больше критических ошибок – в 1,4 раза чаще. Особое внимание уделяется ошибкам в логике и корректности (в 1,75 раза больше), качеству и удобству сопровождения (в 1,64 раза больше), а также безопасности (в 1,57 раза больше).
Проблемы безопасности и производительности
Основные проблемы безопасности, которые может создавать ИИ, включают неправильную обработку паролей, использование небезопасных ссылок на объекты, уязвимости XSS и небезопасную десериализацию. Эти недостатки требуют активной работы над устранением со стороны организаций и разработчиков.
Преимущества ИИ в программировании
Несмотря на выявленные недостатки, ИИ способствует увеличению производительности на начальных этапах генерации кода и уменьшению количества орфографических ошибок в 1,76 раза и проблем с тестируемостью в 1,32 раза, что отмечает директор по ИИ CodeRabbit Дэвид Локер.
Борьба с уязвимостями
Отдельно Microsoft сообщает о рекордном числе исправленных уязвимостей в 2025 году, закрыв 1139 CVE (Common Vulnerabilities and Exposures). Это второй по величине показатель в истории компании и может быть частично объяснено увеличением объема кода за счет ИИ-генерации. Также ИИ-модели, такие как OpenAI, продолжают совершенствоваться, что в перспективе может снизить количество ошибок.
Таким образом, хотя ИИ и вызывает определенные трудности, его использование в программировании продолжает расти, что способствует переходу разработчиков от написания базового кода к управлению и проверке результатов, созданных ИИ.



