Бенчмарки
Бенчмарк — это набор сценариев оценки, автоматически воспроизводимых на pipeline. Это инструмент для объективного измерения качества agent и выявления регрессий до того, как они попадут в продакшен.
Зачем
Agent, который «вроде бы работал», может незаметно деградировать после:
- изменения mission;
- смены модели LLM;
- добавления нового tool.
Без бенчмарка вы обнаружите это в продакшене. С бенчмарком редактор предупредит вас до публикации.
Анатомия сценария
Сценарий содержит:
- Стимул — входные данные, которые получает pipeline (сообщение, полезная нагрузка, смоделированный телефонный звонок).
- Ожидаемую последовательность — реплики диалога, вызванные tools, произведённые выходные данные.
- Проверки — явные утверждения: «agent должен вызвать
crm.search_customer», «ответ должен содержать слово „возврат“», «pipeline должен завершиться менее чем за 3 реплики».
Каталог проверок
| Проверка | Проверяет |
|---|---|
tool_called | Конкретный tool был вызван (опционально с определёнными аргументами) |
tool_not_called | Tool не был вызван (защита от ложных срабатываний) |
output_contains | Вывод agent содержит заданный текст / паттерн |
output_matches_json | Вывод в формате JSON проходит валидацию по заданной схеме |
turn_count_max | Pipeline завершился за ≤ N реплик |
cost_max | Суммарная стоимость ≤ N кредитов |
latency_max | Длительность ≤ N секунд |
branch_taken | Условие направило на правильную ветвь |
Проверки расширяемы: на тарифе Enterprise вы можете добавлять пользовательские проверки через оператор.
Создание бенчмарка
- Конструктор → Бенчмарки → Новый бенчмарк.
- Выберите целевой pipeline.
- Добавьте сценарии. Вы можете:
- Создать вручную (наиболее точный вариант).
- Захватить из истории — преобразовать реальное выполнение в сценарий (с обезличиванием).
Хороший бенчмарк включает разнообразие: штатный случай, граничные случаи, состязательные случаи (попытки манипуляции, неоднозначность, отсутствующие данные).
Запуск бенчмарка
Из интерфейса администрирования:
- Одиночный запуск — немедленные результаты, панель с детализацией по каждому сценарию.
- Запланированный запуск — каждую ночь, при публикации каждой новой версии и т. д.
Отчёт показывает:
- Долю пройденных проверок
- Регрессию относительно предыдущей версии
- Список проваленных сценариев с diff относительно ожидаемого результата
Лучшие практики
- Начинайте с малого — 5 точно нацеленных сценариев ценнее, чем 50 приблизительных.
- Прогоняйте бенчмарк перед каждой публикацией. Редактор может заблокировать публикацию, если бенчмарк даёт регрессию.
- Версионируйте свои missions. Не только pipelines: missions тоже эволюционируют.
- Держите проверки читаемыми. Проверка, для понимания которой нужно 20 строк объяснений, — это проверка, которую нужно разбить.