SWE-bench (Software-Engineering Benchmark) — это набор тестов, который проверяет, способна ли ИИ-модель решать реальные задачи программистов, а не просто писать «код по фану».
Что именно делает SWE-bench?
1. Берёт 2 294 настоящих GitHub-issue из 12 популярных Python-проектов (например, `scikit-learn`, `django`, `requests`) .
2. Даёт модели:
- полный исходный код проекта;
- текст баг-репорта или запроса на фичу;
- тест, который падает до исправления.
3. Просит прислать патч, который:
- чинит этот тест;
- не ломает остальные.
4. Проверяет итоговый результат запуском реальных CI-тестов проекта .
Почему это важно
Проблема старых тестов (HumanEval, MBPP) Как решает SWE-bench
Задачи маленькие и «искусственные» Используются
#реальные issue и большие кодовые
#базы
#Проверяется только синтаксис
#Проверяется корректность логики
#через полный набор тестов
#нет контекста: 20 строк кода Нужно читать десятки файлов и понимать
#зависимости
#Один верный ответ Решений может быть много; важно, чтобы проект собирался
Результаты в цифрах
- GPT-4 решает 42 % задач SWE-bench, тогда как у GPT-3.5 было ≈ 12 % .
- Anthropic Claude-3 — порядка 50 % на «облегчённой» версии SWE-bench Lite .
- Человек-джуниор решает ≈ 33 %, мидл — 60–70 %, что даёт ориентир: «насколько ИИ уже годен на роль junior/middle разработчика».
Итог
SWE-bench — это экзамен на зрелость для ИИ-кодеров. Он показывает, способен ли ассистент не просто сгенерировать «красивый» кусок кода, а вписать его в живой проект так, чтобы тесты прошли и баг исчез.