3,583 papers
arXiv:2511.04502 72 6 нояб. 2025 г. FREE

Метрики для проверки качества RAG-ответов: как оценить правильность, полноту и обоснованность

КЛЮЧЕВАЯ СУТЬ
RAG ответил правильно, но другими словами — классические метрики (BLEU, ROUGE) занижают оценку. Написал бред с ключевыми словами — оценка завышается. RAGalyst решает проблему оценки качества RAG-ответов через три LLM-метрики: правильность по смыслу, достаточность контекста, обоснованность. Вместо подсчёта совпадающих слов модель оценивает семантику — понимает что "CAGR 15-18%" и "растёт на 15-18% в год" это одно и то же. Корреляция с человеческими оценками 0.89 — LLM оценивает почти как эксперт.
Адаптировать под запрос

TL;DR

RAGalyst — исследование, которое вводит три ключевые метрики для оценки качества ответов RAG-систем: Answer Correctness (насколько ответ совпадает с эталоном), Answerability (можно ли ответить только по данному контексту) и Faithfulness (насколько ответ обоснован контекстом). Вместо простого сравнения слов, метрики используют LLM для оценки семантической близости — модель понимает смысл, а не только совпадение фраз.

Главная проблема существующих методов оценки RAG: традиционные метрики (BLEU, ROUGE) сравнивают буквальное совпадение слов. Если модель ответила правильно, но другими словами — метрика занижает оценку. Если ответ бессмысленный, но содержит ключевые слова — оценка завышается. LLM-based метрики решают это, оценивая смысл: модель сравнивает два текста и выставляет оценку от 0 до 1, учитывая перефразирование и синонимы. Исследователи оптимизировали промпты для этих метрик и добились корреляции 0.89 с оценками людей — это значит, что LLM оценивает почти так же, как человек.

Метод работает через три проверки: (1) Answer Correctness — LLM сравнивает сгенерированный ответ с эталоном и оценивает совпадение по смыслу (0-1), (2) Answerability — LLM проверяет, достаточно ли контекста для ответа (да/нет), (3) Faithfulness — LLM проверяет, не добавил ли ответ информацию извне контекста (0-1). Каждая метрика — это отдельный промпт с чёткими критериями оценки.


🔬

Схема метода

Три независимые проверки через промпты:

МЕТРИКА 1: Answer Correctness
Вход: вопрос + эталонный ответ + сгенерированный ответ
→ LLM оценивает семантическое совпадение (0.0-1.0)

МЕТРИКА 2: Answerability  
Вход: вопрос + контекст
→ LLM проверяет достаточность контекста (0 или 1)

МЕТРИКА 3: Faithfulness
Вход: контекст + ответ
→ LLM проверяет обоснованность контекстом (0.0-1.0)

Каждая метрика — отдельный запрос. Можно использовать все три или выборочно.


🚀

Пример применения

Задача: Ты готовишь питч для инвестора и попросил ChatGPT с загруженным PDF исследования рынка ответить "Какой среднегодовой темп роста рынка онлайн-образования в России?". ChatGPT ответил: "По данным отчёта, рынок растёт на 15-18% в год". Нужно проверить: (1) правильно ли это по тексту, (2) был ли ответ в PDF, (3) не добавил ли ChatGPT данных из своей памяти.

Промпт для Answer Correctness:

Оцени насколько сгенерированный ответ соответствует эталонному по смыслу. 
Выставь оценку от 0.0 (полностью не совпадает) до 1.0 (идентичны по смыслу).
Учитывай перефразирование и синонимы.

Вопрос: Какой среднегодовой темп роста рынка онлайн-образования в России?

Эталонный ответ (из PDF): 
"Согласно исследованию НИУ ВШЭ, CAGR рынка онлайн-образования 
составляет 15-18% за период 2020-2024."

Сгенерированный ответ (от ChatGPT):
"По данным отчёта, рынок растёт на 15-18% в год."

Оценка (0.0-1.0):
Обоснование:

Промпт для Answerability:

Можно ли полностью ответить на вопрос, используя ТОЛЬКО данный контекст?
Ответь 0 (нельзя) или 1 (можно).

Вопрос: Какой среднегодовой темп роста рынка онлайн-образования в России?

Контекст из PDF:
"Согласно исследованию НИУ ВШЭ, CAGR рынка онлайн-образования 
составляет 15-18% за период 2020-2024. Основные драйверы роста..."

Ответ (0 или 1):
Объяснение:

Промпт для Faithfulness:

Проверь, вся ли информация в ответе обоснована контекстом.
Оцени от 0.0 (полностью не обоснован) до 1.0 (полностью из контекста).

Контекст из PDF:
"Согласно исследованию НИУ ВШЭ, CAGR рынка онлайн-образования 
составляет 15-18% за период 2020-2024."

Ответ от ChatGPT:
"По данным отчёта, рынок растёт на 15-18% в год."

Оценка (0.0-1.0):
Какие утверждения обоснованы контекстом:
Какие утверждения НЕ из контекста:

Результат:

Модель выдаст три оценки с обоснованиями. Answer Correctness покажет насколько ответ совпадает с оригиналом (ожидаемо 0.8-0.9 — смысл тот же, но формулировка чуть короче). Answerability вернёт 1 — в контексте есть всё для ответа. Faithfulness покажет 1.0 — все цифры из контекста, ничего не добавлено. Если бы ChatGPT написал "рынок растёт быстрее чем в Европе" — Faithfulness упал бы, показав что добавлена информация извне.


🧠

Почему это работает

Слабость простых метрик: BLEU и ROUGE считают буквальное совпадение слов. Если модель ответила "15-18 процентов ежегодно" вместо "15-18% в год" — метрика занижает оценку, хотя смысл идентичен. Если модель выдала "рынок образования 15-18% данные отчёт" — метрика завышает оценку, хотя предложение бессмысленно.

Сильная сторона LLM: Модели хорошо понимают семантику — могут сравнить два текста и определить насколько они близки по смыслу, игнорируя различия в формулировках. GPT-4 понимает, что "CAGR 15-18%" и "растёт на 15-18% в год" — это одно и то же.

Как метод использует это: Вместо подсчёта совпадающих слов, метод даёт LLM чёткие критерии оценки: "сравни смысл, учитывай перефразирование, выставь оценку 0-1". Исследователи оптимизировали промпты через DSPy (автоматическая генерация инструкций + few-shot примеры), добившись корреляции 0.89 с оценками людей. Это значит: LLM оценивает качество почти так же, как человек-эксперт.

Три метрики покрывают разные аспекты: - Answer Correctness — проверяет точность (правильные ли факты) - Answerability — проверяет полноту контекста (хватает ли данных) - Faithfulness — проверяет галлюцинации (не выдумал ли модель)

Рычаги управления: - Шкала оценки — можешь заменить 0-1 на 1-10 для более детальной градации - Критерии — добавь "учитывай тональность" или "игнорируй порядок пунктов" под свою задачу - Выбор метрик — для быстрой проверки достаточно Faithfulness, для строгой валидации используй все три - Температура — исследование использует 0 для консистентности, но для разнообразия можешь повысить до 0.3


📋

Шаблон промпта

📌

Для Answer Correctness:

Оцени насколько сгенерированный ответ соответствует эталонному по смыслу.
Выставь оценку от 0.0 до 1.0, где:
- 0.0 = полностью не совпадает или противоречит
- 0.5 = частично совпадает, но есть значимые расхождения
- 1.0 = идентичны по смыслу (даже если формулировка другая)

Учитывай перефразирование, синонимы, разный порядок информации.
Игнорируй мелкие стилистические различия.

Вопрос: {вопрос}

Эталонный ответ: {ground_truth}

Сгенерированный ответ: {generated_answer}

Оценка (0.0-1.0):
Обоснование:

Плейсхолдеры: - {вопрос} — исходный вопрос - {ground_truth} — правильный ответ (из документа, экспертный) - {generated_answer} — ответ от RAG/LLM

📌

Для Answerability:

Можно ли ПОЛНОСТЬЮ ответить на вопрос, используя ТОЛЬКО данный контекст?
Не используй внешние знания для оценки.

Ответь:
- 1 = да, контекст содержит всю необходимую информацию
- 0 = нет, нужна дополнительная информация или контекст неполон

Вопрос: {вопрос}

Контекст: {context}

Ответ (0 или 1):
Объяснение:

Плейсхолдеры: - {вопрос} — вопрос для проверки - {context} — текст из документа/чанка

📌

Для Faithfulness:

Проверь, вся ли информация в ответе обоснована данным контекстом.
Оцени от 0.0 до 1.0, где:
- 0.0 = ответ полностью из внешних знаний
- 0.5 = половина информации из контекста, половина добавлена
- 1.0 = вся информация взята из контекста

Контекст: {context}

Ответ: {answer}

Оценка (0.0-1.0):
Какие утверждения обоснованы контекстом:
Какие утверждения НЕ из контекста:

Плейсхолдеры: - {context} — исходный текст документа - {answer} — ответ для проверки


📌

Комбинированная проверка (все три метрики):

Проведи комплексную оценку RAG-ответа по трём критериям:

1. ANSWER CORRECTNESS (0.0-1.0): Насколько ответ совпадает с эталоном по смыслу
2. ANSWERABILITY (0 или 1): Достаточно ли контекста для ответа
3. FAITHFULNESS (0.0-1.0): Вся ли информация из контекста

Вопрос: {вопрос}

Контекст: {context}

Эталонный ответ: {ground_truth}

Сгенерированный ответ: {generated_answer}

---
ОЦЕНКИ:

Answer Correctness:
Обоснование:

Answerability:
Объяснение:

Faithfulness:
Что из контекста:
Что добавлено:

---
ИТОГ: Можно доверять этому ответу? (да/нет и почему)

⚠️

Ограничения

⚠️ Субъективные критерии: Метрики оценивают фактическую точность, но не качество изложения. Если нужен креативный или эмпатичный ответ — эти метрики не подходят, они проверяют только соответствие фактам.

⚠️ Зависимость от качества эталона: Answer Correctness требует правильного эталонного ответа. Если эталон неточен — оценка будет неверной. Для проверки без эталона используй только Answerability и Faithfulness.

⚠️ Стоимость проверки: Каждая метрика = отдельный запрос к LLM. Для массовой проверки (сотни ответов) это затратно по токенам. Для разовой валидации — норм, для автоматизированного тестирования — нужен бюджет.

⚠️ Переусложнение для простых случаев: Если просто хочешь узнать "ответил ли ChatGPT по делу" — достаточно прочитать. Метрики полезны когда: (а) проверяешь много ответов, (б) нужна объективная оценка, (в) сравниваешь разные варианты RAG-настроек.


🔍

Как исследовали

Команда из University of Houston проверяла, могут ли LLM оценивать качество RAG-ответов так же надёжно, как люди. Взяли два публичных датасета с человеческой разметкой: STS-B (5800 пар предложений с оценками семантической близости от людей) и SQuAD 2.0 (150,000 вопросов, половина из которых намеренно не имеют ответа в контексте).

Сначала протестировали базовую версию метрик — написали промпты вручную и проверили корреляцию с оценками людей. Получили 0.87 для Answer Correctness и 0.70 для Answerability. Это уже лучше чем cosine similarity (0.62), но недостаточно.

Потом оптимизировали промпты через DSPy — фреймворк, который автоматически улучшает инструкции в промпте через coordinate ascent и Bayesian optimization. Система генерирует десятки вариантов промпта, тестирует на части датасета, отбирает лучшие. Добавили few-shot примеры (8 примеров в промпт) — это дало ещё +0.7% к корреляции.

Результат: Финальная версия Answer Correctness достигла корреляции 0.894 с оценками людей (на STS-B test set из 500 примеров). Answerability достигла 0.752 (на SQuAD 2.0). Для сравнения: RAGAS (популярный фреймворк для оценки RAG) показал 0.836 на тех же данных.

Что удивило: Разные модели показали разброс в корреляции от 0.60 до 0.87 на одном и том же промпте. Gemini 2.5 Pro оказался лучшим для Answerability (0.752), а GPT-4o-mini — для Answer Correctness (0.894). Это значит: выбор модели-судьи критичен, нельзя просто взять любую LLM для оценки.

Инсайт для практики: Оптимизация промптов через few-shot + автоматический подбор инструкций даёт +2-3% корреляции с людьми — разница между "можно использовать" и "надёжно как эксперт". Если используешь метрики для важных решений (выбор RAG-конфигурации, валидация перед продом) — стоит потратить время на калибровку промптов под свою задачу через примеры.


🔗

Ресурсы

RAGalyst: Automated Human-Aligned Agentic Evaluation for Domain-Specific RAG

Joshua Gao, Quoc Huy Pham, Subin Varghese, Silwal Saurav, Vedhus Hoskere

University of Houston

GithubСайт проекта

Связанные концепции из исследования: - DSPy — фреймворк для автоматической оптимизации промптов (COPRO, MIPROv2 optimizers) - STS-B и SQuAD 2.0 — бенчмарки для валидации метрик оценки - RAGAS — альтернативный фреймворк для оценки RAG-систем


📋 Дайджест исследования

Ключевая суть

RAG ответил правильно, но другими словами — классические метрики (BLEU, ROUGE) занижают оценку. Написал бред с ключевыми словами — оценка завышается. RAGalyst решает проблему оценки качества RAG-ответов через три LLM-метрики: правильность по смыслу, достаточность контекста, обоснованность. Вместо подсчёта совпадающих слов модель оценивает семантику — понимает что "CAGR 15-18%" и "растёт на 15-18% в год" это одно и то же. Корреляция с человеческими оценками 0.89 — LLM оценивает почти как эксперт.

Принцип работы

Три независимые проверки через отдельные промпты. (1) Answer Correctness — модель сравнивает ответ с эталоном и ставит оценку 0-1 по смыслу, игнорируя перефразирование. (2) Answerability — проверяет хватает ли контекста для ответа (да/нет). (3) Faithfulness — ловит галлюцинации, оценивая сколько информации из контекста vs добавлено извне (0-1). Каждая метрика = отдельный запрос с чёткими критериями. Можно использовать все три или выборочно — для быстрой проверки достаточно Faithfulness, для строгой валидации нужны все.

Почему работает

Слабость BLEU/ROUGE: считают буквальное совпадение токенов. Модель написала "15-18 процентов ежегодно" вместо "15-18% в год" — метрика режет оценку, хотя смысл идентичен. Сила LLM: GPT-4 понимает семантику — может сравнить два текста и определить близость по смыслу. Исследователи оптимизировали промпты через DSPy (автогенерация инструкций + few-shot примеры) и получили 0.89 корреляцию с оценками людей. Это значит: модель оценивает качество почти так же, как человек-эксперт. Три метрики покрывают разные провалы RAG — точность фактов, полноту контекста, галлюцинации.

Когда применять

RAG-системы → для объективной оценки качества ответов, особенно когда (а) проверяешь десятки/сотни ответов и нужна автоматизация, (б) сравниваешь разные настройки RAG (chunk size, retrieval top-k), (в) нужны метрики для A/B тестов. НЕ подходит для оценки креативности или эмпатии — метрики проверяют только фактическую точность.

Мини-рецепт

1. Для проверки правильности (Answer Correctness): Промпт с вопросом, эталонным ответом, ответом RAG. Инструкция: "Оцени совпадение по смыслу от 0.0 до 1.0, учитывай перефразирование". Модель вернёт оценку с обоснованием.

2. Для проверки достаточности контекста (Answerability): Промпт с вопросом и контекстом. Инструкция: "Можно ли ответить ТОЛЬКО по этому контексту? Ответь 0 или 1". Показывает хватает ли данных.

3. Для ловли галлюцинаций (Faithfulness): Промпт с контекстом и ответом. Инструкция: "Оцени от 0.0 до 1.0 — вся ли информация из контекста". Модель покажет что добавлено извне.

4. Настройки: Используй температуру 0 для консистентности. Добавь свои критерии — "учитывай тональность" или "игнорируй порядок пунктов".

Примеры

[ПЛОХО] : Проверь правильность этого ответа RAG (Модель не понимает критерии — что значит "правильность"? Факты? Стиль? Полнота?)
[ХОРОШО] : Оцени от 0.0 до 1.0 насколько ответ совпадает с эталоном ПО СМЫСЛУ. Учитывай синонимы и перефразирование. Вопрос: [вопрос]. Эталон: [ground truth]. Ответ RAG: [generated]. Оценка: Обоснование: (Чёткие критерии, шкала, структура для ответа) [ЕЩЁ ЛУЧШЕ - комбо всех трёх]: Проверь RAG-ответ по трём метрикам: (1) Answer Correctness 0-1 vs эталон, (2) Answerability 0/1 хватает ли контекста, (3) Faithfulness 0-1 вся ли инфа из контекста. Вопрос: [Q]. Контекст: [C]. Эталон: [GT]. Ответ: [A]. Выдай три оценки с обоснованием + итог: можно доверять? (Полная проверка одним запросом)
Источник: RAGalyst: Automated Human-Aligned Agentic Evaluation for Domain-Specific RAG
ArXiv ID: 2511.04502 | Сгенерировано: 2026-01-12 18:58

Методы

МетодСуть
Трёхуровневая проверка RAG-ответовВместо одной оценки "хорош/плох" разбей проверку на три независимых измерения: (1) Правильность — насколько ответ совпадает с эталоном по смыслу, дай LLM оба текста и попроси оценить 0-1. (2) Ответимость — достаточно ли контекста для ответа, дай вопрос + контекст, попроси ответить да/нет. (3) Обоснованность — всё ли в ответе из контекста или модель добавила извне, дай контекст + ответ, попроси оценить долю фактов из контекста 0-1. Почему работает: Каждая проверка изолирует конкретный аспект качества. Одна оценка скрывает что именно сломалось — с декомпозицией видно: плохой контекст? галлюцинации? неточность модели? Когда применять: проверяешь много RAG-ответов, нужна объективная оценка, сравниваешь разные настройки RAG. Когда не работает: разовая проверка (проще прочитать самому), субъективные критерии (креативность, тон), нет эталонного ответа (тогда только проверки 2 и 3)
📖 Простыми словами

Суть RAGalyst в том, что стандартные линейки для измерения качества нейросетей — полная херня, когда речь заходит о сложных темах вроде военки или кибербеза. Обычные метрики типа BLEU тупо сравнивают слова: если ты ответил правильно, но другими словами, тебе влепят двойку. Исследователи создали систему, которая сама генерирует вопросы по твоим документам и сама же проверяет ответы, используя LLM-as-a-Judge. Главная фишка — они заставили ИИ-судью оценивать ответы так же, как это сделал бы живой эксперт, через жесткую калибровку.

Это как если бы ты нанял профессора проверять тесты, но сначала прогнал его через экзамен, чтобы убедиться, что он не ставит оценки по настроению. Формально ИИ и раньше мог проверять ИИ, но это было пальцем в небо. Здесь же систему RAGalyst натаскали на реальных человеческих оценках, пока корреляция не достигла 0.894. Теперь это не просто "мнение" модели, а откалиброванный инструмент, который видит смысл, а не буквы.

Чтобы эта махина работала, внедрили три ключевые штуки. Во-первых, агентная генерация: один ИИ прикидывается тупым пользователем и задает вопрос, а второй — экспертом и отвечает. Во-вторых, жесткая фильтрация: если вопрос получился кривым или ответ не опирается на текст, их выкидывают в корзину. В-третьих, оптимизация через DSPy: промпты для оценки не пишутся руками, а подбираются алгоритмом, чтобы выжать максимум точности. В итоге Faithfulness (отсутствие галлюцинаций) у этой системы подлетает до 0.99, пока конкуренты типа RAGAS болтаются в районе 0.8.

Тестировали всё это на суровых мануалах по тактике и безопасности, но принцип универсален. Если у тебя есть гора специфических документов — будь то юридические договоры, медицинские протоколы или инструкции к адронному коллайдеру — ты можешь собрать свой бенчмарк. Исследование доказало: универсальных настроек RAG не существует. В военном деле лучше работает одна модель эмбеддингов, в коде — другая. RAGalyst позволяет быстро нащупать, какой именно "двигатель" подходит под твой конкретный "бензин".

Короче: хватит гадать, насколько хорошо работает твой чат-бот, и надеяться на авось. Либо ты строишь нормальный пайплайл оценки с калиброванными метриками, либо твой RAG будет кормить пользователей уверенной дезинформацией. 60 баллов из 100 — оценка средняя только из-за высокого порога входа: придется попотеть с кодом и API. Но если нужно качество в узкой нише — это единственный адекватный путь, иначе клиенты быстро поймут, что твой ИИ-эксперт просто красиво врет.

Сгенерировано: 21.12.2025 16:59 | ArXiv Data Collector

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с