- По мере того как искусственный интеллект все глубже интегрируется в процессы разработки программного обеспечения, возникает острая необходимость в объективной оценке его возможностей.
- В одном из исследований, направленном на изучение работы ИИ в качестве ревьюеров кода, был использован заранее подготовленный набор из 60 дефектов.
- Другой эксперимент сосредоточился на способности ИИ не только находить, но и исправлять баги.
ИИ в разработке: оценка эффективности ревьюеров и ремонтников
По мере того как искусственный интеллект все глубже интегрируется в процессы разработки программного обеспечения, возникает острая необходимость в объективной оценке его возможностей. В PROSTO24 провели серию экспериментов, чтобы измерить эффективность ИИ-моделей в обнаружении и исправлении программных дефектов, отходя от субъективных оценок к конкретным числовым показателям.
Оценка ИИ-ревьюеров на 60 известных багах
В одном из исследований, направленном на изучение работы ИИ в качестве ревьюеров кода, был использован заранее подготовленный набор из 60 дефектов. Эти дефекты, размеченные вручную, включали 51 ошибку в тестах, 8 эквивалентных проблем и 1 спорный случай. Четыре различные ИИ-модели были протестированы в двух режимах: с предоставлением подсказок и без них. Анализировались не только найденные дефекты, но и количество ложных срабатываний (шума) на нетронутых файлах, что дало более полное представление об их производительности.
ИИ-ремонтники: исправление одного сломанного скрипта
Другой эксперимент сосредоточился на способности ИИ не только находить, но и исправлять баги. Для этого был взят один неисправный bash-скрипт, содержащий семь реальных дефектов — от мелких косметических неточностей, таких как устаревшие имена файлов в комментариях, до критических ошибок, например, сводной таблицы, всегда показывающей нулевые значения. Четыре ИИ-модели независимо друг от друга пытались исправить этот скрипт. После этого еще семь моделей получили все четыре варианта исправлений и задачу собрать из них наилучший.
Разногласия и слепые зоны ИИ
Предварительные результаты обоих экспериментов показали значительные расхождения в работе моделей. Ни одна из них не смогла обнаружить или исправить все дефекты, и каждая имела свои «слепые зоны». Это подчеркивает, что даже лучшие ИИ-модели далеки от совершенства и демонстрируют уникальные паттерны ошибок. Такие эмпирические данные крайне важны для понимания сильных и слабых сторон ИИ в контексте разработки ПО и для определения направлений дальнейшего совершенствования технологий.
Интересно, но насколько эти эксперименты отражают реальную сложность продакшн-кода? 60 известных багов и один сломанный скрипт – это, на мой взгляд, довольно ограниченная выборка. ИИ, возможно, и справляется с типовыми ошибками, но как быть с уникальными, архитектурными проблемами или интеграционными дефектами? Есть риск слишком полагаться на ИИ, забывая о критическом мышлении разработчика.