Когда выбираешь ИИ‑чат для работы, многие первым делом открывают таблицы бенчмарков: MMLU, GPQA, HumanEval, LMSYS Arena. Цифры полезные. Результаты в них отвечают на вопрос, насколько сильна сама модель этого чата, но ни один из этих тестов не показывает, насколько силен чат в целом, ведь чат — это не просто модель. Чат это гораздо больше — совокупность инструментов, обвязка, поиск в интернете, память и контекст чата, и многое другое, собственно, то самое из‑за чего люди и выбирают тот или иной чат для работы или жизни.
Так вот, практически ни один из бенчмарков выше не отвечает на вопрос, что получит человек в браузере. Получит ли он поиск по свежим источникам? Загрузку PDF и работу с ним, или хотя бы его качественный анализ? Или ответ только по закрытой базе, с цитатой страницы? Или редактирование нативного Word файла, который откроется у юриста? Может быть Excel с живыми формулами, который откроется у финансиста, и будет ли он отредактирован?
Бенчмарк PRACT-120 — как раз про то, как протестировать ИИ‑чат и то, что именно умеет чат, какие у него есть инструменты и насколько хорошо они работают.
Откуда взялся PRACT-120: Product Reliability Assessment of Chat Tools и что это такое
Это воспроизводимый синтетический бенчмарк готовых AI‑чатов: 120 заданий, закрытый корпус, входные документы, протокол запуска и шкала 0–100.
PRACT-120 попал ко мне от разработчиков ИИ‑чата Маракуйя (maracuya.ru — я даю ссылку, потому что было бы свинством получить такой жир и не сослаться на авторов этого бенчмарка).
Этот бенчмарк используется там как внутренний тест, которым они гоняют свой чат как продукт: то, что видит пользователь в браузере, с поиском, файлами и тарифом. Мы общались по другим вопросам, и в диалоге появилась идея, а не поделиться ли этим тестом со всеми желающими.
Так у меня оказался пакет ПРАКТ-120, версия v1.1.0. С позволения команды, я выкладываю его в Github, чтобы каждый желающий мог его попробовать или использовать для тестирования своих моделей или чатов.
Я планирую прогнать по этому тесту Алису и Гигачат, и если у меня получится написать к ним рабочие коннекторы (пока в процессе), я обязательно поделюсь тут полученными результатами.
Что именно входит в PRACT-120, какие тесты
120 заданий. Языки: 80 на русском, 40 на английском. Пять модулей:
|
Модуль |
Код |
Заданий |
Что проверяет |
Ожидаемый выход |
|---|---|---|---|---|
|
Research (web) |
W001–W030 |
30 |
Поиск, первичные источники, отделение нормы от черновика |
текст в чате |
|
RAG |
R001–R030 |
30 |
Ответ только по закрытому корпусу, версии документов, цитаты ID+страница |
текст в чате |
|
Word |
D001–D025 |
25 |
Чтение входного DOCX, сборка рабочего документа |
нативный |
|
Excel |
X001–X025 |
25 |
Живая таблица: формулы, сверка, лист «Анализ» |
нативный |
|
Cross |
C001–C010 |
10 |
Корпус + таблица → управленческий пакет |
|
В комплекте:
-
очный промпт каждой задачи и отдельный kit;
-
25 входных DOCX, 25 входных XLSX, 10 пар для сквозных задач;
-
закрытый синтетический RAG‑корпус: 120 PDF, 5 592 страницы;
-
эталоны на все 120 заданий и ground truth корпуса;
-
протокол запуска, шкала, правила нулей и N/A;
-
инструкции, которые подхватывают Cursor, Claude Code и Codex;
-
CLI
tools/pract.py.
Корпус синтетический: программы Aurora, Borealis, Cobalt, площадки Valencia и Gdansk, документы вида NS-LEG-02-23. Так проще отделить «нашёл в базе» от «вспомнил из интернета».
Пакет делится на два слоя:
-
Runner — задания и входы. Его можно отдавать тестируемому агенту и оператору.
-
Evaluator — gold‑карточки и правила оценки. Его открывают после фиксации сырых ответов.
Если тестируемый агент видит эталоны до ответа, прогон сгорает.
Почему синтетический и обновляемый
Опубликованный статический тест быстро перестаёт быть независимым измерителем. Задания, ответы и характерные ловушки уходят в обсуждения, примеры промптов и со временем — в обучающие данные. Продукт следующего поколения уже «знает» форму экзамена. Для AI‑чатов срок содержательной свежести публичного набора измеряется месяцами.
PRACT рассчитан как серия:
-
собирается новая конструкция сценариев, неизвестная продуктам заранее;
-
прогон закрытый: промпты дословно, эталоны спрятаны до фиксации;
-
методология, состав, протокол и результаты выходят как версия с датой;
-
для следующего рыночного рейтинга — новая редакция или скрытый holdout.
Текущий выпуск v1.1.0 после полного раскрытия становится воспроизводимым архивом. Синтетичность здесь — контролируемая конструкция: проверяемые факты, версии документов, противоречия, дистракторы, формулы, зависимости между листами, критерии приёмки. Плотность работы та же, что в живом проекте.
Как выглядят задания
Оператор и чат видят только runner: prompt.txt, список вложений, корпус. Ниже — дословные промпты из пакета v1.1.0. Ключ оценки в этот момент закрыт; как он устроен — сразу после примеров.
Research: чат должен искать
Входов нет. Веб поиск разрешён. Отказ в команде «приложите файл» там, где этого требует тест — продукт получает 0 баллов, тест сразу не пройдет.
W001, целиком:
Сравните действующие на 1 августа 2026 года правила маркировки ИИ‑контента в ЕС, Китае и США. Отделите обязательные нормы от проектов, приведите первичные источники и таблицу различий. Используйте минимум 8 источников. Для каждого укажите организацию или автора, точное название и дату публикации/обновления; URL и кликабельные ссылки не требуются. Добавьте журнал поисковых запросов.
W010 — перечень действующих ISO по управлению ИИ, данным и ИБ: номер, название, статус, область. W030 — первоисточник широко повторяемой цифры про провал корпоративных GenAI‑пилотов, цепочка цитирования, что данные на самом деле подтверждают.
RAG: чат должен читать свою базу
Корпус загружается целиком, 120 файлов формата PDF, один раз в проект или knowledge base. Резать корпус молча нельзя. Перезапись файлов — провал теста и сразу 0 баллов.
R001, целиком:
По всей базе из 120 документов определите действующий лимит согласования, норматив ответа и владельца для программы Aurora. Сопоставьте действующую и архивную редакции, объясните, почему архивное значение нельзя применять, и процитируйте ID документов и страницы. Отвечайте только по корпусу.
R003: проверить утверждение «официальный риск‑балл программы Aurora равен 45/100»: первичное значение, дистракторы, вердикт, таблица доказательств с ID и страницами.
Ловушки корпуса: старая редакция рядом с новой, похожие имена программ, чужой файл с правдоподобным номером. Если чат цитирует документ из другой линейки — это видно по ключу.
Word: нужен файл, который открывается
D001, целиком. Вложение: D001_source.docx.
Подготовьте окончательный управленческий отчёт для инвестиционного комитета на основе D001_source.docx. Сверьте бюджет, факт и прогноз, устраните двойной учёт 180 000 EUR, объясните причины отклонения и сформулируйте решение о продолжении программы с условиями контроля. Отдельно перечислите допущения и вопросы, которые нельзя закрыть по материалам. Верните нативный DOCX; косметическое переоформление само по себе задачу не решает.
D004 — точный протокол заседания: обсуждение отдельно от решений, голосование, два конфликта интересов, неучастие директоров. Десять заданий начиная с D016: исследование на 40+ содержательных страниц, не меньше 25 проверяемых источников. Markdown в чате вместо .docx — ноль.
Excel: живые формулы
X001, целиком. Вложение: X001_source.xlsx.
Откройте X001_source.xlsx и выполните рабочий сценарий «анализ отклонений бюджета». Сверьте помесячный бюджет, факт и обязательства. Устраните дубли, рассчитайте отклонение и прогноз до конца года по подразделениям, выделите отклонения выше порога с листа «Правила» и определите три главных драйвера перерасхода. Сохраните исходные листы «Исходные», «Правила» и «Контроль» без ручной правки исходных значений; создайте лист «Анализ» с прозрачными формулами и итоговыми выводами. Ячейка B2 на листе «Контроль» должна оставаться формулой проверки. Верните нативный XLSX. Диаграмма не обязательна и не оценивается.
X007 — 13-недельный прогноз денежных средств. Совпадение видимых цифр при мёртвых константах вместо формул клетку не закрывает.
Cross: всё сразу
C001, целиком. Входы: весь RAG‑корпус, C001_data.xlsx, бриф.
Подготовьте для руководства решение по программе Borealis. Используйте весь RAG‑корпус и C001_data.xlsx: найдите действующие лимиты и риски, проверьте расчеты таблицы и создайте итоговый DOCX на 4–6 страниц с резюме, таблицей доказательств, рекомендацией и приложением с вычислениями. Верните также исправленный XLSX. Все факты из корпуса цитируйте по ID и странице.
Что такое gold и как он применяется в тесте
Gold — закрытая карточка эталона на каждую из 120 клеток. Она лежит в evaluator‑архиве. В runner её нет: ни оператор, ни тестируемый чат её не видят, пока сырой результат не зафиксирован.
Gold — набор проверяемых условий. В ключе лежат инварианты: факты, версии документов, числа, формулы, формат файла. Готовое эссе‑образец туда не кладут. Разные корректные формулировки проходят, если эти условия выполнены.
Два разных вида ключа:
-
Рубрика — типична для research. Дата среза, минимум источников, обязательные поля у каждого источника, журнал запросов, предпочтительные типы первоисточников. Сами нормы ЕС/КНР/США эксперт сверяет с открытым правом на дату теста: в gold нет готового реферата закона.
-
Значения — типичны для RAG, Word, Excel, cross. Якорный документ, действующая цифра, владелец, страница цитаты, обязательные листы, живые формулы, контрольные суммы входа, открываемость DOCX/XLSX.
Схема карточки RAG (поля настоящие, числа из ключа здесь не раскрываю):
{
"task_id": "R001",
"anchor_document": "NS-…",
"active_approval_limit_eur": "<из действующей редакции>",
"response_hours": "<норматив ответа>",
"owner": "<ФИО из корпуса>",
"required_citations": true,
"external_knowledge_forbidden": true
}
У W001 ключ другого рода: min_sources: 8, обязательные организация/название/дата у источника, must_include_query_log: true, судья — экспертный аудит источников. У X001 — список листов, Контроль!B2 как живая формула, минимум формул в книге, сохранность листа «Исходные». У D001 — нативный DOCX, содержательные инварианты из входного отчёта, оформление в шкалу не входит.
Оценка одной клетки выглядит так:
-
Чат получает только промпт и входы. Gold закрыт.
-
Оператор сохраняет сырой диалог, все файлы,
run.json, SHA-256 промпта, входов и выходов. Руками артефакты не правят. -
Сначала проверяют контракт формата. Нет обязательного DOCX/XLSX, файл не открывается, вместо книги — Markdown в чате: это уже ноль, gold по смыслу можно не открывать.
-
Для зафиксированной попытки открывают gold только этой клетки.
-
Эксперт сверяет ответ с условиями ключа и ставит пять компонентов (правильность, полнота, инструкция, доказательность, пригодность). Потом — жёсткое правило или потолок: выдумка, меняющая решение, режет балл до 49.
-
У карточки есть
gold_sha256иgold_revision. Так видно, какой редакцией ключа судили прогон.
Пока 120 клеток не зафиксированы, evaluator‑архив держать закрытым. Иначе чат (или агент, который ведёт прогон) подглядывает ответ. После раскрытия выпуска gold остаётся в судейском пакете: воспроизвести оценку можно, честный новый прогон на той же серии — уже с поправкой на утечку.
Методология подсчета баллов
Пять компонентов, сумма 100:
|
Компонент |
Максимум |
|---|---|
|
Правильность |
40 |
|
Полнота |
25 |
|
Соблюдение инструкции |
15 |
|
Доказательность |
10 |
|
Практическая пригодность |
10 |
Сначала эксперт ставит пять чисел — raw_score. Потом срабатывают жёсткие правила и потолки.
Жёсткие нули:
-
обязательного файла нет;
-
вместо формата — текст, Markdown или «не тот» тип;
-
файл поддельный, битый, не открывается, расширение врёт про содержимое;
-
доступный продукт отказался или ответил мимо.
Потолки:
-
один из двух обязательных файлов — не выше 74;
-
критическая смысловая выдумка, которая меняет решение, — не выше 49.
Ноль здесь — фиксация для покупателя: оплаченный чат работу не закончил. Совет «сделайте таблицу сами» стоит рядом с готовой книгой XLSX как два разных исхода, и в клетке засчитывается только второй.
Обоснованный отказ — отдельная история. Если во входах после полного чтения нет сущностей, без которых честный документ не собрать, продукт должен прямо сказать, чего не хватает, и не сочинять цифры. Такой отказ оценивают по пяти компонентам. Общий «не могу» без разбора входа остаётся нулём.
Вид работы закрывается после трёх последовательных провалов по одной устройственной причине и при нуле успехов этого вида. Причина, три задания и дословные цитаты фиксируются. Остальные клетки вида получают ноль: это доказанная неспособность продукта.
Две итоговые метрики, обе обязательны:
-
Результат продукта — среднее по всем числовым клеткам, включая доказанные нули. Это то, что получит пользователь.
-
Диагностика — среднее только там, где
final_score > 0. Показывает качество удавшихся попыток. В рейтинг продукта идёт первая цифра: среднее по всем клеткам, включая нули.
Если среднее считать только там, где чат согласился работать, продукт с самым узким набором инструментов получает фору: Word и Excel исчезают из знаменателя. Диагностика это показывает. Рейтинг подписки строится по полному набору клеток.
Для обеих метрик публикуют N, долю нулей, долю клеток ≥75 и распределение по диапазонам. Медиану PRACT не использует: она прячет поля нулей.
N/A — только объективная внешняя причина: продукт законно не запущен, вход пустой по вине пакета, среда недоступна. Устойчивый отказ тарифа, HTTP 500 чата, пустой completion — это нули продукта, не «инфра».
Где взять PRACT
С разрешения разработчиков, я выложил PRACT в свой Github. Пакет PRACT-120 v1.1.0: https://github.com/clnt2021/pract-120-benchmark
В репозитории два архива:
-
PRACT-120-RUNNER— задания, входы, корпус, протокол; -
PRACT-120-EVALUATOR— эталоны. Открывать после сырых результатов.
Публично из этого выпуска можно раскрывать замысел, модули, протокол, примеры и результаты редакции. Эталоны остаются в судейском пакете и тестируемому чату не передаются.
PRACT-120 Алисы, Гигачата и Маракуйи ИИ
Как я писал ранее, пока я только сетаплю этот бенчмарк и тестирую его работоспособность в своем окружении, и постараюсь на следующей неделе поделиться результатами прогона через него Алисы, Гигачата (буду прогонят Max и Ultra модели от Сбера) и Мурукуйи.
Результатами поделюсь — ставьте классы и подписывайтесь на мой канал (шутка, его нет), чтобы не пропустить результаты моего исследования!
Еще раз поделюсь ссылкой на авторов бенчмарка — maracuya.ru, и выражаю им публичную благодарность за предоставленный пакет!
Автор: Hau515


