Найти в Дзене
Вячеславный интернет

Написанный ИИ код оказался забагованным: исследование CodeRabbit разрушает мифы о безупречности нейросетей

Кажется, мы слишком рано расслабились, переложив написание кода на плечи виртуальных помощников. Согласитесь, соблазн велик: нажал кнопку, сгенерировал функцию за секунду — и готово. Но свежие данные заставляют взглянуть на эту идиллию с изрядной долей скепсиса. Оказывается, за скорость мы платим качеством, и цена эта порой неоправданно высока. Недавнее масштабное исследование от компании CodeRabbit пролило свет на реальное положение дел в индустрии разработки, где правят бал нейросети. Цифры говорят сами за себя: программный код, созданный с помощью инструментов искусственного интеллекта, содержит ощутимо больше ошибок и уязвимостей, чем тот, что написан старыми добрыми человеческими руками. И это не просто мелкие помарки, а системная проблема, которая меняет сам подход к разработке. Давайте посмотрим правде в глаза. Когда мы используем AI-ассистентов, мы ожидаем ускорения работы. И оно действительно происходит на этапе набора текста. Но вот что происходит дальше — в процессе слияния
Оглавление

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

Недавнее масштабное исследование от компании CodeRabbit пролило свет на реальное положение дел в индустрии разработки, где правят бал нейросети. Цифры говорят сами за себя: программный код, созданный с помощью инструментов искусственного интеллекта, содержит ощутимо больше ошибок и уязвимостей, чем тот, что написан старыми добрыми человеческими руками. И это не просто мелкие помарки, а системная проблема, которая меняет сам подход к разработке.

Иллюзия скорости: почему Pull Request от ИИ требует двойной проверки

Давайте посмотрим правде в глаза. Когда мы используем AI-ассистентов, мы ожидаем ускорения работы. И оно действительно происходит на этапе набора текста. Но вот что происходит дальше — в процессе слияния изменений (Pull Request), — заставляет задуматься.

Статистика CodeRabbit неумолима: в запросах на слияние, созданных с участием ИИ, в среднем фиксировалось 10,83 ошибки. Для сравнения, в аналогичных запросах, полностью подготовленных людьми, этот показатель составляет всего 6,45 ошибки. Разница почти двукратная.

Что это значит на практике для рядовой команды разработчиков?

  1. Резко возрастает время на код-ревью. Вместо быстрой проверки сеньору приходится разгребать авгиевы конюшни сгенерированного кода.
  2. Увеличивается риск того, что баг просочится в продакшн. Чем больше ошибок на входе, тем выше вероятность пропустить одну из них на выходе.
  3. Растёт технический долг, который накапливается незаметно, как снежный ком.

В конечном итоге, выигрыш во времени при написании кода нивелируется долгими часами отладки и бесконечными исправлениями.

Качество логики под ударом

TechRadar справедливо отмечает, что речь идёт не о банальных опечатках. Всё гораздо серьёзнее. В целом, количество ошибок в сгенерированных ИИ запросах было в 1,7 раза выше человеческих показателей. Но что пугает больше, так это рост числа критических и серьёзных проблем — их стало больше в 1,4 раза.

Нейросети, при всей их мощи, всё ещё плохо понимают контекст и долгосрочные последствия своих решений. Статистика по типам ошибок выглядит удручающе:

  1. Ошибки в логике и корректности работы алгоритмов встречаются в 1,75 раза чаще.
  2. Проблемы с качеством кода и его удобством для дальнейшего сопровождения (читаемость, структура) — в 1,64 раза чаще.
  3. Вопросы безопасности — в 1,57 раза чаще.
  4. Просадки в производительности — в 1,42 раза чаще.

Искусственный интеллект часто критикуют за то, что он вносит именно серьёзные, фундаментальные ошибки, исправление которых требует глубокого погружения в архитектуру проекта. Живой разработчик, даже новичок, обычно интуитивно чувствует «запашок» плохого архитектурного решения. ИИ же уверенно лепит «горбатого», если это соответствует синтаксису языка.

Безопасность: где нейросети оставляют дыры

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

Во-первых, это неправильная обработка паролей. Нейросеть может запросто захардкодить секретный ключ прямо в теле функции, не видя в этом ничего дурного. Во-вторых, небезопасные ссылки на объекты и пресловутые XSS-уязвимости.

Отдельно стоит упомянуть небезопасную десериализацию. Это серьёзная брешь в защите приложений, возникающая, когда программа преобразует ненадёжные данные обратно в объекты. ИИ часто игнорирует проверки входящих данных, полагая, что мир вокруг идеален и безопасен. Для хакеров такой код — настоящий подарок.

Мнение эксперта: производительность против качества

Дэвид Локер (David Loker), занимающий пост директора по ИИ в CodeRabbit, прокомментировал ситуацию довольно взвешенно. По его словам, «инструменты ИИ для программирования значительно увеличивают производительность, но они также вносят предсказуемые недостатки, которые организации должны активно устранять».

-2

И в этом есть зерно истины. Нельзя сказать, что ИИ бесполезен. На начальных этапах генерации кода, когда нужно набросать «скелет» приложения или написать рутинный бойлерплейт, эффективность действительно повышается.

Более того, есть области, где роботы справляются лучше нас:

  1. Количество орфографических ошибок в комментариях и документации уменьшилось в 1,76 раза.
  2. Проблемы с тестируемостью кода (насколько легко покрыть код тестами) сократились в 1,32 раза.

То есть, код становится более грамотным с лингвистической точки зрения и более удобным для тестов, но при этом — менее логичным и безопасным. Парадокс? Скорее, закономерность развития технологии на данном этапе.

Новая реальность: от кодинга к управлению

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

Возможно, именно так и будет выглядеть симбиоз человека и машины в будущем. Человек задаёт направление и контролирует архитектуру, а нейросеть выполняет черновую работу, пусть и допуская ошибки, которые нам предстоит вылавливать. Главное — не терять бдительность и не доверять слепо всему, что выдал чат-бот.

Рекордные уязвимости 2025 года: совпадение?

Интересный контекст добавляет статистика от Microsoft. Корпорация сообщает о рекордном числе исправленных уязвимостей. Только в 2025 году было закрыто 1139 CVE (общие уязвимости и угрозы), что стало вторым по величине показателем за всю историю наблюдений.

Связано ли это с массовым внедрением ИИ-кодинга? Прямых доказательств нет, но корреляция напрашивается сама собой. Рост общего объёма кода за счёт быстрой ИИ-генерации неизбежно расширяет «поверхность атаки». Больше кода — больше потенциальных дыр.

Впрочем, не всё так мрачно. Модели ИИ, например, последние версии от OpenAI, продолжают стремительно умнеть. Есть надежда, что текущий всплеск ошибок — это «болезнь роста», и в будущем нейросети научатся не только писать быстро, но и думать о безопасности. А пока нам остаётся только одно: проверять, проверять и ещё раз проверять. Ведь ответственность за финальный продукт по-прежнему несёт человек, а не алгоритм.

Подпишись, поставь лайк и поделись с друзьями!

Жмякни на колокольчик