RAG eval в 2026 полезно строить не вокруг абстрактного вопроса “хорошо ли отвечает бот”, а вокруг двух отдельных систем: retrieval layer и answer layer. Если вы не разделяете эти два слоя, то не понимаете, сломался ли поиск, контекстная сборка или сама генерация.
Current guidance OpenAI про evals хорошо ложится на RAG: нужны task-specific datasets, отдельные scorer-ы, baseline, human calibration и постоянное пополнение набора production failures. Для RAG это особенно важно, потому что здесь одна ошибка retrieval уже может испортить даже сильную модель.
OpenAI current guidance по evals подходит здесь почти дословно: сначала нужно определить objective, потом собрать dataset, затем выбрать scorer-ы и только потом сравнивать версии.
Для RAG это обычно выглядит так:
не найдено;Хороший dataset почти всегда включает:
happy path;hard retrieval;multi-hop / multi-doc;insufficient context;stale / conflicting context;policy-sensitive;known regressions.Вот самая полезная mental model:
RAG quality
= retrieval quality
+ context assembly quality
+ answer quality
Если retrieval плохой, answer layer часто не спасти. Но и хороший retrieval не гарантирует хороший answer: модель всё ещё может неправильно синтезировать найденное.
Тут обычно проверяют:
Тут проверяют:
Показывает, найден ли вообще нужный контекст. Если recall низкий, проблема часто в:
Показывает, сколько мусора вы даёте модели. Для production это часто недооценённая метрика: слишком noisy top-k легко ломает grounded answer.
Проверяет, что ответ подтверждается retrieved context, а не “додуман” моделью.
Если продукт показывает источники, надо отдельно мерить:
Очень важная RAG-метрика, которой часто нет в старых статьях: умеет ли система корректно отказаться отвечать, если контекст не найден или недостаточен.
Это особенно критично для support, legal, finance и healthcare flows.
RAG в 2026 почти никогда не оценивают только офлайн.
Подходит для:
Подходит для:
Обе части нужны. Offline помогает не ломать систему до релиза. Online показывает, что происходит на реальном трафике.
RAGAS остаётся хорошим practical default, если вам нужно быстро мерить:
Сильная сторона RAGAS: он очень хорошо ложится именно на retrieval-aware eval loop.
DeepEval удобен, когда команда мыслит как инженеры тестов:
Это хороший вариант, если вам нужен eval как часть обычного test pipeline.
LangSmith полезен там, где важно не только “посчитать метрику”, но и:
Для evolving RAG-систем это часто более зрелая operational позиция, чем “запустили один ноутбук с метриками”.
Judge-модель полезна для:
Но judge нельзя превращать в абсолютную истину.
Практические правила:
Если ваш RAG уже не 2-step, а agentic, то обычного final answer eval недостаточно.
Нужно отдельно смотреть:
Здесь полезны trace grading и trace-linked platforms, потому что проблема может быть не в финальном answer, а в trajectory.
Хороший RAG gate обычно не опирается на один aggregate score.
Пример:
retrieval_recall >= 0.85groundedness >= baseline - 0.03critical_policy_failures = 0no_answer_correctness >= 0.95latency_p95 и cost_per_answer в допустимом диапазонеТакой gate лучше отражает реальность, чем “общий score 4.2/5”.