Бенчмарк · agentic

SWE-bench Pro

7 результатов 5 моделей

Более сложная и устойчивая к загрязнению данных версия SWE-bench от Scale AI. Она берёт ~1,865 реальных задач (issue) с GitHub из отложенных корпоративных, стартап- и open-source-репозиториев, на которых модели не обучались, и исправления обычно затрагивают сразу несколько файлов.

Подробнее
Пример
Получив реальную задачу (issue) и весь репозиторий целиком, агент должен создать патч — часто затрагивающий несколько файлов — так, чтобы скрытый набор тестов проекта прошёл успешно. Задачи берутся из приватных и коммерческих репозиториев специально для того, чтобы избежать утечки обучающих данных.
Метрика
Доля решённых задач в %, представленная как pass@1 (одна попытка). Чем выше, тем лучше. Значения ниже, чем на SWE-bench Verified, потому что задачи сложнее и ранее не встречались.
Приёмка
Полностью автоматическая проверка на отложенных данных: сгенерированный патч применяется, и настоящие скрытые модульные тесты репозитория запускаются в песочнице. Задача засчитывается только в том случае, если проходят все целевые тесты и ничто другое не ломается.
Почему важно
Создан, чтобы противостоять загрязнению данных и насыщению, которые завышают результаты на SWE-bench Verified, поэтому он служит более чистым сигналом реального, обобщающегося навыка кодинг-агента на коде, который модель никогда не видела.
Разбор примера
Задача
Репозиторий acme/payments на фиксированном базовом коммите. Issue: Money('0.05').allocate([1, 1, 1]) теряет цент — три части в сумме дают $0.04, а не $0.05. Создайте патч так, чтобы распределение всегда суммировалось обратно в исходную сумму.
Решение
--- a/payments/money.py
+++ b/payments/money.py
@@ def allocate(self, ratios):
-        total = sum(ratios)
-        return [self._from_minor(self.minor * r // total) for r in ratios]
+        total = sum(ratios)
+        shares = [self.minor * r // total for r in ratios]
+        remainder = self.minor - sum(shares)
+        for i in range(remainder):
+            shares[i] += 1
+        return [self._from_minor(s) for s in shares]
Разбор
Целочисленное деление отбрасывает дробную часть, поэтому остаток младших единиц (центов) незаметно терялся. Исправление вычисляет каждую долю, а затем распределяет остаток по одной единице за раз между первыми частями, гарантируя, что распределённые части всегда в сумме дают целое. Скрытые тесты проверяют sum(m.allocate(ratios)) == m для нескольких сумм и соотношений.
0 21.5 43 64.5 86 2025-12-11 2026-03-25 2026-07-08 GPT-5.2 Thinking · 55.6 · 2025-12-11 GPT-5.2 Thinking · 55.6 · 2025-12-11 Claude Opus 4.7 · 64.3 · 2026-04-23 GPT-5.5 · 58.6 · 2026-04-23 GPT-5.5 · 58.6 · 2026-04-23 Qwable-v1 · 80.3 · 2026-06-16 Grok 4.5 · 64.7 · 2026-07-08
GPT-5.2 Thinking Claude Opus 4.7 GPT-5.5 Qwable-v1 Grok 4.5
Хронология
Дата Модель Результат Источник
2026-07-08 Grok 4.5 64.7% xAI выпустила Grok 4.5 с низкой стоимостью и смешанными результатами бенчмарков
2026-06-16 Qwable-v1 80.3% Выпущен Qwable-v1 как дистиллят Claude Fable-5
2026-04-23 Claude Opus 4.7 64.3% OpenAI выпустила GPT-5.5 с агентными возможностями и удвоенной ценой API
2026-04-23 GPT-5.5 58.6% OpenAI выпустила GPT-5.5 и GPT-5.5 Pro через API
2026-04-23 GPT-5.5 58.6% OpenAI выпустила GPT-5.5 с агентными возможностями и удвоенной ценой API
2025-12-11 GPT-5.2 Thinking 55.6% OpenAI выпустила GPT-5.2, превосходящую Gemini 3 в тестах по программированию и рассуждению
2025-12-11 GPT-5.2 Thinking 55.6% OpenAI представляет GPT-5.2 с улучшенными возможностями программирования, работы с длинным контекстом и рассуждений