SWE-Bench ProMax: бенчмарк рефакторинга кода, где лучшая модель решает лишь 41%

Существующие бенчмарки для оценки ИИ-агентов в программировании быстро насыщаются, а их качество вызывает серьёзные вопросы: недавний аудит показал, что почти 60% нерешённых задач SWE-bench Verified содержат бракованные тесты, либо слишком узкие, которые отбраковывают правильные решения, либо слишком широкие, проверяющие требования, которых нет в условии задачи. Помимо этого выяснилось, что передовые модели способны дословно воспроизводить эталонные патчи из данных, на которых их обучали, то есть фактически "вспоминают" ответ, а не решают задачу заново.
Авторы утверждают, что рефакторинг кода, согласованные изменения сразу в нескольких файлах, которые не должны менять поведение программы, куда более сложная и реалистичная проверка возможностей агента, но такие задачи в существующих бенчмарках представлены слабо. В ответ на это создан SWE-Bench ProMax: экспертно отобранный мультиязычный бенчмарк из 170 задач, взятых из реальных коммитов на семи языках программирования, Python, Java, TypeScript, Go, C, C++ и Rust.
Каждая задача прошла строгий многоэтапный отбор, который напрямую устраняет проблемы, найденные в предыдущих бенчмарках: описания задач переписаны заново, чтобы дать точную и однозначную постановку, а наборы тестов вручную проверены на предмет слишком узких и слишком широких проверок. Задачи с недостаточной сложностью или ограниченные одним файлом отсеяны, в итоге бенчмарк состоит из масштабных задач рефакторинга: в среднем задача требует правки 11,4 файлов и 261,6 строк кода, что заметно больше, чем в существующих бенчмарках.
В экспериментах с передовыми моделями под двумя разными агентными обвязками лучшая из протестированных моделей достигла лишь 41,2% решённых задач. Это подтверждает, что SWE-Bench ProMax представляет собой значимый и пока не покорённый вызов для современных ИИ-агентов в программировании. Датасет опубликован на Hugging Face.
Ключевые факты
- Аудит показал, что почти 60% нерешённых задач SWE-bench Verified содержат бракованные тесты, слишком узкие или слишком широкие, а модели способны дословно воспроизводить эталонные патчи из обучающих данных.
- SWE-Bench ProMax, 170 задач по рефакторингу кода из реальных коммитов на семи языках программирования: Python, Java, TypeScript, Go, C, C++, Rust.
- Каждая задача прошла ручной многоэтапный отбор: описания переписаны заново для точности, тесты вычищены от лишних проверок, слишком простые и однофайловые задачи отсеяны.
- В среднем задача требует правки 11,4 файлов и 261,6 строк кода, заметно больше масштаба существующих бенчмарков.
- При тестировании под двумя агентными обвязками лучшая из моделей решила только 41,2% задач, бенчмарк остаётся непокорённым.
Почему это важно
Популярные бенчмарки для оценки ИИ-агентов в программировании, прежде всего SWE-bench Verified, быстро насыщаются: модели показывают на них всё более высокие результаты, но аудит выявил, что почти 60% нерешённых задач содержат бракованные тесты, а модели могут дословно воспроизводить готовые эталонные патчи из данных, на которых обучались. Это ставит под сомнение, действительно ли высокие результаты отражают реальные способности агентов. SWE-Bench ProMax предлагает более строгую и трудную альтернативу, рефакторинг кода, требующий согласованных изменений сразу во многих файлах без изменения поведения программы.
Кому это важно
В первую очередь тем, кто разрабатывает и оценивает ИИ-агентов для программирования: исследовательским командам, которым нужен незаражённый и не насыщенный бенчмарк, а также разработчикам, выбирающим модель для задач, близких к реальному рефакторингу, работе сразу с множеством файлов в крупной кодовой базе, а не с изолированным багфиксом в одном файле.
Как это применить
Датасет SWE-Bench ProMax опубликован в открытом доступе на Hugging Face и может использоваться как готовый набор для оценки собственных агентов на задачах рефакторинга на семи языках программирования. Эксперименты в статье проводились под двумя разными агентными обвязками (agent scaffolds), что позволяет сравнивать не только модели, но и то, как обвязка вокруг модели влияет на итоговый результат.
Можно ли доверять
Методология описана как многоэтапная и экспертная: описания задач переписаны заново вручную, тесты вручную проверены на предмет избыточных ограничений, слишком простые и однофайловые задачи отфильтрованы. В доступном тексте источника не названы ни авторы и их аффилиации, ни конкретные протестированные модели и агентные обвязки, ни дата публикации аудита SWE-bench Verified, эти детали стоит уточнять по самой статье и репозиторию датасета, а не считать установленными по одному пересказу.
Риски и подводные камни
Бенчмарк относительно небольшой, 170 задач, что ограничивает статистическую точность сравнения моделей между собой. Источник не называет, какие именно модели и агентные обвязки тестировались, поэтому сравнить конкретные системы по числам из текста нельзя, известна только итоговая цифра лучшего результата, 41,2%. Кроме того, бенчмарк построен на рефакторинге как отдельном типе задач, и его результаты не обязательно переносятся на другие виды работы с кодом.