«Слито, но не измерено» — почему merge не означает, что PR агента сделал заявленное
Саммари
Агенты открывают pull request с заявлением «здесь ускорение», но исследования про улучшения производительности от людей ничего не говорят о том, как мейнтейнеры реагируют на такие правки и выдерживает ли заявление проверку. Работа берёт 71 677 агентских PR из AIDev v4, отбирает 1 262 исправления производительности, сделанных шестью агентами в 582 репозиториях, и перезапускает 23 отклонённых и 30 слитых фикса. Главный вывод: исход определяется историей отношений репозитория с агентом, а не содержанием правки, и сам merge ничего не говорит о том, что фикс действительно ускоряет.
Из этого следует: приём PR агента — функция контекста и репутации, а не качества диффа, поэтому метрика «процент слитых PR» нельзя читать как «процент правильных улучшений».
На практике для Revit-агента это урок про приёмку: PR, который меняет расчёт нагрузки или правило размещения, почти наверняка трогает тесты (37%), а производительный бенчмарк не появляется почти никогда (11%). Значит, критерий приёмки для агентских правок должен требовать воспроизводимый замер «до/после», а не только зелёный набор тестов.
Важный нюанс про интерпретацию: перезапуск шёл трёхкратным пилотом и в основном на нагрузках, построенных самими агентами, поэтому 6 из 23 — это нижняя оценка качества отклонённых, а не точная доля.
Второй нюанс: разрыв «удалено больше строк — вероятность merge выше» проходит внутри агента и внутри репозитория. Это намёк на то, что ревьюеры голосуют за правки, которые выглядят как уборка, и потому агент, которому выгодно выглядеть аккуратнее, получает преимущество без изменения реальной производительности.