3,583 papers
arXiv:2510.11394 73 13 окт. 2025 г. FREE

VeriCite: трёхступенчатая верификация цитат в RAG через разделение генерации и проверки

КЛЮЧЕВАЯ СУТЬ
Проблема: RAG-системы галлюцинируют в цитатах — каждая третья ссылка неправильная или отсутствует (точность цитирования 66-70%). Модель ставит [3] там где должна быть [1], или пропускает нужный источник. VeriCite позволяет генерировать ответы где каждый факт подкреплён проверенной цитатой — точность подскакивает до 80%. Фишка: разделить генерацию и проверку на три отдельных этапа. Сначала модель создаёт черновик, потом NLI-валидатор (Natural Language Inference — определяет «следует ли утверждение из текста») проверяет каждое утверждение, потом извлекаются факты из каждого документа отдельно с повторной проверкой, и только в конце собирается финальный ответ из уже провалидированных кусков.
Адаптировать под запрос

TL;DR

VeriCite — метод генерации ответов с цитатами в RAG-системах, который разделяет создание контента и проверку источников на три отдельных этапа. Вместо того чтобы просить модель одновременно отвечать и правильно цитировать, метод сначала генерирует черновик, потом проверяет каждое утверждение через NLI-модель (Natural Language Inference — определяет, следует ли утверждение из текста), извлекает подтверждённые доказательства из каждого документа, и только потом собирает финальный ответ.

Главная находка: Модели плохо справляются с цитированием когда нужно одновременно генерировать контент И отслеживать источники. Citation F1 (точность цитирования) у baseline-методов колеблется от 38% до 70%, при этом модели часто ссылаются на документы которые не поддерживают утверждение, или пропускают нужные цитаты. Проблема в когнитивной перегрузке — LLM пытается удержать в "внимании" и длинный контекст документов, и логику ответа, и правильность цитат одновременно.

Суть метода: VeriCite использует предварительную разметку — сначала автоматически проверяет каждое утверждение NLI-моделью ("поддерживается ли это документом?"), отбрасывает непроверенное, маркирует проверенное цитатой, и только потом даёт LLM задачу "собрать из этих проверенных кусков связный ответ". Три этапа: (1) первичный ответ со всеми документами + проверка утверждений, (2) извлечение полезных фактов из каждого документа отдельно + проверка, (3) объединение проверенного материала в финальный ответ без генерации нового контента.


🔬

Схема метода

ЭТАП 1: Первичный ответ
Вход: Вопрос + все документы (5 штук)
LLM генерирует: Ответ с цитатами
NLI проверяет: Каждое утверждение → поддерживается документами? 
Выход: Только проверенные утверждения

ЭТАП 2: Извлечение доказательств (для каждого документа отдельно)
LLM оценивает: Полезен ли документ для ответа?
Если да → LLM извлекает: Ключевые факты из документа
NLI проверяет: Факты следуют из документа?
Выход: Проверенные факты с цитатой [N]

ЭТАП 3: Финальная сборка
Вход: Проверенные утверждения (этап 1) + проверенные факты (этап 2)
LLM переорганизует: Порядок, убирает дубли, объединяет цитаты
Выход: Связный ответ с надёжными цитатами

Этапы выполняются последовательными запросами. NLI-модель работает между запросами как валидатор.


🚀

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

⚠️ Ограничение метода: Работает для фактоидных вопросов с чёткими утверждениями. Хуже на субъективных темах и задачах требующих синтез информации из нескольких документов одновременно (multi-hop reasoning).

Задача: Готовишь аналитическую записку для руководства — нужно узнать, когда запустили Яндекс Маркет и какие там основные категории товаров. Загрузил 5 статей про историю Яндекса, но там много постороннего про другие сервисы, даты запуска разнятся, хочешь чтобы каждый факт был подкреплён конкретным источником.

Промпт (Этап 1 — первичный ответ):

Вопрос: Когда запустили Яндекс Маркет и какие основные категории товаров там представлены?

Документы:
[Документ 1] История Яндекса: ... Яндекс Маркет запущен в 2000 году ...
[Документ 2] Обзор e-commerce: ... На Маркете представлены электроника, одежда ...
[Документ 3] Интервью с CEO: ... После запуска в 2001 сервис ...
[Документ 4] Пресс-релиз: ... Маркет предлагает бытовую технику, книги, игрушки ...
[Документ 5] Статья про конкурентов: ... Ozon обгоняет Маркет ...

Инструкция: Ответь на вопрос. Каждое утверждение помечай цитатой [N] где N — номер документа.

После этого запроса:

  • Модель генерирует: "Яндекс Маркет запущен в 2000 году [1]. Основные категории: электроника [2], одежда [2], бытовая техника [4], книги [4], игрушки [4]."
  • NLI-модель проверяет каждое утверждение с документом
  • Обнаруживает противоречие: документ 1 говорит "2000", документ 3 — "2001"
  • Утверждение про 2000 год проходит проверку с документом 1
  • Утверждение про 2001 отбрасывается (не прошло NLI)

Промпт (Этап 2 — для каждого документа):

Документ 2: "Обзор e-commerce: На Маркете представлены электроника, одежда, автотовары, косметика, продукты питания"

Вопрос: Когда запустили Яндекс Маркет и какие основные категории товаров там представлены?

Инструкция: Полезен ли этот документ для ответа? Если да — выпиши ключевые факты.

После этого:

  • Модель: "Да, полезен. Факты: На Маркете есть электроника, одежда, автотовары, косметика, продукты"
  • NLI проверяет: "электроника" следует из документа? Да → оставляем с [2]
  • NLI проверяет: "автотовары" следует из документа? Да → оставляем с [2]
  • И так для каждого документа

Промпт (Этап 3 — финальная сборка):

Вопрос: Когда запустили Яндекс Маркет и какие основные категории товаров там представлены?

Проверенные утверждения:
- Яндекс Маркет запущен в 2000 году [1]
- Основные категории: электроника [2], одежда [2]

Дополнительные факты:
- Бытовая техника [4]
- Книги [4] 
- Игрушки [4]
- Автотовары [2]
- Косметика [2]
- Продукты питания [2]

Инструкция: Объедини в связный ответ. Сохрани все цитаты. Убери повторы. Не добавляй новую информацию.

Результат:

Модель создаёт финальный текст собирая проверенные куски, объединяя цитаты для одинаковых категорий (электроника, одежда, автотовары, косметика, продукты [2]; бытовая техника, книги, игрушки [4]). Ответ содержит только факты которые прошли двойную проверку: сначала LLM извлекла, потом NLI подтвердила. Если в документе 3 была дата 2001 — она не попадёт в финальный ответ, потому что противоречит документу 1 и была отсеяна на этапе 1.


🧠

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

Слабость LLM: Модели плохо справляются с многозадачностью — одновременно держать в "голове" длинный контекст (5 документов по 300+ слов), генерировать связный ответ, И корректно цитировать источники. В результате появляются галлюцинации в цитатах — модель ставит [3] там где должна быть [1], или пропускает нужную цитату. Citation Precision (точность цитат) у baseline около 66-75% — каждая третья-четвёртая цитата неправильная или отсутствует.

Сильная сторона LLM: Модели отлично справляются с однозадачными запросами — когда нужно сделать что-то одно: "поддерживается ли это утверждение документом?", "какие факты из этого документа полезны?", "собери из этих кусков связный текст". Каждая задача проще, контекст короче, внимание сфокусировано.

Как метод использует это: VeriCite декомпозирует сложную задачу на простые шаги. Вместо "ответь + процитируй правильно" → "просто ответь" (этап 1), потом "просто извлеки факты" (этап 2 для каждого документа), потом "просто собери из готового" (этап 3). NLI-модель выполняет проверку между шагами — она специально обучена определять entailment (следование), это её единственная задача, поэтому она справляется лучше чем LLM в multitasking режиме.

Дополнительный эффект: Предварительная разметка цитат ([2], [4]) снимает нагрузку с финального этапа. LLM на этапе 3 не придумывает цитаты заново — она просто переиспользует уже провалидированные маркеры. Это как дать редактору готовые сноски вместо того чтобы он сам искал источники по тексту.


📋

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

⚠️ Важно: Полноценная реализация VeriCite требует NLI-модель (например TRUE) для автоматической верификации. Ниже — упрощённая версия для чата, где LLM сама играет роль верификатора. Точность ниже чем у специализированной NLI, но метод применим.

ЭТАП 1: Первичный ответ

Вопрос: {твой_вопрос}

Документы:
[1] {текст_документа_1}
[2] {текст_документа_2}
[3] {текст_документа_3}
[4] {текст_документа_4}
[5] {текст_документа_5}

Инструкция: Ответь на вопрос на основе документов. Каждое утверждение помечай цитатой [N]. Разбей ответ на отдельные утверждения (по одному на строку).

---

ЭТАП 1.5: Проверка утверждений (для каждого утверждения отдельно)

Утверждение: {утверждение_из_этапа_1}
Документ(ы): {текст_документов_которые_процитированы}

Поддерживается ли утверждение документом? Ответь только "Да" или "Нет" с кратким объяснением (1 предложение).

Если "Нет" — отбрось утверждение. Если "Да" — сохрани для этапа 3.

---

ЭТАП 2: Извлечение доказательств (для каждого документа отдельно)

Документ [{номер}]: {текст_документа}
Вопрос: {твой_вопрос}

Полезен ли этот документ для ответа на вопрос? Если да — выпиши ключевые факты которые помогают ответить. Каждый факт на отдельной строке с цитатой [{номер}].

---

ЭТАП 2.5: Проверка фактов (для каждого факта отдельно)

Факт: {факт_из_этапа_2}
Документ: {текст_документа}

Следует ли этот факт из документа? Ответь только "Да" или "Нет".

Если "Нет" — отбрось факт. Если "Да" — сохрани с цитатой для этапа 3.

---

ЭТАП 3: Финальная сборка

Вопрос: {твой_вопрос}

Проверенные утверждения из этапа 1:
{список_проверенных_утверждений_с_цитатами}

Проверенные факты из этапа 2:
{список_проверенных_фактов_с_цитатами}

Инструкция: Объедини в связный ответ. Правила:
1. Сохрани ВСЕ цитаты в формате [N]
2. Убери дословные повторы
3. Объедини цитаты для идентичных фактов: [2][4] → [2, 4]
4. НЕ добавляй новую информацию
5. Переорганизуй порядок для связности

Что подставлять:

  • {твой_вопрос} — фактоидный вопрос с чёткими критериями (когда, где, какие, кто)
  • {текст_документа_N} — релевантные документы из поиска
  • Этапы 1.5 и 2.5 — по одному запросу для КАЖДОГО утверждения/факта

Оптимизация: Если утверждений много (10+) — можно проверять батчами по 3-5 штук за раз.


🚀 Быстрый старт — вставь в чат:

Вот метод VeriCite для генерации ответов с проверенными цитатами. Проведи меня через все этапы для моей задачи. Задавай вопросы чтобы заполнить шаблон, потом выполни каждый этап.

Моя задача: {опиши задачу}

[вставить шаблон выше]

LLM спросит какой вопрос, какие документы, потом проведёт через этапы 1 → 1.5 → 2 → 2.5 → 3 автоматически. Модель возьмёт структуру multi-pass верификации из шаблона и адаптирует под твою задачу — ты получишь ответ где каждая цитата проверена дважды.


⚠️

Ограничения

⚠️ Фактоидные вопросы: Метод заточен под вопросы с проверяемыми фактами (даты, названия, числа, списки). На субъективных темах ("почему люди любят кошек?") или креативных задачах ("напиши эссе о свободе") эффект слабее. На датасете ELI5 (нефактоидные вопросы "объясни как 5-летнему") answer correctness ниже baseline на 1-3%.

⚠️ Multi-hop reasoning: Для вопросов требующих синтез информации из нескольких документов одновременно ("Где родился автор книги которую рекомендовал президент?") метод может пропустить связи. На HotpotQA и MuSiQue для моделей Llama3, Gemma-2, GLM-4 correctness на 1-4% ниже лучшего baseline. Причина: этап 2 обрабатывает документы изолированно, cross-document связи теряются.

⚠️ Трудоёмкость без автоматизации: Упрощённая версия для чата требует 10+ запросов для 5 документов (1 первичный ответ + проверка каждого утверждения + 5 извлечений фактов + проверка каждого факта + финальная сборка). Полноценная автоматизация требует код + NLI-модель.

⚠️ LLM как верификатор: В упрощённой версии LLM проверяет сама себя. NLI-модель точнее потому что специально обучена на entailment задачах. Согласно ablation study, замена NLI на LLM-верификатор снижает Citation F1 с 80% до 73%.


🔍

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

Команда проверила VeriCite на 5 open-source моделях (Llama3-8B, Gemma-2-9B, GLM-4-9B, Qwen2.5-7B/14B) и 4 датасетах разных типов. Идея проста: взять задачи где ответ нужно подкрепить цитатами, и посмотреть справится ли трёхэтапная схема лучше чем одноэтапная генерация.

Выбрали 2 long-form QA датасета (ASQA — неоднозначные фактоидные вопросы, ELI5 — "объясни как ребёнку") и 2 multi-hop QA (HotpotQA и MuSiQue — нужно связать факты из разных документов). Каждый датасет по 500-1000 примеров. Для каждого вопроса загружали top-5 документов из поиска. Сравнивали с 4 baseline: Vanilla (просто скормить всё модели), Summary (сжать документы), Snippet (extractive сжатие), APO (fine-tuned модель с preference learning).

Измеряли 2 метрики: answer correctness (EM Recall для фактоидных, Claim Recall для ELI5) и citation quality (Citation F1 — насколько цитаты точны и полны). Для верификации использовали TRUE — специализированную NLI-модель обученную определять entailment.

Что удивило: На фактоидных датасетах (ASQA, HotpotQA, MuSiQue) VeriCite поднял Citation F1 в среднем на +12% по сравнению с лучшим baseline (с 70% до 82% на ASQA для Llama3). Но на нефактоидном ELI5 answer correctness упал на 1-3% — метод предварительной верификации отсеивает утверждения которые нельзя однозначно подтвердить одним документом. Зато Citation F1 на ELI5 вырос на +11.41% в среднем — даже если ответ чуть менее полный, то цитаты максимально надёжные.

Инсайт для практики: Разделение генерации и верификации работает когда есть чёткие критерии проверки ("следует ли утверждение из текста?"). Для субъективного контента где грань между "поддерживается" и "связано" размыта — эффект слабее. Ablation study показал: убери NLI-верификацию → Citation F1 падает с 80% до 69%, но correctness не меняется. Вывод: верификация критична для цитат, но не для полноты ответа.

Почему именно так: Исследователи сравнивали разные верификаторы: NLI-модель vs сама LLM vs DeepSeek-R1 (SOTA). LLM-верификатор показал Citation F1 = 73% против 80% у NLI. DeepSeek-R1 дал 79.22% — почти как NLI, но в разы дороже в inference. Выбор NLI — оптимум цена/качество для production.


📄

Оригинал из исследования

Контекст: Это промпты которые использовали исследователи для каждого из трёх этапов VeriCite. Промпты на английском, содержат few-shot примеры и специфичные инструкции.

ЭТАП 1: Initial Answer Generation

Question: {question}

Documents:
[1] (Title: {title_1}) {passage_1}
[2] (Title: {title_2}) {passage_2}
...
[5] (Title: {title_5}) {passage_5}

Instruction: Answer the question based on the given documents. Each statement in your answer should include an in-line citation in the format [doc_id]. Use multiple citations if a statement is supported by multiple documents.

Example:
Question: Who won the 2020 Nobel Prize in Physics?
Documents:
[1] Roger Penrose won the 2020 Nobel Prize in Physics.
[2] Andrea Ghez also won the prize that year.

Answer: Roger Penrose won the 2020 Nobel Prize in Physics [1]. Andrea Ghez also won the prize that year [2].

Answer:

ЭТАП 2: Supporting Evidence Check

Question: {question}

Document: [doc_id] {passage}

Instruction: Is this document useful for answering the question? Respond with "Yes" or "No" only.

Answer:

ЭТАП 2: Supporting Evidence Extraction (если прошло проверку)

Question: {question}

Document: [doc_id] {passage}

Instruction: Extract useful information from this document to answer the question. Format each piece of information as a separate sentence.

Extracted information:

ЭТАП 3: Final Answer Refinement

Question: {question}

Initial answer statements:
{verified_statements_from_stage_1}

Additional evidence:
{verified_evidence_from_stage_2}

Instruction: Combine the initial answer and additional evidence into a coherent final answer. Requirements:
1. Keep all citations in the format [doc_id]
2. Remove redundant content
3. Reorder statements for better flow
4. Merge citations where appropriate (e.g., [1][2] → [1, 2])
5. Do NOT add new information beyond what is provided

Final answer:

💡

Адаптации и экстраполяции

💡 Адаптация для бизнес-анализа: Анализ конкурентов или рынка

Когда готовишь отчёт о рынке или конкурентах, нужно не просто собрать факты, но и подтвердить каждый источником. VeriCite можно адаптировать:

Задача: Анализ российского рынка доставки еды — кто лидирует, какие тренды, какие проблемы.

Этап 1 — широкий обзор:

Вопрос: Какие главные тренды на рынке доставки еды в России в 2024-2025?

Документы: [новости про Яндекс Еду, Деливери, СберМаркет, статьи экспертов, отчёты]

Инструкция: Ответь на основе документов. Каждый тренд отмечай цитатой. Разбей на отдельные утверждения.

Этап 2 — извлечение конкретики: Для каждого документа отдельно: "Какие конкретные цифры, факты, кейсы из этого источника подтверждают тренды?"

Этап 3 — сборка отчёта: Объедини проверенные утверждения в структурированный отчёт: Лидеры рынка [1,3], Тренды [2,4,5], Проблемы [1,2], Прогнозы [5].

Польза: Каждая цифра и тренд в отчёте привязаны к конкретному источнику. Руководство видит откуда данные, может проверить, доверие к выводам выше.


🔧 Техника: Батчевая проверка → ускорение при большом объёме

Если утверждений/фактов много (20+) — проверять каждое отдельным запросом долго. Адаптация:

Вместо:

ЭТАП 1.5: Проверка утверждения 1
Поддерживается ли "Маркет запущен в 2000" документом 1?

ЭТАП 1.5: Проверка утверждения 2
Поддерживается ли "Категории: электроника" документом 2?

... (20 запросов)

Делай:

ЭТАП 1.5: Батчевая проверка

Документ 1: {текст}

Утверждения для проверки:
1. Маркет запущен в 2000
2. Основатель — Яндекс
3. Изначально был сравнение цен

Для каждого утверждения ответь: Да/Нет (следует ли из документа?)

Формат ответа:
1. Да
2. Да 
3. Нет

Эффект: Сокращение с 20 запросов до 3-5 (батчи по документам). Точность чуть ниже чем поштучная проверка (модель может ошибиться в одном из 5), но скорость в 4-6 раз выше.


🔧 Техника: Строгость верификации → контроль качества vs полноты

В оригинальном VeriCite NLI-модель строгая — если есть малейшее сомнение, утверждение отбрасывается. Это даёт высокую точность цитат, но может отсеять полезное.

Адаптация для баланса:

Вместо бинарного "Да/Нет":

Поддерживается ли утверждение документом? Ответь "Да" или "Нет".

Используй шкалу:

Оцени насколько утверждение поддерживается документом:
1 — полностью следует дословно
2 — следует по смыслу, но другими словами
3 — частично связано, нужна интерпретация
4 — не следует, противоречит или нерелевантно

Оценка:

Применение:

  • Для строгих отчётов (юридические, медицинские) — оставляй только 1 и 2
  • Для обзоров и аналитики — берёшь 1, 2, 3 (шире охват, но указываешь степень уверенности в цитате)

Эффект: Гибкость между точностью (строгий фильтр) и полнотой (мягкий фильтр). Читатель отчёта видит какие цитаты "железобетонные" [1], а какие требуют интерпретации [2, 3*].


🔗

Ресурсы

  • VeriCite: Towards Reliable Citations in Retrieval-Augmented Generation via Rigorous Verification — Haosheng Qian, Yixing Fan, Jiafeng Guo, Ruqing Zhang, Qi Chen, Dawei Yin, Xueqi Cheng
  • State Key Laboratory of AI Safety, ICT, Chinese Academy of Sciences; University of Chinese Academy of Sciences; Meituan Inc.; Baidu Inc.
  • Код на GitHub
  • TRUE NLI model — [Honovich et al., 2022] для верификации entailment
  • Presented at SIGIR-AP 2025 (Xi'an, China)

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

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

Проблема: RAG-системы галлюцинируют в цитатах — каждая третья ссылка неправильная или отсутствует (точность цитирования 66-70%). Модель ставит [3] там где должна быть [1], или пропускает нужный источник. VeriCite позволяет генерировать ответы где каждый факт подкреплён проверенной цитатой — точность подскакивает до 80%. Фишка: разделить генерацию и проверку на три отдельных этапа. Сначала модель создаёт черновик, потом NLI-валидатор (Natural Language Inference — определяет «следует ли утверждение из текста») проверяет каждое утверждение, потом извлекаются факты из каждого документа отдельно с повторной проверкой, и только в конце собирается финальный ответ из уже провалидированных кусков.

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

Не заставляй модель делать всё разом — раздели на простые шаги. Вместо «ответь на вопрос + правильно процитируй источники» → три последовательных запроса. (1) Черновой ответ: модель генерирует текст со всеми документами, каждое утверждение проверяется NLI-моделью («поддерживается источником?»), непроверенное выбрасывается. (2) Извлечение доказательств: для каждого документа отдельный запрос «какие факты отсюда полезны?», снова валидация через NLI. (3) Финальная сборка: модель собирает связный текст из проверенных кусков, объединяет цитаты, убирает дубли — не генерирует новое, только переорганизует готовое.

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

Модель плохо справляется с многозадачностью — держать в голове длинный контекст (5 документов по 300+ слов) + генерировать связный ответ + корректно отслеживать источники одновременно. Это когнитивная перегрузка, отсюда галлюцинации в цитатах. Декомпозиция на однозадачные шаги снимает нагрузку: «просто ответь» (этап 1), «просто извлеки факты» (этап 2), «просто собери из готового» (этап 3). NLI-модель работает как специализированный валидатор между шагами — она заточена только под определение entailment (следования), поэтому справляется точнее чем LLM в режиме мультизадачности. На финальном этапе модель не придумывает цитаты заново — переиспользует уже провалидированные маркеры [2], [4]. Как дать редактору готовые сноски вместо того чтобы он сам искал источники.

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

RAG-системы для фактоидных запросов → конкретно когда нужна точная атрибуция каждого факта к источнику (аналитические записки, медицинские справки, юридические обзоры, научные саммари), особенно если цена ошибки в цитате высока. НЕ подходит для субъективных тем («почему люди любят кошек?») и многошаговых рассуждений требующих синтез из нескольких документов одновременно (на HotpotQA точность на 1-4% ниже базового подхода — метод обрабатывает документы изолированно, cross-document связи теряются).

Мини-рецепт

1. Первичный ответ + проверка: Дай модели вопрос и все документы с инструкцией Ответь на вопрос. Каждое утверждение помечай цитатой [N]. Разбей ответ на отдельные утверждения (по одному на строку). Для каждого утверждения отдельный запрос: Утверждение: {текст}. Документ: {источник}. Поддерживается? Да/Нет — отбрось непроверенное.

2. Извлечение доказательств: Для каждого документа отдельно: Документ [N]: {текст}. Вопрос: {вопрос}. Полезен ли документ? Если да — выпиши ключевые факты с цитатой [N]. Проверь каждый факт через NLI: Факт: {текст}. Документ: {источник}. Следует из документа? Да/Нет.

3. Финальная сборка: Вопрос: {вопрос}. Проверенные утверждения: {список}. Проверенные факты: {список}. Объедини в связный ответ. Сохрани ВСЕ цитаты. Убери повторы. Объедини цитаты для идентичных фактов: [2][4] → [2, 4]. НЕ добавляй новую информацию.

Примеры

[ПЛОХО] : Ответь на вопрос используя документы. Цитируй источники в формате [N] — модель пытается генерировать контент и отслеживать цитаты одновременно, в результате каждая третья ссылка неправильная.
[ХОРОШО] : Трёхэтапная проверка. Этап 1: Ответь на вопрос. Каждое утверждение на отдельной строке с [N] → проверка каждого утверждения Поддерживается документом? Да/Нет. Этап 2: для каждого документа Выпиши ключевые факты → проверка каждого факта. Этап 3: Собери из проверенных кусков. НЕ добавляй новое. Результат: каждая цитата проверена дважды — сначала LLM извлекла, потом NLI-валидатор подтвердил.
Источник: VeriCite: Towards Reliable Citations in Retrieval-Augmented Generation via Rigorous Verification
ArXiv ID: 2510.11394 | Сгенерировано: 2026-01-12 00:36

Концепты не выделены.

📖 Простыми словами

VeriCite: трёхступенчатая верификация цитат в RAG через разделение генерации и проверки

arXiv: 2510.11394

Современные нейронки в режиме RAG — когда им дают пачку документов и просят ответить по ним — работают как перегруженные студенты на экзамене. Проблема в том, что модель пытается делать три дела сразу: вникать в огромный текст, формулировать связный ответ и расставлять ссылки на источники. В итоге мозг нейронки закипает, и она начинает галлюцинировать в цитатах: лепит ссылку на первый документ там, где инфа была в третьем, или вообще выдумывает подтверждение из головы. Каждая третья цитата в обычном режиме — это пальцем в небо, что для серьезных задач просто недопустимо.

Это как если бы ты попросил друга пересказать пять юридических договоров и одновременно указывать номера страниц и абзацев для каждого факта. Друг либо начнет заикаться, либо просто начнет врать, чтобы казаться убедительным. Метод VeriCite решает это через жесткое разделение труда. Вместо того чтобы валить всё в одну кучу, процесс разбивают на три этапа: сначала пишем черновик без оглядки на точность ссылок, потом берем специальный «микроскоп» и проверяем каждое предложение на вшивость, и только в конце собираем чистовик.

Главный инструмент здесь — NLI-модель, которая работает как суровый фактчекер. Она не пишет тексты, она умеет только одно: сравнивать утверждение с источником и говорить «да, это тут написано» или «нет, это херня». Метод вытаскивает из документов только те куски, которые реально подтверждают слова, и отсекает всё лишнее. В итоге точность цитирования взлетает, потому что модель больше не пытается угадать источник на лету, а получает его как готовую улику в суде.

Правда, пока этот фокус работает в основном на фактоидных вопросах, где ответ — это конкретный факт, а не философские размышления. Если тебе нужно собрать сложный пазл из десяти разных документов, где один намекает на одно, а второй на другое, система может споткнуться. Но для задач, где важна железная достоверность и нужно точно знать, откуда взялась цифра или дата, этот подход — спасение от типичного вранья нейросетей.

Короче, эпоха, когда мы верили нейронке на слово, заканчивается. VeriCite доказывает, что надежный AI — это не тот, который «умнее», а тот, которого заставили проверять свои слова через отдельный фильтр. Хватит надеяться на авось и ждать, что модель сама расставит ссылки правильно. Нужно внедрять многоэтапную верификацию, иначе цена ошибки в данных будет слишком высокой, а доверие к ответам — нулевым.

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

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

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