Amiga
Оглавление курса · урок 21 из 24

Модуль 5 · Оценка и управление · урок 21 из 24

Бенчмарки: что они измеряют на самом деле

Каждый выпуск модели сопровождается таблицей с процентами на SWE-bench и Terminal-Bench. Эти цифры полезны, но отвечают на узкий вопрос, и часто не на тот, который задаёт команда. В этом уроке — как устроены главные бенчмарки для кодинг-агентов, где у них слепые зоны и почему сама OpenAI отказалась от одного из самых цитируемых.

Балл принадлежит связке, а не модели

Первое, что стоит запомнить: бенчмарк оценивает агента целиком, то есть модель плюс harness. Это видно прямо по лидерборду Terminal-Bench: в таблице отдельные колонки для модели и для агента, и одна модель встречается в нескольких строках с разными результатами.

OpenAI показывает тот же эффект на собственном примере в Cookbook: GPT-5-mini набрала 0,64 в простом цикле вызова функций и 0,43 на тех же вопросах внутри Codex. Авторы объясняют разницу в том числе неудачным использованием shell и привычкой заканчивать ход вопросом. Модель та же, обвязка другая — и результат другой. Поэтому фраза «модель X набрала Y%» без указания harness неполна.

SWE-bench: патч против тестов

Задача SWE-bench — это репозиторий и issue с GitHub. Агент должен выдать патч, после чего harness применяет его в Docker-контейнере и запускает тесты проекта. Засчитывается, если проходят тесты, которые до исправления падали (fail-to-pass), и не ломаются те, что проходили (pass-to-pass).

У бенчмарка несколько вариантов: полный набор, Lite, Multimodal, Multilingual и Verified — 500 задач, решаемость которых подтвердили инженеры. Verified создавала OpenAI в 2024 году как исправленную версию исходного набора, и долгое время именно его цифры стояли в анонсах.

Что SWE-bench меряет хорошо: умение найти место в незнакомом коде и написать патч, который проходит существующие тесты. Чего не меряет: работу с вашим стеком и соглашениями, качество кода сверх прохождения тестов, умение задать вопрос, когда постановка неоднозначна.

Почему OpenAI отказалась от SWE-bench Verified

В феврале 2026 OpenAI опубликовала разбор Why we no longer evaluate SWE-bench Verified. Аргументы стоит знать точно.

Насыщение. За полгода лучший результат вырос лишь с 74,9% до 80,9%. Бенчмарк перестал различать модели.

Дефекты задач. OpenAI проверила 138 задач, которые o3 не решал стабильно: 64 прогона на задачу, каждую смотрели не меньше шести инженеров. У 59,4% задач нашлись существенные дефекты:

Тип дефекта Доля проверенных задач
Тесты слишком узкие: отвергают корректное решение, отличающееся от эталона в несущественной детали 35,5%
Тесты слишком широкие: проверяют то, чего в постановке не было 18,8%
Прочее 5,1%

Иначе говоря, на заметной части «нерешённых» задач агент упирается не в сложность, а в оракул.

Контаминация. Все проверенные фронтирные модели — GPT-5.2, Claude Opus 4.5, Gemini 3 Flash — в отдельных задачах воспроизводят эталонный патч или детали постановки дословно. Публичный набор с GitHub неизбежно попадает в обучающие данные.

Вывод OpenAI: перестать публиковать результаты на Verified и перейти на публичный сплит SWE-bench Pro, где контаминации заметно меньше, хотя он тоже не идеален. Отдельно авторы формулируют урок для всех, кто строит evals: тест должен не зависеть от несущественных деталей реализации и при этом не пропускать обходные решения. Это ровно то, о чём шла речь в уроке о своих evals.

SWE-bench Pro

SWE-bench Pro ведёт Scale AI. По описанию на странице лидерборда в нём три части: публичная (731 задача), отложенная (858 задач, закрыта для внутренней оценки) и приватная (276 задач из 18 закрытых кодовых баз стартапов, с отдельным лидербордом). Языки — Python, Go, JavaScript, TypeScript.

Защита от контаминации двойная: публичные и отложенные задачи взяты из репозиториев под строгими copyleft-лицензиями, которые реже попадают в обучающие корпуса, а приватные — из кода, которого нет в открытом доступе. Задачи длиннее, чем в Verified: эталонное решение в среднем затрагивает несколько файлов и больше сотни строк. Критерий тот же — fail-to-pass и pass-to-pass тесты.

Terminal-Bench

Terminal-Bench ведут Stanford, Laude Institute и Harbor; на октябрь 2026 актуальна версия 4.0. Задача здесь шире патча: инструкция на английском, окружение в контейнере, тестовый скрипт, проверяющий итоговое состояние, и эталонное решение. Судя по описанию в репозитории, это сквозные задачи в терминале — от сборки кода до настройки серверов и обучения моделей.

Метрика — доля решённых задач с 95% доверительным интервалом; рядом показаны стоимость и токены. На странице стоит строка-канарейка с просьбой не включать данные бенчмарка в обучающие корпуса — это способ потом обнаружить утечку.

Для агентской работы Terminal-Bench ближе к реальности, чем SWE-bench: агент сам ставит зависимости, запускает процессы, читает вывод. Но окружение всё равно стерильное и одинаковое для всех.

Чего не покажет ни один бенчмарк

  • Ваш стек. OctoberCMS, Twig-шаблоны, ваши плагины и легаси-модули в публичных наборах представлены слабо или никак.
  • Ваш harness. AGENTS.md, docs/, линтеры, навыки и MCP-серверы меняют результат сильнее, чем разница между соседними строками лидерборда.
  • Поддерживаемость. Прошедший тесты патч может размазать логику по слоям и через месяц стоить команде дороже, чем сэкономил.
  • Работу с человеком. Ревьюабельность диффа, качество описания MR, умение остановиться и спросить.
  • Стабильность. Лидерборд обычно показывает долю успеха, а не то, решает ли агент задачу каждый раз (pass^k из прошлого урока).

Отсюда практическое правило: публичный бенчмарк сужает выбор моделей до короткого списка, а решение принимается по вашим evals.

Как читать новость о рекорде

Перед тем как пересылать в чат команды «модель X набрала Y%», проверьте:

  1. Какой набор и сплит. Verified, Pro public, Terminal-Bench какой версии. Цифры разных наборов несравнимы.
  2. Какой harness. Собственный агент вендора, общий открытый или ваш — это разные испытуемые.
  3. Сколько прогонов и какой интервал. Разница в два пункта без интервала может быть шумом.
  4. Контаминация. Публичный ли набор, есть ли отложенная часть, давно ли задачи лежат в открытом доступе.
  5. Насыщение. Если лидеры в пределах нескольких пунктов, бенчмарк уже мало что различает.
  6. Кто публикует. Результат от вендора модели — заявление вендора, а не независимое измерение.

Конкретные цифры лидербордов в этот урок намеренно не вынесены: они меняются быстрее, чем обновляется текст. Смотрите первоисточник в день, когда принимаете решение.

Попробуйте сами

10–15 мин на рабочем месте
  1. Откройте лидерборд Terminal-Bench и найдите модель, которая встречается в нескольких строках с разными агентами. Посмотрите на разброс результатов и доверительные интервалы.
  2. Возьмите последний анонс модели, который обсуждали в команде, и пройдите по шести пунктам чек-листа выше. Запишите, на какие вопросы анонс не отвечает.
  3. Заведите в docs/ пилотного проекта короткий файл «как мы выбираем модель»: бенчмарк — для короткого списка, ваш eval-набор из урока о своих evals — для решения.

Коротко

  • Результат бенчмарка принадлежит связке модель + harness; одна модель в разных агентах набирает разный балл.
  • SWE-bench проверяет патч тестами fail-to-pass и pass-to-pass; Verified — 500 задач, подтверждённых инженерами.
  • OpenAI отказалась от Verified из-за насыщения, дефектов в 59,4% проверенных задач и контаминации; рекомендует SWE-bench Pro.
  • Terminal-Bench оценивает сквозные задачи в терминале с доверительными интервалами и учётом стоимости.
  • Бенчмарк сужает выбор, решение принимают ваши evals на ваших задачах.
Отметка хранится только в вашем браузере
Хотите связаться с владельцем
компании напрямую?
Дмитрий Тарасов
Дмитрий Тарасов
СЕО

НАПИСАТЬ

Написать в MAX