Как оценивать качество RAG-системы
Как оценивали качество: насколько хорошо получается вести диалог, отвечать на вопрос или искать нужные документы?
Короткий ответ
Нужно оценивать отдельно retrieval и generation: recall@k/MRR/nDCG для поиска, faithfulness/groundedness/context precision для ответа, плюс ручная разметка, regression set и online метрики.
Полный разбор
Для retrieval нужны вопросы с релевантными документами или чанками. Метрики: recall@k, precision@k, MRR, nDCG, hit rate, coverage. Это показывает, принесла ли система правильный контекст.
Для generation нужны другие проверки: отвечает ли модель на вопрос, основан ли ответ на контексте, нет ли hallucination, корректны ли цитаты, насколько ответ полезен пользователю. Можно использовать ручную разметку, LLM-as-judge и инструменты вроде RAGAS, но важно валидировать judge на человеческой выборке.
В production добавляются latency, cost, fallback rate, доля "не знаю", пользовательский feedback, частота escalations и monitoring drift по типам вопросов.
Теория
RAG нельзя оценивать одной метрикой, потому что ошибка может быть в retriever, reranker, prompt/context assembly или генераторе. Поэтому evaluation pipeline должен локализовать источник деградации.
Типичные ошибки
- Оценивать только финальный текст ответа и не смотреть retrieval.
- Слепо доверять LLM-as-judge без sanity check.
- Не иметь fixed regression set для релизов.
Как отвечать на собеседовании
- Раздели метрики на retrieval, generation и product/production.
- Отдельно скажи про golden set и ручную проверку спорных кейсов.