Бенчмарк — это набор сценариев оценки, автоматически воспроизводимых на pipeline. Это инструмент для объективного измерения качества агента и выявления регрессий до того, как они попадут в продакшен.
Зачем
Агент, который «вроде бы работал», может незаметно деградировать после:
- изменения миссии;
- смены модели LLM;
- добавления нового tool.
Без бенчмарка вы обнаружите это в продакшене. С бенчмарком вы увидите это при следующем запуске — раньше ваших пользователей.
Анатомия сценария
Сценарий содержит:
- Стимул — входные данные, которые получает pipeline (сообщение или последовательность реплик, фикстуры данных).
- Проверки — явные утверждения, оцениваемые на каждой реплике: произведённый вывод, форма ответа, цепочка вызовов tools, стоимость действий.
Каталог проверок
| Проверка | Проверяет |
|---|---|
pipeline_output_match | Ключ выходного потока соответствует ожидаемому значению (путь + утверждение) |
response_shape | Форму ответа агента (длина, структура), измеряемую без судьи |
llm_rubric | Содержание ответа, оцениваемое LLM-судьёй по рубрике проверяемых критериев |
tool_chain_analysis | Последовательность вызовов tools следует ожидаемой стратегии |
tool_cost | Бюджет действий: каждый вызов имеет стоимость, достижение цели приносит бонус |
static / tests / diff_quality | Проверки, ориентированные на файлы и код (вывод pipeline разработки) |
Каталог расширяем на стороне платформы: каждая проверка — это плагин, зарегистрированный на стороне сервера.
Создание бенчмарка
- Приложения → Оценка → Сценарии.
- Создайте сценарии (стимул, проверки, фикстуры данных); каждый сценарий привязан к одной модели (целевому pipeline). Фикстуры управляются во вкладке Фиксчеры.
Сценарий также можно создать или изменить через предложение с MCP-сервера (benchmark_create / benchmark_update); оно остаётся в ожидании до принятия.
Хороший бенчмарк включает разнообразие: штатный случай, граничные случаи, состязательные случаи (попытки манипуляции, неоднозначность, отсутствующие данные).
Запуск бенчмарка
Из панели администрирования запустите прогон: он помещается в надёжную очередь, а затем выполняется выделенным worker, вне веб-сервера. Если этот worker останавливается посреди прогона, прогон помечается как неудачный при перезапуске (он не возобновляется автоматически): запустите его заново. Панель показывает детализацию по каждому сценарию.
Отчёт показывает:
- Долю успешных результатов по каждой проверке
- Динамику оценок между прогонами (вкладки История и Динамика)
- Список проваленных сценариев с детализацией по каждой проверке
Лучшие практики
- Начинайте с малого — 5 точно нацеленных сценариев ценнее, чем 50 приблизительных.
- Прогоняйте бенчмарк перед каждой публикацией и сравнивайте с предыдущим прогоном перед выкладкой.
- Версионируйте свои миссии. Не только pipelines: миссии тоже эволюционируют.
- Держите проверки читаемыми. Проверка, для понимания которой нужно 20 строк объяснений, — это проверка, которую нужно разбить.