TL;DR
AtomCite — техника, которая проверяет, действительно ли ответ AI ссылается на правильную страницу документа. Метод разбивает ответ на отдельные утверждения с привязкой к номеру страницы, потом проверяет каждое утверждение двумя каналами одновременно: по тексту страницы (через OCR) и по картинке самой страницы. Если каналы спорят — модель доверяет картинке.
Проблема в том, что модели при работе с многостраничными документами часто путают номер страницы или ссылаются на страницу, где факта нет. Причина проста: таблицы, печати, подписи, рукописный текст плохо распознаются автоматическим считыванием текста (OCR) — программа, которая превращает картинку страницы в текст, теряет часть информации. Из-за этого чисто текстовая проверка либо ошибочно принимает неправильную страницу, либо отвергает правильную — просто потому что текст с этой страницы считался с ошибками.
Метод решает это через пять шагов: разбить ответ на пары "утверждение + номер страницы", собрать саму цитируемую страницу плюс соседние (только для предложений исправления, не для вердикта!), проверить оба канала отдельно на цитируемой странице, объединить вердикты по чётким правилам (конфликт = флаг, спор = доверяй картинке), и применить типовое решение: оставить / поменять номер страницы / удалить утверждение / оставить с пометкой о конфликте.
Схема метода
ШАГ 1 (Разбор): Раздели ответ на пары "утверждение → номер страницы" → список claims
ШАГ 2 (Сбор доказательств): Возьми указанную страницу (текст+картинка)
+ окно ±2 соседних страницы (только для исправлений, не для вердикта)
ШАГ 3 (Проверка): Проверь каждое утверждение ПО УКАЗАННОЙ СТРАНИЦЕ двумя каналами
— текст → верно/неверно
— картинка → верно/неверно
ШАГ 4 (Поиск): Если на указанной странице не подтвердилось — просмотри соседние страницы,
найди где на самом деле есть подтверждение (или нигде)
ШАГ 5 (Решение): Примени правило —
подтверждено → оставить
найдено на другой странице → исправить номер
не найдено нигде → удалить утверждение
текст и картинка спорят → оставить, но пометить конфликт
Все пять шагов можно выполнить в одном промпте — если LLM видит и текст, и картинки страниц документа.
Пример применения
Задача: Финдиректор получил от ИИ-ассистента разбор квартального отчёта (25 страниц, скан с таблицами и подписями). Ассистент написал: "Выручка — 4,2 млн руб (стр. 7). Компания открыла 12 точек продаж (стр. 3). Аудит подписан главбухом 3 марта 2024 (стр. 11). Чистая прибыль — 0,8 млн руб (стр. 5)." Перед тем как нести это руководству, нужно проверить — точно ли цитаты верны.
Промпт:
Я прикладываю документ (страницы как картинки) и ответ ИИ с цитатами на страницы.
Проверь каждое утверждение по следующему алгоритму:
1. РАЗБОР: выпиши список пар "утверждение → номер страницы" из ответа.
2. ПРОВЕРКА: для каждой пары посмотри УКАЗАННУЮ страницу двумя способами —
- по тексту (как если бы читал OCR-распознавание)
- по картинке страницы (таблицы, подписи, печати, форматирование)
Дай отдельный вердикт по каждому каналу: подтверждено / не подтверждено.
3. ЕСЛИ НЕ ПОДТВЕРЖДЕНО на указанной странице — посмотри страницы ±2 от неё
(максимум 5 страниц окна) и определи, есть ли подтверждение там.
Это используй ТОЛЬКО для предложения исправления, не меняй логику вердикта.
4. ОБЪЕДИНИ каналы:
- оба канала подтвердили → ВЕРНО
- найдено на другой странице → НЕПРАВИЛЬНАЯ СТРАНИЦА (укажи правильную)
- не найдено нигде → НЕ ПОДТВЕРЖДЕНО
- текст и картинка противоречат друг другу → КОНФЛИКТ (не решай сам, пометь)
5. ДАЙ РЕКОМЕНДАЦИЮ по каждому утверждению:
- ВЕРНО → оставить как есть
- НЕПРАВИЛЬНАЯ СТРАНИЦА → исправить номер на правильный
- НЕ ПОДТВЕРЖДЕНО → удалить утверждение из ответа
- КОНФЛИКТ → оставить утверждение, но добавить пометку "требует проверки человеком"
Ответ дай таблицей: Утверждение | Указанная страница | Вердикт | Рекомендация | Комментарий
[Ответ ИИ для проверки: {текст ответа с цитатами}]
Результат: Модель выдаст таблицу из 4 строк — по каждому утверждению из отчёта. Для каждого будет виден вердикт по обоим каналам, итоговое решение и конкретная рекомендация (оставить/исправить номер/удалить/пометить конфликт). Если один из фактов на самом деле стоит на другой странице — модель это найдёт и предложит исправление номера, а не просто скажет "ошибка".
Почему это работает
Модели при работе с многостраничными документами путают номера страниц или галлюцинируют факты — особенно когда полагаются на распознанный текст, который плохо считывает таблицы, печати, рукописные подписи. Проверка "в лоб" по тексту через OCR не замечает этой потери информации: если текст с нужной страницы считался с ошибкой, модель либо неправильно отвергнет верную цитату, либо неправильно примет неверную.
LLM хорошо умеет сравнивать два независимых источника и явно называть противоречие, если попросить проверить раздельно текст и картинку, а не смешивать их в один вывод.
Метод обходит слабость через строгое разделение ролей: вердикт даётся только по указанной странице, а соседние страницы используются исключительно для предложения исправления — никогда для того, чтобы "натянуть" положительный вердикт. При конфликте каналов приоритет у картинки, потому что именно там теряется информация при распознавании текста.
Рычаги управления: - Размер окна поиска соседних страниц (±2) → увеличь для документов с разбросанной информацией (длинные контракты), уменьши для компактных таблиц - Строгость политики (удалить vs оставить с флагом) → смягчи, если боишься потерять важную информацию; ужесточи, если критична точность - Приоритет канала при конфликте → смени на текст, если у тебя чисто текстовый документ без сканов и таблиц
Ограничения
⚠️ Нужна мультимодальность: метод работает только если LLM реально видит страницы как картинки, а не просто текст. Без загрузки изображений выигрыш пропадает.
⚠️ Не для простых текстовых документов: если в документе нет таблиц, печатей, подписей, сканов — выигрыш от проверки картинкой минимален. Метод раскрывается на документах с визуальной сложностью.
⚠️ Трудоёмко для больших документов: ручная загрузка десятков страниц-картинок в чат неудобна. Метод создавался как автоматическая система с параллельными проверками — в чате это придётся делать вручную или частями.
Как исследовали
Исследователи собрали два теста: искусственно внедрённые ошибки цитирования (928 штук, каждая проверена автоматическим сканированием документа) и естественные ошибки — 2468 случаев, собранных из реальных ответов разных моделей, из которых 1909 подтвердили два независимых человека-аннотатора. Сравнили AtomCite против чисто текстовой проверки (в том числе с равным вычислительным бюджетом — чтобы исключить объяснение "просто больше токенов") и против прямого промптинга без структуры.
На трёх семействах моделей (Gemini, Claude, GPT) AtomCite показал около 93% точности верификации, заметно обогнав все текстовые варианты. Удивило, что даже когда текстовому варианту дали в три раза больше вычислительного бюджета — разрыв с картиночной проверкой не закрылся. Это значит, что дело не в объёме вычислений, а в том, что распознавание текста просто теряет визуальную информацию — таблицы, печати, подписи.
Отдельный и важный вывод: автоматические метки ошибок без проверки людьми искажают результаты и могут даже поменять порядок систем местами — то есть если верить только автоматическим меткам, чисто текстовая проверка может показаться лучше картиночной, хотя на самом деле это не так.
Ресурсы
AtomCite / DocCite benchmark. Авторы: Chen Qian, Yimeng Wang, Yu Chen, Lingfei Wu, Andreas Stathopoulos. William & Mary, Anytime AI.
