Как читать бенчмарки ИИ для кода и не выбрать победителя на бумаге

Опубликовано 10.09.202613 мин чтенияБазовый
В центре — четкий процент в коробке, вокруг него — вихрь распадающегося кода и схем, слишком сложный для одной цифры.
Что узнаешь
  • Почему голая цифра «решает 76 процентов» без условий почти ничего не значит
  • Что меряют HumanEval и SWE-bench и чем они отличаются от твоей работы
  • Почему одна и та же модель даёт в таблице разный процент
  • Что такое утечка задач в обучение и почему старый набор задач врёт
  • Готовый чек-лист, по которому любую таблицу рейтинга читаешь за минуту
Базовый
2просмотров

Если коротко: цифра «решает 76 процентов задач» сама по себе не говорит почти ничего. Важно, на каком наборе задач её получили, какая модель и какая оболочка-агент считались вместе, свежие задачи или старые и сколько это стоило. Без этих условий процент годится для рекламного баннера, но не для выбора инструмента.

Дальше я разбираю на пальцах, что меряют два главных бенчмарка для кода, где в таблицах прячется подвох и как за минуту проверить любой рейтинг, прежде чем на него опереться. Все цифры ниже я беру из официальных источников и помечаю, что это живые таблицы: завтра числа будут другими.

В Telegram-канале - что нового в вайб-кодинге: инструменты, находки, ошибки. Подпишись.

Что вообще показывает процент в бенчмарке?

Бенчмарк устроен просто. Есть готовый список задач по программированию. Инструменту дают каждую задачу, он присылает код, а система прогоняет автотесты и смотрит, работает решение или нет. Доля пройденных задач и есть тот самый процент в таблице.

Сильная сторона тут в том, что оценка объективная. Тест либо зелёный, либо красный, никто не ставит балл «на глаз». В этом бенчмарки честнее любых обзоров и отзывов.

Слабая сторона ровно в этом же. Набор задач конечный и заранее известен всем, включая тех, кто обучает модели. Условия у каждого замера свои. И задачи в наборе почти наверняка не похожи на то, что делаешь ты. Отсюда все ловушки, которые я разбираю ниже. Процент описывает поведение инструмента на чужом закрытом списке задач, и на твой проект он напрямую не переносится.

Что меряет HumanEval и почему по нему уже нельзя выбирать?

HumanEval придумали в OpenAI и выложили в 2021 году вместе с моделью Codex. Внутри 164 маленькие задачи на Python: модели дают описание функции словами, она пишет тело, а набор автотестов проверяет, правильно ли оно работает.

Тогда это был хороший разделитель. В своей же статье авторы приводят цифру: первый Codex решал 28,8 процента задач с одной попытки, а обычная GPT-3 - ноль.

На HumanEval наша модель решает 28,8 процента задач, тогда как GPT-3 решает 0 процентов, а GPT-J - 11,4 процента.

- OpenAI, статья «Evaluating Large Language Models Trained on Code», https://arxiv.org/abs/2107.03374

С тех пор модели выросли, и сегодня сильные из них закрывают HumanEval почти полностью. Когда все получают под сотню процентов, таблица перестаёт что-либо различать: разница между инструментами тонет. Это называется насыщением бенчмарка, и HumanEval давно в этом состоянии.

Второй изъян серьёзнее. Задачи там крохотные: написать одну функцию по описанию. Твоя реальная работа устроена иначе - это большой проект с историей, где надо разобраться в чужом коде, найти поломку и не сломать соседний код. Между «написать функцию с нуля» и «починить баг в живом проекте» пропасть. Поэтому высокий балл на HumanEval сегодня уже не повод выбирать инструмент, скорее это отметка «базовый уровень освоен».

Что меряет SWE-bench и чем он ближе к реальной работе?

SWE-bench устроен принципиально иначе и потому интереснее. Его собрали из реальных issue и pull request'ов в популярных проектах на GitHub. По данным авторов, это 2294 задачи из 12 крупных репозиториев на Python, а выпустили набор в октябре 2023 года.

Логика проверки честная. Берут момент в проекте, где была настоящая поломка, и набор тестов, которые тогда падали. Инструменту дают текст проблемы, он правит код. Потом запускают те самые тесты: если они позеленели, задача решена делом, а обещаниям на словах тут никто не верит.

Мы собрали 2294 задачи, обходя pull request'ы и issue из 12 популярных репозиториев на Python. Каждая задача основана на pull request'е, который связан с issue и меняет хотя бы один файл, относящийся к тестам.

- SWE-bench, официальный сайт бенчмарка, https://www.swebench.com/original.html

Насколько это тяжелее игрушечных задач, видно по стартовым цифрам. Первый базовый подход набрал по SWE-bench всего 1,96 процента, а первый агент, SWE-agent, - 12,47 процента. То есть даже приблизиться к реальной работе с кодом было трудно, и дальше проценты росли, но стартовали почти с нуля.

Поэтому, когда сегодня видишь в рейтинге ИИ-агентов для программирования большие числа, чаще всего за ними стоит именно SWE-bench или его проверенное подмножество из 500 задач под названием SWE-bench Verified. Это разумный ориентир. Но и у него есть условия, без которых процент врёт, и дальше я про них.

Даже самый честный ориентир из таблицы - это ещё не результат на твоём проекте. Его решает то, как ты работаешь с инструментом, а верхняя строчка рейтинга тут мало что определяет. На практикуме за три вечера я показываю всю связку целиком: ИИ-клон, Второй мозг и контекст-инжиниринг. Чистый контекст двигает твой личный процент успеха куда заметнее, чем выбор модели по таблице.

Практикум по вайб-кодингу
+Твой второй мозг
3 вечера - инструменты, метод, первый проект
Старт 22–24 сентября  ·  2 000 ₽
Записаться →

Почему одна и та же модель показывает разный процент?

Тут прячется самая частая ошибка чтения бенчмарков. Люди читают таблицу как рейтинг моделей: вот эта модель умнее той на два процента. Но на процент влияет сразу три вещи, и модель лишь одна из них.

Первое - сама модель. Второе - оболочка-агент вокруг неё: программа, которая даёт модели ходить по файлам, запускать команды, читать ошибки и переписывать код. Одна и та же модель в умной оболочке и в простой покажет разный результат, потому что оболочка решает, как модель работает с проектом. Третье - уровень размышления, то есть насколько глубоко модель думает над каждым шагом. Чем дольше думает, тем выше обычно процент и выше цена.

Это прямо видно в таблице рейтинга. Возьми SWE-bench Verified: одна и та же Claude 4.5 Opus в одной и той же оболочке mini-SWE-agent стоит по-разному, стоит только сменить уровень размышления.

Что считалиУровень размышленияРезультат
Claude 4.5 Opus + mini-SWE-agentвысокий76,8 процента
Claude 4.5 Opus + mini-SWE-agentсредний74,4 процента

Модель буквально одна, оболочка одна, а строки разные, потому что поменяли один параметр замера.

Отсюда правило. Хороший рейтинг всегда подписывает, какая модель, какая оболочка и на каком уровне размышления считались. Если в таблице только название модели и процент, а оболочка не указана, доверия к ней мало: ты не знаешь, что именно измерили. Подробнее про то, из чего складывается связка «модель плюс оболочка», я разбираю в материале про рейтинг ИИ-агентов для программирования.

Здесь же кроется ответ на вопрос, почему инструмент с топовой цифрой иногда буксует у тебя. Бенчмарк меряет модель внутри чужой отлаженной оболочки на чужих задачах. У тебя другая оболочка, другой проект и другой контекст, который ты даёшь модели. На своём проекте результат решает контекст, а строчка в таблице тут вторична.

Почему задачи «протухают» и что такое утечка в обучение?

Вот подвох, который не виден в самой цифре, но обесценивает её сильнее всего. Модели обучают на гигантском объёме текста и кода, собранного из интернета. А бенчмарки для кода почти все лежат в открытом доступе: задачи, тесты, эталонные решения.

Дальше простая механика. Если задача и её правильное решение попали в обучающие данные, модель могла их запомнить. И на замере она не столько решает задачу, сколько достаёт из памяти знакомый ответ. Выглядит как решение, но это просто память. Такое называют утечкой в обучение или загрязнением данных.

Чем старше и популярнее набор задач, тем выше риск. Тот же HumanEval висит в сети с 2021 года, его сто раз переписали, разобрали и включили в кучу датасетов. Странно ожидать, что современная модель его «не видела». Поэтому свежесть задач - это отдельный признак качества бенчмарка. Хороший набор либо регулярно обновляют, либо держат часть задач закрытыми, чтобы их нельзя было выучить заранее.

Что с этим делать при чтении рейтинга. Смотри на дату задач и на то, обновляется ли набор. Если бенчмарк собран из свежих поломок за последние месяцы, доверия больше. Если это набор пятилетней давности, высокий процент по нему говорит скорее о хорошей памяти модели, чем о её способности решить твою новую задачу. Ровно этот эффект я разбирал на конкретном примере в материале про свежий бенчмарк FrontierCode, где задачи специально брали новые.

Почему разница в пару процентов часто ничего не значит?

Ещё одна вещь, из-за которой первое место в таблице обманывает. Модель не отвечает каждый раз одинаково: на один и тот же запрос она может выдать чуть разный ход мысли. Поэтому если прогнать один инструмент по одному набору задач несколько раз, процент немного скачет от прогона к прогону, и этот скачок называют разбросом.

Практический вывод простой. Когда две строки в рейтинге отличаются на один-два процента, эта разница вполне может оказаться шумом. Гнаться за инструментом, который «на два процента выше», глупо: в следующем прогоне они запросто поменяются местами. Значимой разницу стоит считать, когда она заметная и держится на большом наборе задач, а пара пунктов на это не тянет.

И последнее, что почти всегда важнее самого процента, - цена. Похожий результат может стоить совершенно по-разному. В той же таблице SWE-bench Verified две модели показывают около 75,8 процента, но одна из них обходится примерно в 0,07 доллара за задачу, а другая в 0,36. Разница в пять раз при одинаковом результате. Поэтому строчку рейтинга всегда читай в паре с ценой, потому что отдельно от неё процент мало что значит. Как честно сравнивать инструменты по деньгам, я разобрал в материале про цену одной решённой задачи.

Как читать любую таблицу бенчмарка за минуту?

Сведу всё в короткий чек-лист. Открываешь любую таблицу рейтинга и проходишь по семи пунктам подряд.

  1. Какой набор задач? HumanEval сегодня слаб, SWE-bench ближе к делу. Если набор не назван вообще, дальше можно не читать.
  2. Свежие задачи или старые? Свежий или частично закрытый набор надёжнее старого публичного, который модель могла выучить.
  3. Какая модель считалась? Точное название и версия, без размытого «нейросеть» или названия семейства.
  4. Какая оболочка-агент? Процент приписывают связке «модель плюс оболочка». Если оболочка не указана, ты не знаешь, что измерили.
  5. Какой уровень размышления? Одна модель на разных уровнях даёт разный процент и разную цену.
  6. Сколько стоит задача? Близкий результат может отличаться по деньгам в разы. Читай процент вместе с ценой.
  7. Какой разброс? Разница в один-два пункта между строками часто просто шум.

Восьмой вопрос стоит особняком и относится уже к тебе самому: похожи ли задачи набора на твою работу? Бенчмарк из задач на Python мало что скажет тому, кто собирает сайт или бота на другом наборе инструментов. Даже честная цифра на чужих задачах не гарантирует результата на твоём проекте. Проверить это можно единственным надёжным способом - прогнать пару своих типичных задач через инструмент и посмотреть на итог самому. Как разобраться, рабочий ли код на выходе, если сам не программируешь, я расписал в материале про то, как проверить код от ИИ.

Так на что смотреть в итоге?

Главная мысль всей статьи короткая: место в рейтинге - это повод присмотреться к инструменту, а копать дальше придётся самому. Большая цифра говорит только то, что инструмент неплохо справился с конкретным закрытым списком задач в конкретных условиях. Совпадают ли эти условия с твоими, из процента не видно.

Поэтому читай то, что под строчкой рейтинга: какие задачи, насколько они свежие, какая связка модели и оболочки, какой уровень размышления, сколько это стоит и не тонет ли разница в шуме. Таблице, которая на это не отвечает, место на баннере. Какой инструмент вообще брать под свои задачи, я разбираю в обзоре, чем кодить в 2026 году.

И вот что важнее любого бенчмарка. Даже лучший инструмент из рейтинга буксует на мусорном контексте и хорошо работает на чистом. Твой личный процент успеха собирается из того, чем ты кормишь модель и как ставишь задачу, а строчка в таблице тут второстепенна. Рейтинг помогает отсеять заведомо слабое, но результат делаешь ты.

Источники

Место в рейтинге отсеивает слабое, но результат на твоём проекте держится на методе: ИИ-клон плюс Второй мозг плюс контекст-инжиниринг. Именно эту связку я разбираю за три вечера на практикуме.

Практикум по вайб-кодингу
+Твой второй мозг
3 вечера - инструменты, метод, первый проект
Старт 22–24 сентября  ·  2 000 ₽
Записаться →

Новые материалы - дайджестом, без спама

Гайды выходят регулярно. Подпишись, чтобы не пропускать: пришлю подборку в Telegram или на email. Раз в неделю или каждый день - выбираешь сам.

Была инструкция полезна?
Артемий Миллер
Автор
Артемий Миллер
Предприниматель и вайб-кодер

Артемий Миллер - предприниматель и вайб-кодер. Бывший программист, собирает продукты исключительно вместе с ИИ-агентами, без найма разработчиков.

Связанные инструкции

Какой ИИ-агент дешевле: цена одной решённой задачи в 2026

Тариф за месяц и цена за токен не отвечают на вопрос, какой агент дешевле. Честная мера - цена одной доведённой до конца задачи. Показываю формулу, считаю на реальных тарифах сентября 2026 и объясняю, почему модель с дешёвым ценником часто обходится дороже.

14 мин

Сколько стоит ИИ-агент для бизнеса в 2026: из чего складывается цена

Под «сколько стоит ИИ-агент» прячутся три разных вопроса: подписка на готовый сервис, оплата API по расходу и разработка под ключ. Разбираю цены по каждому пути, где растёт счёт и сколько это в рублях.

15 мин

Как оставить Hermes Agent работать на сервере круглосуточно

Разбираю, как перенести Hermes Agent на сервер и оставить работать круглосуточно: установка без браузера, шлюз как служба systemd, автозапуск после перезагрузки, linger, вариант в Docker и безопасность агента на сервере.

12 мин

Как оплатить ChatGPT из России в 2026: почему карта не проходит

Российская карта на chatgpt.com не проходит, потому что рубля нет среди валют OpenAI, а карты российских банков платёжная система отклоняет. Разбираю, где стоит барьер доступа и где барьер оплаты, что доступно бесплатно, сколько стоят тарифы и какие законные способы оплаты остаются.

12 мин

Связанные термины