LLM evals на практике: как тестировать AI-функции до пользователей
Первый неловкий провал AI-функции редко выглядит как провал бенчмарка. Это скорее support-бот, который уверенно применил неверную политику возврата, coding assistant, изменивший запрещённый файл, или sales copilot, придумавший деталь клиента из-за пустого поля CRM. Демо работало. Prompt review выглядел нормально. Затем реальный пользователь нашёл кейс, который никто не тестировал.
Для этого и нужны LLM evals: не для гонки за leaderboard, а чтобы превратить ожидания продукта в повторяемые тесты, regression gates и циклы human review.
Почему LLM evals отличаются от обычного QA
Обычное QA проверяет ожидаемый output для известного input. В LLM-продуктах допустимых ответов может быть несколько. Рубрика должна соответствовать риску: фактическая точность, полнота, тон, refusals, выбор инструментов, права доступа, восстановление и умение остановиться. В статье о том, почему AI-агентам важнее надёжность, мы говорим о том же: продукт — это не только ответ модели, но и контроль вокруг него.
Сначала golden dataset, потом prompt tuning
Golden dataset — это набор реалистичных случаев с ожидаемым поведением, заметками для оценки и метаданными. Начните с 50–200 примеров: частые задачи, дорогие ошибки и неудобные edge cases. Для support нужны злые сообщения, разные языки, неполная информация и эскалации. Для developer tool — маленькие баги, неоднозначные refactors, падающие тесты и границы прав.
Сохраняйте тип задачи, риск, необходимые источники, разрешённые действия и причину pass/fail. Практическая статья Hamel Husain про LLM evals полезна тем, что ставит продуктовые примеры и человеческое суждение выше абстрактных benchmark.
Сравнивайте prompts и модели как продуктовые эксперименты
Запускайте один и тот же dataset на production prompt, candidate prompt и candidate model. Смотрите не только средний балл, но и срезы по задаче, языку, риску и сегменту. ChainForge помогает сравнивать prompts и outputs, Vellum предлагает workflows для prompt management, evals и deployment, а DeepEval — open-source framework для тестирования LLM applications.
Для каждого run сохраняйте версию prompt, модель, retrieval, schema инструментов, temperature и system instructions. Это особенно важно для multi-model workflows вроде тех, что описаны в статье про разработку с LLM.
Добавьте regression gates в CI/CD
Перенесите небольшой smoke set в CI/CD: опасные policy answers, сломанный JSON, запрещённые tool calls, серьёзные hallucinations и обязательные эскалации. Любой PR, который меняет prompt, модель, retrieval, schema или routing, должен запускать эти evals. Высокорисковые ошибки блокируют merge, менее критичные изменения дают warning.
Начните с deterministic checks: валидная schema, обязательные citations, запрещённые действия, refusals и простой выбор tool. Затем добавьте rubrics или LLM-as-judge для тона, полезности и полноты. Для агентов используйте паттерны из MCP in production и Operator-style web automation: логируйте tool calls, классифицируйте ошибки, версионируйте schemas и тестируйте failure paths.
Human review превращает ошибки в лучшие тесты
Eval set стареет. Регулярно проверяйте outputs, жалобы, эскалации и near misses. Помечайте типы ошибок: отсутствующий контекст, неправильный tool, неподтверждённое утверждение, плохой тон, небезопасное действие, устаревший источник, over-refusal или under-refusal. Лучшие примеры добавляйте в golden dataset.
PM и доменные эксперты должны участвовать, особенно в рискованных сценариях. Если у вас есть dashboards для agents, связывайте eval failures с операционной картиной; наш agent operations funnel даёт практичную модель.
Когда помогают открытые game-world evals
Большинству команд стоит начать с golden datasets и gates. Открытые среды полезны, когда продукт требует долгого планирования, восстановления и многих tool steps. Factorio Learning Environment использует Factorio как sandbox для агентов, которые планируют, добывают ресурсы, строят и адаптируются. Для FAQ bot это лишнее, но для browser agents, coding agents или operations copilots может быть полезно.
Хорошие LLM evals не делают AI-функцию идеальной. Они показывают trade-offs до того, как их найдут пользователи. Зрелые команды знают, какие ошибки важны, ловят регрессии рано и оставляют человека в loop там, где нужны суждение и ответственность.