Бенчмарк · agentic
SWE-bench Pro
Более сложная и устойчивая к загрязнению данных версия 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 для нескольких сумм и соотношений.| Дата | Модель | Результат | Источник |
|---|---|---|---|
| 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 с улучшенными возможностями программирования, работы с длинным контекстом и рассуждений |