dumai
ИИПрепринтarXiv cs.CL

Препринт — материал ещё не прошёл рецензирование

В тестах ИИ чаще портил правильный код, чем чинил ошибочный

0

Кратко

В ограниченной проверке двух моделей на 20 задачах ИИ нередко находил ошибки там, где программа была правильной. При повторных исправлениях одни и те же изменения иногда добавлялись и отменялись снова и снова.

Зачем это знать

Для систем, которые сами меняют код, это предупреждение о риске бесконечного пересмотра одних и тех же правок. Результат пока описывает поведение в заданных условиях, а не частоту такого вреда в реальных командах.

Разбор

Авторы проверяли не один удачный ответ модели, а повторяющийся сценарий: давали двум моделям C++-решения задач по программированию и просили искать ошибки и вносить исправления. Для проверки взяли решения, которые уже прошли или не прошли скрытые тесты, то есть оценивали код по фактическому результату запуска, а не по впечатлению эксперта. Затем тот же процесс повторяли много раз, чтобы посмотреть, что произойдёт с программой после длинной цепочки автоматических правок.

Отдельно исследователи заглянули внутрь одной из моделей. Они искали направление в её внутренних сигналах — условную «стрелку», связанную с тем, насколько модель склонна считать код ошибочным. Когда этот сигнал усиливали или ослабляли, менялась и готовность модели редактировать программу. Это не доказывает, что модель понимает ошибочность кода как человек, но показывает: её решения могут зависеть от устойчивого внутреннего представления о «подозрительном» коде, которое иногда включается без реальной ошибки.

Эксперимент проводили на 20 случайно выбранных задачах, используя по 40 случайных решений для каждой задачи. В среднем в задаче было 23 теста, а разрешённое время выполнения составляло 2,1 секунды. Важный результат за пределами самой карточки: авторы не только увидели вредные правки, но и нашли возможный механизм их появления — модель сначала формирует внутренний сигнал о «баговости», а уже потом начинает редактировать код. Такой разбор полезен для создания условий остановки: системе может быть недостаточно просто разрешить исправлять код, ей нужно ограничивать повторные циклы и проверять, действительно ли новая правка улучшила результат.

Ключевые цифры

20 задачВыводы основаны на небольшом, заранее зафиксированном наборе задач, поэтому их нельзя автоматически переносить на весь программный код.
40 решений на задачуДля каждой задачи сравнивали много разных вариантов кода, а не один пример; это снижает риск, что результат объясняется случайной программой.
23 теста в среднемПравильность решения проверяли несколькими тестами, включая скрытые, а не только по тому, выглядит ли код убедительно.
2,1 секундыРешение считали корректным только при прохождении тестов в ограниченное время, поэтому учитывали и практическую скорость программы.

Можно ли доверять

Это препринт на arXiv, а не статья, прошедшая рецензирование, поэтому выводы ещё должны подтвердить независимые исследования. Проверка была ограниченной: две модели, 20 задач и решения на C++, причём эксперименты шли в искусственно заданном цикле правок, а не в реальной работе разработчиков.

Пересказано ИИ по научной статье. Как это устроено

Источник и детали
ЖурналarXiv (cs.CL)
Дата публикации у нас11 сентября 2026 г.
Дата источника9 сентября 2026 г.
ОригиналОткрыть
АвторыXietao Wang-Lin, Anton Isopoussu, Louis Mahon