Оценка того, может ли ИИ skuteственно «инженерно» разрабатывать программное обеспечение, требует больше, чем простые кодовые головоломки. Традиционные бенчмарки часто полагаются на изолированные функции или задачи в стиле LeetCode, которые не отражают сложность отладки существующих кодовых баз или анализа отчётов о проблемах в нескольких файлах [5].
Чтобы преодолеть этот разрыв, индустрия перешла к бенчмаркам на уровне репозиториев. Эти фреймворки проверяют способность ИИ ориентироваться в полном кодовом базисе, понимать контекст заявленной проблемы и генерировать рабочий патч для её решения [S1, S5].
Как SWE-bench моделирует реальную инженерию
SWE-bench оценивает большие языковые модели (LLM) с использованием реальных программных проблем, собранных из GitHub [1]. Процесс спроектирован как детерминированный и воспроизводимый. Для каждой задачи бенчмарк предоставляет ИИ кодовую базу и конкретное описание проблемы [1].
Для проверки решения фреймворк использует сигнал «Fail-to-Pass» [3]. Система создаёт Docker‑окружение, в котором определённые тесты падают до применения патча, но проходят после слияния предлагаемых ИИ изменений [3]. Это гарантирует, что ИИ действительно решил проблему, а не просто написал код, выглядящий правдоподобно [5].
Хотя исходный SWE-bench был ориентирован на 12 популярных Python‑репозиториев [S3, S4], экосистема расширилась. Недавние версии включают SWE-bench Verified, содержащий 500 задач, подтверждённых как решаемые человеческими инженерами [S1, S2], и SWE-bench Multimodal, который проверяет обобщающую способность ИИ в визуальных программных доменах [S1, S2].
Ловушка запоминания в публичных данных
Несмотря на свою полезность, в бенчмарках, основанных на публичных репозиториях, существует структурная слабость: загрязнение данных [S4, S7]. Поскольку передовые модели обучаются на огромных фрагментах GitHub, существует высокая вероятность, что они уже видели точный баг и соответствующий pull request, который его исправил, на этапе предобучения [7].
Это создаёт риск, когда модель получает высокий балл не потому, что она способна рассуждать над проблемой, а потому, что она вспоминает заученное решение [7]. Другими словами, модель может выполнять распознавание паттернов в знакомой открытой архитектуре, а не выполнять настоящее программное инженерное дело [7].
Real-SWE и тестирование вне распределения
Для борьбы с запоминанием benchmark Real-SWE был запущен в сентябре 2026 года [7]. В отличие от своих предшественников, Real-SWE берёт каждую задачу из приватных кодовых баз компаний, находящихся вне распределения, которые никакая модель не могла встретить во время обучения [7].
Эти задачи отражают реальные среды, в которых компании развертывают агентов, например, платформы fintech для обработки банковских выписок или корпоративные инструменты продаж [7]. Типичная задача может потребовать от агента исправить логику выставления счетов, выводя, как конкретный бизнес обрабатывает налоговые льготы, исключительно на основе предоставленного кода [7].
Этот подход заставляет ИИ выполнять вывод на уровне системы [7]. Ему необходимо понять существующую бизнес‑логику и установить правильные интеграции, не опираясь на ранееseen шаблоны GitHub [7].
Масштабирование до многоязычного корпоративного кода
По мере роста потребности в более широкой оценке фреймворки выходят за пределы Python. SWE-Bench++ — это автоматизированный фреймворк, предназначенный для генерации задач на уровне репозитория в 11 разных языках [4].
В отличие от ручного курирования, SWE-Bench++ использует конвейер программного сбора и синтеза среды для сбора живых pull request‑ов [4]. Это позволяет бенчмарку охватывать как исправления ошибок, так и запросы на новые функции, предоставляя более масштабируемый способ проверки того, как ИИ‑агенты справляются с лингвистическим и структурным разнообразием реальных открытых проектов [4].
Для команд, оценивающих coding agents, тренд очевиден: планка перемещается от «может ли оно написать функцию» к «может ли оно рассуждать о незнакомой системе» [7].
Источники
- Обзор - SWE-bench
- SWE-bench
- GitHub - SWE-bench/SWE-bench: SWE-bench: могут ли языковые модели разрешать …
- Бенчмарк Real-SWE: Coding Agents на реальном корпоративном коде - explainx.ai
- SWE-Bench++: Фреймворк для масштабируемой генерации программного обеспечения …
- SWE-bench: Всесторонний обзор его фундаментов, методологии …
- Awesome LLM SWE Research - GitHub
- Swe-bench: могут ли языковые модели разрешать реальные проблемы GitHub?