Мы часто видим, как LLM уверенно генерирует вымышленные факты: «Препарат X одобрен FDA» — а препарата не существует, или RAG-цитата с несуществующей страницей. Это не случайность, а следствие авторегрессионной природы моделей: следующий токен предсказывается по распределению, а не по истине. Для бизнес-критичных систем такое недопустимо. Наша команда разработала многоуровневую систему обнаружения ложных утверждений — галлюцинаций, которая зарекомендовала себя в продакшене. Более 5 лет мы занимаемся NLP и MLOps, внедрили более 20 проектов RAG и детекции ошибок.
Почему стандартные методы не работают?
Проблема не в «незнании» модели — она в том, что GPT-4, Claude, Llama и их аналоги не имеют внутреннего механизма верификации. Модель не знает, что она не знает. Уверенность в ответе (confidence score из logprobs) слабо коррелирует с фактической точностью: можно получить logprob близкий к 0 для галлюцинированного факта. Основных источников галлюцинаций три. Первый — mismatch между retrieval и generation: chunk_size=512 без overlap, FAISS с L2-метрикой, слабая embedding-модель. Второй — temporal drift: модель обучена на данных до определённой даты. Третий — trade-off между полезностью и точностью при RLHF. Наш опыт показывает, что в 70% случаев проблема в первом источнике.
Как построить систему детекции галлюцинаций?
Детекцию галлюцинаций нельзя решить одним методом. На практике применяем многоуровневую архитектуру:
Self-consistency проверка
Генерируем N ответов на один вопрос с temperature > 0 (обычно N=5–10, temperature=0.7). Сравниваем ответы семантически через sentence-transformers (paraphrase-multilingual-mpnet-base-v2). Если вариативность высокая — факт ненадёжный. Self-consistency даёт в 3 раза более точную оценку достоверности, чем logprob-анализ.
Grounding score
Для RAG-систем: проверяем, поддерживается ли каждое утверждение в ответе извлечёнными чанками. Используем NLI-модель (cross-encoder/nli-deberta-v3-base) для оценки entailment между ответом и контекстом. Утверждение с entailment score < 0.6 помечается как непроверенное. Grounding score точнее, чем простая проверка по ключевым словам. NLI-верификация на 40% эффективнее для выявления галлюцинаций.
Retrieval faithfulness
Метрики RAGAS (RAGAS: Automated Evaluation of Retrieval Augmented Generation) Es et al., 2023: faithfulness, answer_relevancy, context_precision. Faithfulness < 0.7 при context_precision > 0.8 означает, что контекст был, но модель его проигнорировала.
External fact-checking
Для критичных доменов (медицина, право, финансы): верификация через поиск (Tavily, Bing Search API) или специализированные knowledge base (Wikidata SPARQL, PubMed API). Утверждения с именованными сущностями прогоняем через NER (spaCy + кастомная модель) и верифицируем каждую сущность отдельно.
Пошаговая инструкция внедрения
- Аудит текущего RAG-пайплайна: анализируем chunk strategy, embedding-модель, промпты. Собираем датасет ground truth из 100–200 реальных запросов.
- Baseline-замеры: общий hallucination rate, faithfulness, latency p99.
- Выбор методов: для простых сценариев достаточно self-consistency, для критичных — комбинация grounding score и внешней верификации.
- Интеграция детектора как middleware с логированием в Grafana.
- Мониторинг и калибровка порогов на датасете из 100–200 запросов.
Подробный чек-лист аудита
- Оценка качества ретривера: precision@k, recall@k
- Анализ chunk strategy: размер, overlap
- Проверка embedding-модели: размерность, косинусная близость
- Аудит промптов: наличие инструкций по точности
- Ручная разметка 100–200 запросов для ground truth
Практический кейс
Наш клиент — юридическая компания, внутренний ассистент по прецедентному праву. Модель: GPT-4-turbo с RAG на 50k документах (pgvector + LangChain). Проблема: 18% ответов содержали ссылки на несуществующие дела или неверные даты решений (выявлено ручным аудитом 200 запросов).
Решение: добавили двухуровневую проверку. На уровне retrieval — reranker cross-encoder/ms-marco-MiniLM-L-6-v2 поднял context_precision с 0.61 до 0.84. На уровне generation — NLI-верификация каждого юридического утверждения + regex-извлечение номеров дел с последующей проверкой по базе арбитражных решений через API. Доля галлюцинаций упала до 3.2% за 2 недели итераций. Экономия на ручной верификации составила более $9k–13k в год.
Метрики для оценки качества детекции
| Метрика | Инструмент | Целевое значение |
|---|---|---|
| Hallucination rate | Ручной аудит + NLI | < 5% для продакшена |
| Faithfulness (RAGAS) | ragas library | > 0.80 |
| Grounding score | NLI deberta | > 0.65 per claim |
| Self-consistency | sentence-transformers | cosine sim > 0.75 |
| Latency overhead | — | < 500ms на детекцию |
Сравнение методов детекции
| Метод | Точность | Задержка | Домены применения |
|---|---|---|---|
| Self-consistency | Средняя | +200ms | Любые |
| Grounding score | Высокая | +100ms | RAG |
| External fact-checking | Очень высокая | +1–3s | Медицина, право |
Что входит в работу
- Аудит текущего пайплайна: качество ретривера, chunk strategy, embedding-модель, промпты.
- Baseline-измерение: hallucination rate, faithfulness, latency.
- Выбор и настройка методов детекции под специфику домена.
- Интеграция детектора как middleware в production.
- Мониторинг: дашборд в Grafana, алерты при дрифте метрик.
- Документация и обучение команды.
Стоимость внедрения — от $1.5k–5k в зависимости от сложности домена.
Процесс внедрения
Аудит текущего состояния — анализируем существующий пайплайн: качество ретривера, chunk strategy, embedding-модель, промпты. Собираем датасет из 100–200 реальных запросов с проверкой по ground truth.
Baseline-измерение — получаем цифры: hallucination rate, faithfulness, latency. Без baseline непонятно, что улучшать.
Многоуровневая детекция — выбираем методы под специфику домена. Медицина требует внешней верификации; внутренние знания компании — достаточно grounding score.
Интеграция в пайплайн — детектор встраивается как middleware. Ответы с низким grounding помечаются предупреждением или отправляются на human review.
Мониторинг в продакшене — логируем все оценки, строим дашборд в Grafana. Drift в метриках — сигнал к переиндексации или смене промпт-стратегии.
Сроки: от 2 недель для добавления детекции в существующий RAG-пайплайн до 2 месяцев для полноценной системы верификации с внешними источниками в сложном домене. Устранение галлюцинаций в production сокращает затраты на ручную верификацию ответов.
Свяжитесь с нами, чтобы оценить ваш проект и получить предложение под ключ. Закажите внедрение детекции галлюцинаций уже сегодня.







