Бенчмарк · agentic

SWE-Lancer

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

SWE-Lancer — это бенчмарк из 1488 реальных фриланс-задач по разработке ПО с Upwork на общую сумму 1 млн долларов США реальных выплат; он измеряет, сколько из этих денег модель может «заработать», полностью решив задачи, и оценивается как суммарный заработок в USD (и доля решённых задач).

Подробнее
Пример
Задача на исправление бага во фриланс-стиле: по реальному issue (в стиле GitHub) и полному репозиторию приложения модель должна выдать patch, который снова заставляет сломанный пользовательский сценарий работать (например, экран деления счёта или оплаты), — проверяется end-to-end-тестами. Второй трек — управленческие задачи: выбрать лучшее инженерное предложение из нескольких.
Метрика
У каждой задачи есть реальная цена в USD, за которую она была оплачена на Upwork (примерно от 50 до 32 000 долларов). Модель получает полную цену задачи только если её решение проходит проверку — частичного зачёта в пределах задачи нет. Главная метрика — общий заработок в долларах из пула в 1 млн, вместе с долей решённых задач; два трека (IC-кодинг и управление) также приводятся отдельно.
Приёмка
Кодинг-задачи (IC) оцениваются end-to-end-тестами (Playwright), которые имитируют реальные действия пользователя, написаны и проверены профессиональными инженерами и запускаются в изолированной среде Docker; patch модели должен пройти все тесты задачи, при этом модель не видит и не может их редактировать. Управленческие задачи засчитываются, когда модель выбирает то же предложение, которое в реальности выбрал нанимавший менеджер.
Почему важно
Он связывает результаты модели с экономически реальной, оценённой рынком работой в настоящей продакшн-кодовой базе, а не с синтетическими или самопроверяемыми задачами. Поскольку оценка использует полные end-to-end пользовательские сценарии (а не изолированные правки функций) плюс трек управленческих решений, он проверяет, способны ли передовые модели выполнять полноценную, ценную инженерную работу, за которую люди реально платят фрилансерам.
Разбор примера
Задача
Задача IC SWE (иллюстративная, ~250 $): экран «Split Bill» в приложении показывает итог NaN, если участника удаляют до ввода суммы. Работая в контейнере Docker с полным репозиторием, исправьте баг так, чтобы отображаемый итог откатывался к $0.00; скрытый end-to-end-тест воспроизводит этот пользовательский сценарий.
Решение
```diff
 function getSplitTotal(amounts) {
-  return amounts.reduce((sum, a) => sum + a.value, 0);
+  return amounts.reduce((sum, a) => sum + (Number(a?.value) || 0), 0);
 }
```
Разбор
Удаление участника оставляет запись, у которой value равно undefined, поэтому a.value превращает текущую сумму в NaN; приведение каждого значения через Number(...) || 0 пропускает отсутствующую сумму, и итог отображается как $0.00. Оценка бинарна — patch получает полную цену задачи в USD только если проходит все end-to-end-тесты этой задачи, запущенные на реальном пользовательском сценарии.
0 9 18 27 36 2025-03-05 GPT-4.5 · 32.6 · 2025-03-05
GPT-4.5
Хронология
Дата Модель Результат Источник
2025-03-05 GPT-4.5 32.6% OpenAI выпустила GPT-4.5, свою самую большую модель, для ChatGPT Plus