Проблема: когда RAG начинает врать
Вы построили RAG-систему. Она работает. Пока не начинает галлюцинировать. Клиенты жалуются, поддержка завалена, а вы не понимаете, почему модель вдруг решила, что отпуск длится 100 дней.
Классический RAG слепо доверяет найденным чанкам. Нет механизма, чтобы оценить, насколько ответ соответствует контексту. Вы можете использовать RADAR или другие подходы, но они часто требуют дополнительных вычислений и сложны в отладке.
В 2025 году появился TrustifAI - фреймворк, который не просто детектирует галлюцинации, а показывает, где именно система ошибается и почему.
TrustifAI: не просто метрики, а целый фреймворк
TrustifAI - это набор инструментов для оценки доверия к ответам LLM в RAG-системах. Он вычисляет три основные метрики и предоставляет визуализации для отладки.
1 Evidence Coverage: сколько ответа покрыто источниками?
Метрика показывает, какая часть ответа LLM напрямую подтверждается найденными чанками. Если ответ содержит утверждения, которых нет в контексте, Coverage падает.
2 Semantic Drift: как далеко ушел ответ от контекста?
Измеряет семантическое расстояние между ответом и контекстом. Даже если слова разные, смысл может быть близок. Semantic Drift использует эмбеддинги для оценки.
3 Trust Score: итоговая оценка доверия
Композитная метрика от 0 до 1, которая объединяет Coverage и Drift. Trust Score ниже 0.7 - красный флаг.
Reasoning Graphs: визуализация мыслительного процесса
TrustifAI строит графы, которые показывают, как модель пришла к ответу. Вы видите, какие чанки были использованы, какие пропущены, где возникли противоречия.
Как это работает под капотом
TrustifAI интегрируется в ваш RAG-пайплайн. После получения ответа от LLM, он запускает оценку.
Пример кода для интеграции:
from trustifai import TrustEvaluator
evaluator = TrustEvaluator(model="gpt-4o-2026") # Используем актуальную модель на 2026 год
result = evaluator.evaluate(
query="Сколько дней отпуска?",
context=["Чанк 1: Отпуск составляет 28 дней.", "Чанк 2: Больничный оплачивается."],
response="Отпуск длится 28 дней, а больничный можно брать на 10 дней."
)
print(f"Trust Score: {result.trust_score}")
print(f"Evidence Coverage: {result.evidence_coverage}")
print(f"Semantic Drift: {result.semantic_drift}")
Внимание: TrustifAI требует доступа к логитам модели или вероятностям токенов. Если вы используете закрытый API, проверьте, доступны ли эти данные.
Сравнение с другими инструментами
| Инструмент | Метрики | Визуализация | Сложность интеграции |
|---|---|---|---|
| TrustifAI | Evidence Coverage, Semantic Drift, Trust Score | Reasoning Graphs | Средняя |
| RADAR | Перекрёстная проверка, временные метки | Нет | Высокая |
| Самописные скрипты | Зависит от реализации | Нет | Низкая |
Кому TrustifAI подойдет, а кому нет
Подойдет:
- Инженерам ML, которые развертывают RAG-системы в продакшене.
- Data scientists, отлаживающие галлюцинации в чат-ботах.
- Командам, которые уже столкнулись с проблемами доверия к AI и хотят количественно оценить их.
Не подойдет:
- Начинающим, которые только знакомятся с RAG. Сначала изучите базовые принципы.
- Проектам с жесткими требованиями к latency. TrustifAI добавляет задержку.
- Если ваша LLM не предоставляет логиты или вероятности.
Неочевидный совет: что делать, когда Trust Score низкий
Не спешите менять модель или добавлять больше данных. Посмотрите на Reasoning Graphs. Часто проблема в том, что ретривер находит нерелевантные чанки, и LLM пытается их как-то использовать. Улучшите гибридный поиск или добавьте переранжирование.
TrustifAI показывает, что галлюцинации часто возникают не из-за модели, а из-за плохого контекста. Исправьте ретривер - и Trust Score вырастет.
Для тех, кто хочет углубиться, рекомендую курс по продвинутому RAG и официальную документацию TrustifAI.