RAG для юридических документов: HallucinationGuard и CitationValidator в продакшене
AI уверенно цитирует несуществующие статьи и выдумывает номера дел. В юридической сфере это не просто ошибка — это мальпрактис. Мы построили два уровня защиты: HallucinationGuard проверяет каждое утверждение, CitationValidator валидирует каждую ссылку. Нулевая толерантность к выдумкам.
RAG для юридических документов: HallucinationGuard и CitationValidator
AI уверенно цитирует несуществующие статьи. В юридической сфере это не ошибка — это мальпрактис.
Проблема: AI врёт уверенно
Попросите ChatGPT назвать судебные решения по защите авторских прав в Украине. Он выдаст 5 номеров дел. Проверьте их — 4 из 5 не существуют. Пятый существует, но касается совсем другой темы.
Для юридической платформы это недопустимо. Каждый номер дела, каждая статья закона, каждая цитата — должны быть реальными.
Архитектура защиты
Уровень 1: HallucinationGuard
Работает до ответа пользователю. Проверяет каждое фактическое утверждение в AI-ответе:
- Извлечение утверждений — парсит ответ на отдельные factual claims
- Поиск источников — для каждого утверждения ищет подтверждение в результатах tool calls
- Классификация: supported (есть в источниках), unsupported (нет в источниках), contradicted (противоречит источникам)
- Решение: unsupported claims маркируются или удаляются, contradicted — всегда удаляются
Уровень 2: CitationValidator
Работает с конкретными ссылками:
- Номера дел — проверяет существование через ZakonOnline API
- Статьи законов — верифицирует через API Верховной Рады
- Цитаты из решений — сравнивает с фактическим текстом решения
Уровень 3: Precedent Status
Каждое решение возвращается со статусом:
- valid — действующее, не отменённое
- limited — сужено вышестоящей инстанцией
- overruled — отменено
- questioned — под сомнением
Правило #1 системного промпта
«Никогда не генерировать номера дел, статьи законов или судебные решения из памяти. Всегда использовать инструменты для получения фактических данных.»
Это не рекомендация — это жёсткая инструкция. AI не может назвать ни одну статью ГК, не вызвав get_legislation_article. Не может сослаться на дело, не найдя его через search_legal_precedents.
Результат
Каждая ссылка в ответе — кликабельная. Нажал на номер дела — открылся полный текст. Нажал на статью закона — увидел действующую редакцию. Юрист не доверяет AI на слово — он проверяет в один клик.
Нулевая толерантность к галлюцинациям — это не фича. Это фундамент.