Считал evalship — сервис, который сравнивает эвалы пул-реквеста с основной веткой, то есть продаёт лекарство от этой самой болезни. Они взяли результаты, которые репозитории выгружают из GitHub Actions на основной ветке, и посчитали, сколько прошедших эвалов упало на следующем прогоне. Падения, не дошедшие до модели, — нет ключа, лимит, таймаут — не учитывали.
Получилось 68 из 2 690, то есть 2,5%. Между прогонами в ветку попадали коммиты, и часть падений может быть настоящей: поэтому «сверху».
Среднее здесь обманчиво. У одного репозитория ноль из 508, у другого 46 из 870, или 5,3%: на него одного пришлось больше половины всех падений.
Отдельно они разобрали набор примерно на 2 268 эвалов, который гоняют каждую ночь. За 56 ночей медиана — 73 эвала, прошедших вчера и упавших сегодня. В те 22 ночи, когда код не менялся вовсе, — 73,5.
Для пул-реквеста это значит вот что. При шуме 3% набор из 50 эвалов теряет в среднем полтора за прогон без единой правки. Если смотреть только на общее число падений, настоящую поломку двух эвалов он, по расчёту evalship, заметит в 17% случаев.
Большой набор от этого не спасает. Тот ночной может потерять из-за настоящей регрессии 15 эвалов — и чаще всего это будет выглядеть как обычная ночь.
Сильнее всего в статье — результаты, которые до модели вообще не дошли. В одном наборе единственный эвал проходил на каждом прогоне: эндпоинт отвечал 401 «Token required», а оценщик принимал сообщение об ошибке за ответ. В одном пул-реквесте 14 из 20 эвалов упали разом, все на одном 404: модель-судью
claude-opus-4-1-20250805 отключили.Советы в конце статьи совпадают с тем, что делает продукт evalship, и читать их стоит с этой поправкой. Первый проверяется и без продукта: перезапустить эвалы на неизменённой основной ветке и посчитать, как часто прошедшие падают.
https://evalship.com/articles/eval-noise
Сколько раз за последний месяц вы перезапускали красный прогон эвалов, пока он не позеленел?