Battle test на русском и английском: цена, качество и артефакты — открытый лидерборд
127 баллов из 100. Не опечатка.
Qwen выступал судьёй в тесте LLM-моделей. Оценивал чужие выводы объективно — плюс-минус. Но когда дело дошло до оценки своей же модели, выставил 127 баллов. При слепой оценке, без указания имён, результат всё равно оказался раздут.
Позже мы нашли исследование, объясняющее механизм: модели предпочитают текст с низкой perplexity — то есть похожий на свой собственный. Узнают «свой почерк», даже если не знают автора. Но тогда мы просто смотрели на цифру 127 и думали: какого хрена…
Это был момент, когда стало ясно — стандартные подходы к оценке LLM не работают. Раньше мы поняли другое: публичные бенчмарки не отвечают на главный вопрос. Не «какая модель умнее», а какую модель поставить в production, чтобы она генерировала контент для клиентов и не съела весь бюджет.
Мы генерируем образовательные уроки для клиента. Сотни тысяч API-вызовов. Каждый лишний цент — это тысячи долларов в месяц. Но нельзя брать самую дешёвую модель: контент должен быть качественным. Формула SPIN, расшифрованная неправильно, или вымышленный кейс — и урок идёт в мусор вместе с доверием клиента. Выбор модели — это trade-off между «не разориться» и «не опозориться».
Почему MMLU и HumanEval бесполезны, когда нужен контент
Все знают, какая модель лучше кодит. Есть LMSYS Chatbot Arena, HumanEval, Aider Polyglot. Для разговорных способностей — EQ-Bench. Для кода — решено. Для «общего интеллекта» — тоже неплохо. Но когда LLM генерирует не код и не чат-ответы, а уроки, отчёты, коммерческие предложения — начинается terra incognita.
Ни один публичный бенчмарк не скажет, какая модель напишет лучший урок по B2B-продажам на русском. Какая не вставит китайские иероглифы посреди абзаца. И за какую цену.
Три конкретные проблемы:
- Абстрактные задачи. MMLU тестирует знание фактов. HumanEval — генерацию кода. GSM8K — арифметику. Никто не тестирует: «напиши урок на 3000 слов с введением, четырьмя секциями, упражнениями, Mermaid-диаграммами и LaTeX-формулами». А это то, что нужно в production.
- 95% бенчмарков — на английском. Модель может идеально писать на английском и вставлять «静态的 бухгалтерский учет» в русский текст. Мы обнаружили это у 7 из 18 моделей. Ни один бенчмарк не ловит такие ошибки — они не тестируют на русском.
- Цены нет в уравнении. GPT-5.4 лидирует на всех бенчмарках. Но стоит $0.10 за вызов. При 10 000 уроках в месяц — $1000. Qwen3 235B набирает на 9% меньше баллов, но стоит $0.0008 за вызов. Те же 10 000 уроков — $8. Разница — $992 в месяц. Ни один бенчмарк не покажет эту математику.
С кодом эту проблему уже документировали. Команда Cursor опубликовала CursorBench — внутренний бенчмарк. Оказалось, что результаты на реальных задачах сильно расходятся с публичными лидербордами. OpenAI подтвердили: около 60% задач SWE-bench содержали дефектные тесты, а топ-модели просто зазубрили правильные патчи. Бенчмарк измерял не качество, а способность к запоминанию.
С контентом — та же проблема. Только её никто не измерял. Пока мы не попробовали.
Battle Test: как это устроено
Мы не изобретали «революционную методологию». Мы решали свою задачу — выбрать модель для генерации уроков — и получили инструмент, который можно адаптировать под любые сценарии. Текущая версия теста — 4.2. Первые три были хуже. Четвёртая — терпима. Это итеративный процесс, не откровение.
Почему именно уроки? Образовательный контент — идеальный стресс-тест. Урок имеет жёсткую структуру: введение, разделы, итоги, упражнения — легко проверить, всё ли на месте. Нельзя отделаться общими фразами — нужны формулы, кейсы, конкретные числа. Формулы вроде EOQ или SPIN либо правильные, либо нет — галлюцинации видны сразу. И 3000 слов — модель не может спрятаться за короткими ответами.
Если модель проходит этот тест, она потянет и коммерческие предложения, и аналитические записки, и отчёты.
Каждой модели отправляем XML-структурированный промпт (~1000 токенов) с инструкцией: написать полный урок. Temperature 0.65, max_tokens 16384. Пять разных бизнес-тем из разных доменов:
- B2B-продажи: SPIN, Challenger, MEDDIC
- Commercial
- Финансовое планирование и cash flow
- Управление рисками в цепочках поставок
- Operations
- Стратегическое ценообразование
- Commercial
- Управление талантами и удержание
Пять тем, а не одна — потому что одна точка данных ничего не значит. Это как оценивать футболиста по одному удару. Одна модель может блестяще написать про продажи и провалить финансы. Пять тем дают стабильную картину.
После генерации — автоматические проверки: CJK-символы в русском тексте, заголовки, скопированные из промпта (prompt plagiarism), теги , фразы «As an AI…», битый Mermaid-синтаксис. Всё это ловится за секунды.
Что не ловится автоматикой — англицизмы. Китайский иероглиф — однозначный артефакт, регулярка справится. Но «performance management» в тексте про HR — это норма или модель не смогла перевести? А «cash flow» в тексте про финансы? Мы до сих пор спорим, где провести границу. Пока решаем вручную. Честная нерешённая проблема.
Финальная оценка — Claude Opus 4.6 в режиме максимального reasoning. Единственный судья. Почему — объясняется ниже.
Критерии оценки:
- Семантическое качество — 35 баллов
- Практическая ценность — 25
- Соответствие заданию — 15
- Отсутствие галлюцинаций — 10
- Структура и навигация — 10
- Визуализация — 5
Плюс бонусы за уникальные инсайты и штрафы за артефакты.
И отдельно — Value Score. Формула, учитывающая и качество, и цену:
Логарифм здесь не для красоты. С линейной шкалой GPT-5.4 (0.016) и Qwen3 235B ($0.0008) получали почти одинаковый cost_norm (~0), потому что обе «бесконечно дороже» Qwen. Разница в 6 раз исчезала. Логарифмическая шкала даёт GLM-5 справедливые 0.46 против 0.13 у GPT-5.4. Середина перестаёт быть мёртвой зоной, и формула отражает реальность: модель за $0.016 — это не то же самое, что за $0.10.
Один судья лучше трёх
Мы начинали с трёх судей: Claude с двойным весом, DeepSeek как primary, Qwen как secondary. Казалось логичным — коллегиальная оценка. Три мнения лучше одного.
Нет. Три мнения хуже одного, если одно из них систематически врёт.
LLM-судьи раздувают баллы на 15–30 пунктов. Не случайно, не иногда — систематически. Secondary judge (Qwen) оценивал Qwen-модели на 127 из 100 — это не bias, это абсурд. При расхождении больше 15% добавляли tiebreaker (Gemini), что ещё сильнее размывало результат.
Пример: MiMo V2 Flash. В февральском тесте с тремя судьями — 100 баллов. Tier S, лидер! В апрельском тесте с Claude-only — 76 баллов. Разница 24 балла — пропасть между «ставим в production» и «подождём следующую версию».
Есть научная подкладка. Исследование «Play Favorites» (arxiv 2508.06709) измерило self-bias у LLM-судей: GPT-4o завышает оценки своих выводов на ~10%, Claude — на ~25%. Механизм простой: модели предпочитают текст с низкой perplexity, то есть стилистически похожий на их собственные генерации. Узнают «родной почерк» даже в слепом тесте.
Наш вывод: лучше один честный судья с известным bias, чем три, из которых один врёт, а ты не знаешь когда. (Кстати, это напоминает code review: один строгий ревьюер полезнее, чем трое, которые ставят approve не глядя.)
Да, Claude оценивает себя в этом тесте. Мы это не прячем — в таблице стоит звёздочка. Claude Opus 4.6 набрал 96 баллов, Claude Sonnet 4.6 — 95. Возможно, реальные цифры на 5–10% ниже. Мы осознанно приняли этот trade-off: один судья с предсказуемым bias лучше, чем зоопарк с непредсказуемыми. А в production-пайплайне мы не используем Claude для оценки своих же выводов — там другая модель.
18 моделей: кто победил
Полный лидерборд по качеству (Claude Score, 100-балльная шкала):
- Claude Opus 4.6
- Claude Sonnet 4.6
- EN headers
- Qwen3 235B
- MiMo V2 Pro
- MiniMax M2.5
- DeepSeek V3.2
- MiniMax M2.7
- Gemma 4 31B
- MiMo V2 Flash
- GPT-OSS 120B
- MiMo V2 Omni
*self-evaluation bias — Claude оценивает себя
А теперь — Value Score. Формула «цена/качество», ради которой всё затевалось:
- Qwen3 235B
- Gemma 4 31B
- DeepSeek V3.2
- GPT-OSS 120B
- MiniMax M2.5
- Claude Opus 4.6
GPT-5.4 — лидер по качеству. Седьмой по value. Claude Opus — второй по качеству. Восьмой по value. А Qwen3 235B — восьмой по качеству и первый по value. В 130 раз дешевле GPT-5.4 при разнице в 9 баллов.
Оговорка про Qwen3 235B: $0.0008 за вызов — это текущая цена на OpenRouter, и она аномально низкая. Обычно модель стоит дороже. Цены на OpenRouter плавают — провайдеры устраивают промо-периоды. Value Score пересчитается, когда цена вернётся к нормальной. Но даже при цене в 5–10 раз выше она останется в топ-3 по value — качество у неё реальное, это не скидочный артефакт.
Для тех, кто строит production-пайплайны — это не академический интерес. Это разница между $1000 и $8 в месяц за 10 000 генераций.
Отдельно про колонку «Avg слов». Мы просили 3000 слов. GPT-5.4 стабильно выдаёт 3400+ — единственная модель, которая последовательно перевыполняет задание. Kimi K2 обрезает на 1449 словах — у неё жёсткий лимит в 4096 токенов. Gemma 4 при 31B параметрах — 1700 слов, но каждое слово по делу. MiMo V2 Omni выдаёт 1852 слова с пятью CJK-артефактами — коротко и с мусором.
Что мы не ожидали найти
Китайские иероглифы как системная болезнь. 7 из 18 моделей вставляют CJK-символы в русский текст. Не по ошибке — системно, воспроизводимо. MiMo V2 Omni — рекордсмен: «静态的 бухгалтерский учет» появляется во всех пяти уроках. DeepSeek V3.2 — «в内部нем обсуждении». MiniMax M2.7 — «典型ный пример». GLM-5 — «成本低ых» вместо «низкозатратных».
Это не баг. Это системная проблема моделей, обученных на мультиязычных корпусах с преобладанием китайского. Токенизатор «путает» языковые границы. Для англоязычных задач — не проявляется. Для русских — проявляется регулярно. И ни один публичный бенчмарк этого не покажет.
GPT-5.2 копирует промпт. Во всех пяти темах вставляет инструкции из промпта прямо в заголовки: «## Введение — Hook (statistic) + preview (100-150 words)». Это не заголовок — это строка из XML-промпта. Prompt plagiarism. Модель за $0.03 не отличает инструкцию от контента.
Gemma 4 31B удивила всех. 31 миллиард параметров — в разы меньше остальных. Но 82 балла и Tier A. Чистый русский, ни одного артефакта. И единственная модель из 18, которая в уроке по ценообразованию упомянула метод Ван Вестендорпа — психологическую технику определения оптимальной цены. Остальные 17 прошли мимо. При её размере каждый токен несёт больше смысла, чем у моделей в 10 раз крупнее.
MiMo V2 Pro — нестабильна. На одной теме — 95 баллов, Tier S. На другой — 80 баллов и 1529 слов вместо 3000. Разброс 15 баллов — максимальный среди топ-10. Если поставить её в production, в одном уроке из пяти клиент получит сокращённую версию. Battle test из пяти тем ловит такую нестабильность. Тест из одной — нет.
Англицизмы хуже иероглифов. CJK — регулярка, автопроверка, готово. А с английскими вставками сложнее. «Supply chain» — норма. «Key performance indicators» — тоже. А «Let’s consider the following approach» посреди русского абзаца — это артефакт, модель переключилась на английский.
Граница размыта. Автоматическая проверка даёт кучу ложных срабатываний — не отличает IT-термин от сбоя. Пока решаем ручной проверкой с whitelist’ом допустимых английских терминов. Whitelist растёт с каждым тестом. Это открытая задача. Если у кого-то есть идея — пишите.
$95 и зачем мы это делаем
Все тесты — за наш счёт. $95 на API-ключе OpenRouter. Это сожжённые деньги. Не бюджет клиента, не грант. Личные деньги, потраченные на то, чтобы 18 моделей сгенерировали десятки уроков, которые никто не будет читать — только ради сравнения. $95 — это не один прогон. Финальный тест 18 моделей обошёлся в $3. Остальные $92 — десятки итераций: отладка промптов, калибровка судей, эксперименты с тремя судьями (которые выбросили), тестирование старых моделей. Путь к $3 стоил в 30 раз дороже самого теста.
Мы делаем это, потому что сами строим продукт, где LLM генерирует контент для клиентов. Нам нужно знать, какую модель ставить. Публичные бенчмарки этого не говорят — мы проверили.
Результаты мы не прячем. У нас есть интерактивный лидерборд с фильтрами — но ссылку не ставим. Хабр не любит, когда статьи превращаются в воронку на внешний сайт. Кому интересно — ссылка в посте в Telegram. Там же обновления после каждого прогона: новые модели, цены, пересчёт value.
Нас спрашивают: «А зачем вам это?». Затем, что мы сами выбираем модель для production каждый месяц. Рынок LLM меняется быстрее, чем успеваешь обновить конфигурацию. Модель, которая была лидером по value в феврале, может потерять позицию в апреле. Тестирование — не разовый проект, это рутина. И раз уж мы всё равно прогоняем тесты — почему бы не поделиться результатами.
Хотите, чтобы протестировали конкретную модель, которой нет в лидерборде? Пишите @maslennikovig — добавим в следующий прогон.
Как адаптировать под свои задачи
Наш тест заточен под образовательный контент, но подход работает для любой генерации. Замените наши пять бизнес-тем на свои реальные сценарии — то, что модель будет генерировать в production. «Напиши коммерческое предложение на пять страниц для логистической компании» — вот это тест. «Сгенерируй текст» — нет.
Судью берите одного, и не того, кого тестируете. Мы прошли через эксперимент с тремя — не повторяйте. LLM-судьи раздувают баллы для «своих», даже в слепом тесте. Один судья с известным bias — предсказуем. Три с неизвестным — лотерея.
Артефакты проверяйте автоматически. CJK-символы, prompt plagiarism, теги — всё это ловится регуляркой и должно быть в пайплайне до оценки качества. Если модель вставляет иероглифы — не имеет значения, насколько хорош текст вокруг. Клиент видит «典型ный пример» и закрывает страницу.
Стоимость считайте из реальных API-ответов: usage.total_tokens × price_per_token. Прайс-листы — это ценник до скидок и лимитов. Реальный cost-per-call зависит от длины вывода, а она у каждой модели разная. GPT-5.4 генерирует 3400+ слов — дороже не только из-за цены за токен, но и из-за длины. Qwen3 235B — 2400 слов. Экономия и на цене, и на объёме.
Для value score — логарифмическая шкала. Линейная превращает всё, что дороже копейки, в одинаковое «дорого». А если не хотите считать value самостоятельно — используйте нашу формулу. Она в статье, лицензий не требуется.
Вместо морали
Лучший бенчмарк — тот, который тестирует вашу задачу. MMLU не скажет, справится ли модель с уроком по supply chain management на русском. HumanEval не скажет, вставит ли она иероглифы в текст для клиента. LMSYS не скажет, сколько это будет стоить при 10 000 вызовов в месяц.
Мы построили свой тест. Потратили $95, нашли кучу сюрпризов, и теперь знаем, что ставить в production. Если вы строите что-то, где LLM генерирует контент для людей — постройте свой бенчмарк. Это проще, чем кажется: пять реальных задач, один судья, автоматические проверки на артефакты, формула value score. Всё.
А если хотите начать с наших данных — они открыты. Без регистрации, без подписки, без «оставьте email».
Лидерборд и обновления — в канале. Инструменты — на GitHub. Вопросы, предложения по моделям для тестирования, или просто поговорить — @maslennikovig.