GitHub запустила открытый бенчмарк ReviewBench для оценки агентов проверки кода, пытаясь решить основную проблему инструментов проверки, поддерживаемых искусственным интеллектом: сложности сравнения обнаруженных и пропущенных ошибок, а также объёма создаваемого ими шума. Бенчмарк доступен исследователям и командам, разрабатывающим системы проверки кода, и также позволяет добавить пользовательскую систему и сравнить её с другими системами.
Бенчмарк, основанный на реальных запросах на слияние
GitHub разработала набор ReviewBench на основе анализа распределения более 103,9 миллиона запросов на слияние на платформе. Набор включает 219 запросов на слияние из 187 общедоступных лицензированных репозиториев с открытым исходным кодом и охватывает 19 языков программирования, при этом распределение языков и размеры репозиториев согласованы с общим профилем GitHub. Однако вес объёма изменений был перераспределён в пользу изменений среднего и большого размера, пригодных для проверки, вместо чрезмерной концентрации на небольших изменениях в одном файле.
То, что GitHub называет «эталонным набором», не опирается на один источник. Потенциальные результаты были собраны у людей-рецензентов, из последующих изменений, внесённых авторами запросов, инструментов статического анализа и нескольких передовых языковых моделей. После удаления семантически перекрывающихся результатов они оценивались по единому критерию, согласно которому корректный результат должен быть правильным, релевантным и не тривиальным. GitHub использует модель Claude Sonnet 5 в качестве языкового оценщика и публикует rubric и настройки оценки, стремясь повысить проверяемость и воспроизводимость.
Метрики, не наказывающие за обнаружение новых ошибок
ReviewBench различает два семейства метрик. Метрики grounded precision, grounded recall и grounded F1 измеряют способность системы обнаруживать проблемы, уже имеющиеся в эталонном наборе, что обеспечивает прямое сравнение систем. Метрики augmented precision, augmented recall и augmented F1 также проверяют результаты, не совпадающие ни с одной известной проблемой, и начисляют системе баллы, если оценщик подтверждает, что это корректная проблема.
Это различие важно, поскольку фиксированный набор ошибок не может обязательно быть полным: новый агент может обнаружить проблему, которую составители бенчмарка не заметили. GitHub использует grounded recall как основной показатель для сравнения систем, тогда как расширенные метрики предоставляют дополнительную диагностику каждой системы.
Настраиваемая и проверяемая оценка
Результаты можно разделять по серьёзности и категории проблемы, например по корректности, безопасности, надёжности, сопровождаемости и тестированию. Критерий Fβ также позволяет менять вес между полнотой и точностью, чтобы пользователь мог предпочесть более широкий охват или меньшее число более точных комментариев. До запуска старшие инженеры, не участвовавшие в создании данных, повторно разметили все результаты, и доля согласия с суждениями ReviewBench составила 96,6%. GitHub заявляет, что фиксирует версии данных, оценщика и инструмента сопоставления, использованных в каждом процессе оценки.
Что подтверждается на практике?
GitHub использовала ReviewBench для оценки последовательных версий Copilot Code Review и заявила, что направление улучшения или ухудшения в офлайн-тестах совпало с производственными экспериментами. В эксперименте с системой проверки, объединяющей несколько запусков разных моделей, бенчмарк предсказал рост точности, полноты и количества комментариев, а также снижение стоимости проверки. Производственный A/B-тест показал то же направление: доля комментариев, приведших к изменению кода, выросла на 8,0%, полнота — на 13,6%, объём комментариев — на 61%, тогда как стоимость одной проверки снизилась на 8,0% по сравнению с контрольной группой. Бенчмарк также предсказал увеличение числа критических комментариев на 227%, тогда как в производственной среде оно составило 262%.
Редакционное прочтение certi.news: главная ценность ReviewBench заключается не в запуске нового инструмента, а в попытке превратить оценку агентов проверки кода в сопоставимый и проверяемый процесс, признавая, что «больше комментариев» не обязательно означает лучшую проверку. Однако сам источник признаёт, что производственные эксперименты остаются окончательной мерой пользовательского эффекта, а зависимость части оценки от языкового оценщика оставляет открытым вопрос о пределах согласованности автоматизированного суждения.
GitHub предоставляет предварительную исследовательскую версию бенчмарка с данными, методологией, настройками оценщика и инструментом для самостоятельного запуска. Агентов можно протестировать на наборе из 25 запросов на слияние, а затем провести полную оценку на 219 запросах в течение трёх раундов, прежде чем запросить публикацию результата в таблице лидеров.