3,583 papers
arXiv:2609.09696 78 9 сент. 2026 г. FREE

Пачка документов ломает LLM-аудитора: модель не сдаётся, она врёт правдоподобно

КЛЮЧЕВАЯ СУТЬ
Обнаружено: LLM никогда не признаётся "я не справился с объёмом" — вместо отказа она выдаёт складный отчёт с выдуманными находками. На одном документе модель ловит половину подложенных ошибок, на пачке из 48 — уже только 3 из 100, а фейковые находки звучат ровно в том же стиле, что настоящие. Метод дробления пачки и вставки полного текста в промпт позволяет проверять документы на ошибки без скатывания в галлюцинации. Фишка — модель не путается, она достраивает ответ под жанр экспертного отчёта, который от неё ждут, а не под то, что реально написано в тексте.
Адаптировать под запрос

TL;DR

Если попросить LLM проверить много документов на ошибки за один раз, модель не скажет "не могу, слишком много". Она выдаст уверенный, складно оформленный отчёт с "найденными" проблемами — и почти все они будут выдуманы. На одном документе модель находит половину подложенных ошибок, на пачке из 7-10 — почти столько же, а на пачке из 48 документов — находит примерно 3 ошибки из 100 реальных, при этом сообщает о десятках несуществующих.

Самое неприятное — фейковые находки звучат ровно в том же стиле, что настоящие. Исследователи подложили в документы абсурдные вставки типа "dolphin choir" вместо "supply chain". Когда модель захлебнулась объёмом, она стала выдумывать свои абсурдности — "quantum-powered toaster", "telepathic squirrel" — которых не было ни в одном документе. Модель не путается и не сомневается, она достраивает ответ под жанр, который от неё ожидают, а не под то, что реально написано в тексте. И хуже всего ловятся не абсурдные, а самые правдоподобные ошибки — опечатки и смысловые перевороты ("улучшение" → "ухудшение"), то есть именно то, что чаще всего встречается в реальных документах.

Решение исследователей простое и без кода: дробить пачку до 1-10 документов, вставлять текст целиком в промпт, а не давать ссылку на файл, и проверять каждую находку вручную — искать точную цитату в исходном тексте, а не верить формулировке модели.


🔬

Схема метода

ШАГ 1: Ограничь размер пачки → не больше 5-10 документов за один запрос
ШАГ 2: Вставь полный текст документа в промпт → не ссылку, не номер файла, не "см. документ выше"
ШАГ 3: Попроси модель ЦИТИРОВАТЬ точный фрагмент для каждой найденной ошибки → формат "нашёл: [цитата], было бы правильно: [вариант]"
ШАГ 4: Сам проверь каждую цитату по Ctrl+F в исходнике → отсеиваешь всё, что модель не может подтвердить точной строкой

Все шаги — в рамках одного диалога, без API.


🚀

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

Задача: Юрист небольшой компании получил от подрядчика 40 версий договора с правками и подозревает, что где-то в тексте условие "ответственность несёт Заказчик" тихо подменили на "ответственность несёт Исполнитель".

Промпт:

Вот текст договора целиком (вставляю полностью, не ссылку):

[текст договора 1]

Проверь этот документ на смысловые подмены: изменение направления ответственности, 
искажение сроков, замену "может" на "должен" и наоборот.

Для каждой найденной проблемы:
1. Процитируй ТОЧНЫЙ фрагмент из текста выше
2. Укажи, что там было бы логично ожидать
3. Не сообщай о находке, если не можешь процитировать точную строку из текста

Если ничего подозрительного не нашёл — напиши "проблем не найдено", а не выдумывай.

Результат: Если отправить так — по одному договору за раз, с полным текстом — модель находит примерно половину реальных подмен и почти не выдумывает лишнего. Если вместо этого закинуть все 40 договоров одним запросом и попросить проверить все сразу — модель выдаст уверенный список "найденных проблем", но большинство из них не будет соответствовать реальному тексту документов. Единственный способ поймать разницу — проверить каждую цитату лично.


🧠

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

LLM не умеет честно сказать "я не осилил объём" — у неё нет встроенного счётчика "сколько я реально обработал". Когда контекста слишком много, модель не снижает точность равномерно, она переключается с чтения на угадывание жанра ответа. Она понимает, какого типа находки от неё ждут (абсурдные вставки, опечатки), и генерирует правдоподобные примеры этого типа — вместо того, чтобы искать их в реальном тексте.

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

Рычаги управления: - Размер пачки → уменьшай агрессивно. 1-10 документов — работает, 48 — почти полный провал. Если сомневаешься, дели пополам ещё раз. - Ссылка vs вставка текста → всегда вставляй сам текст, а не "проверь документ, который я загрузил ранее" или номер файла. Ссылка на контент — триггер выдумывания. - Требование цитаты → добавь в промпт "процитируй точный фрагмент". Это не убирает выдумывание полностью, но даёт тебе способ проверить находку за секунды.


📋

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

Вот текст документа целиком:

{текст_документа}

Проверь этот текст на {тип_ошибок, например: подмену смысла, опечатки, вставки не по теме}.

Для каждой найденной проблемы:
1. Процитируй ТОЧНЫЙ фрагмент из текста выше — не пересказывай, а копируй
2. Объясни, что не так
3. Если не можешь процитировать точную строку из присланного текста — не сообщай о находке

Если ничего не нашёл — напиши "проблем не найдено".
Обрабатывай не больше {5-10} документов за один запрос.

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

Вот принцип проверки документов на ошибки через LLM. Адаптируй под мою задачу: {опиши какие документы и какие ошибки ищешь}.
Задавай вопросы, чтобы заполнить поля.

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

LLM спросит, какой тип ошибок искать и сколько документов у тебя всего — потому что от этого зависит, на сколько партий дробить проверку.


⚠️

Ограничения

⚠️ Большие пачки убивают точность: при проверке около 50 документов за раз находки почти полностью выдуманы, реальные ошибки остаются незамеченными.

⚠️ Правдоподобные ошибки прячутся лучше всего: опечатки и смысловые развороты модель находит хуже, чем явные абсурдности — а именно такие ошибки чаще всего встречаются в реальной жизни.

⚠️ Модель никогда не сообщает о перегрузке: нет сигнала "я не справился". Отчёт выглядит одинаково уверенно и при 50% точности, и при 3%.

⚠️ Требование цитаты не панацея: модель может слегка искажать даже цитируемый фрагмент (пример из статьи: реальная ошибка "volcano dance", модель нашла "disco dance" — верное место, неверный текст). Ручная проверка всё равно нужна.

⚠️ Выводы из одного прогона одной модели: тест сделан на Gemini 3.0 Pro (бесплатная версия), один прогон без вариаций промпта. Цифры могут отличаться на других моделях, но сам механизм (перегрузка → выдумывание, а не отказ) — общее свойство LLM, документированное и в других работах.


🔍

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

Команда собрала 150 настоящих научных статей (логистика и медицина) и подложила туда 450 испорченных фрагментов трёх типов: опечатки, смысловые развороты ("улучшение" → "ухудшение") и абсурдные вставки ("supply chain" → "dolphin choir"). Потом попросили Gemini 3.0 Pro найти эти подлоги в трёх режимах: один документ, маленькая пачка (7-10 документов) и большая пачка (48 документов), сверяя ответы модели с заранее составленным списком правильных ответов.

Результат оказался не постепенным ухудшением, а обвалом: с 50-60% находок на маленьком масштабе до 2.8% на большом. Что удивило исследователей — модель не молчала и не признавала перегрузку, а выдавала уверенные списки находок, включая полностью придуманные пункты в том же абсурдистском стиле, что и настоящие подложенные ошибки. Это значит, что фактически модель угадывала жанр ожидаемого ответа, а не читала текст. Отдельно заметили: абсурдные вставки ловились в 75% случаев, а более "тихие" ошибки (опечатки, смысловые перевороты) — только в 50%, то есть модель хуже всего работает именно там, где в реальной жизни ошибки обычно и живут.


🔗

Ресурсы

When Auditors Fabricate: Batch-Size Degradation and Confident Hallucination in LLM Detection of Planted Document Contamination. Karan Parekh, Sanjana Pendyala Ravinder, Sana Mhapsekar, Medina Maloku — University of North Texas, август 2026. Код и логи: github.com/karanparekh14/llm-contamination-detection-eval Корпус документов и ключ ответов: github.com/karanparekh14/genai-rag-qa-portfolio


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

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

Обнаружено: LLM никогда не признаётся "я не справился с объёмом" — вместо отказа она выдаёт складный отчёт с выдуманными находками. На одном документе модель ловит половину подложенных ошибок, на пачке из 48 — уже только 3 из 100, а фейковые находки звучат ровно в том же стиле, что настоящие. Метод дробления пачки и вставки полного текста в промпт позволяет проверять документы на ошибки без скатывания в галлюцинации. Фишка — модель не путается, она достраивает ответ под жанр экспертного отчёта, который от неё ждут, а не под то, что реально написано в тексте.

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

Правило простое: чем больше документов в одном запросе, тем меньше реального чтения и больше угадывания жанра. Модель как студент, который не успел выучить все билеты — она не скажет "не выучила", а уверенно расскажет что-то похожее на правильный ответ. Дробить пачку до 1-10 документов и вставлять текст целиком, а не ссылку на файл — единственный рабочий рычаг.

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

Причина техническая: у LLM нет счётчика "сколько я реально обработал". Когда текста слишком много, модель не проседает равномерно — она резко переключается с чтения на угадывание жанра ответа. Модель отлично имитирует формат экспертного отчёта — и именно это умение создаёт проблему: фейковый список неотличим от настоящего по стилю. На 48 документах модель находит 3 ошибки из 100, но сообщает о десятках несуществующих с той же уверенностью, что и о реальных.

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

Работа с документами → для проверки договоров, юридических правок, финансовых отчётов на смысловые подмены и опечатки, особенно когда документов больше 10-15. Не подходит для быстрой массовой проверки без ручной сверки цитат — тут метод не спасает от выдумывания, только помогает его обнаружить.

Мини-рецепт

1. Режь пачку: не больше 5-10 документов за один запрос, при сомнении дели ещё раз.
2. Вставляй текст целиком: копируй документ прямо в промпт, а не давай ссылку или номер файла — ссылка провоцирует выдумывание.
3. Требуй точную цитату: для каждой находки проси "процитируй фрагмент, а не пересказывай".
4. Проверяй сам: ищи цитату по Ctrl+F в исходнике — если не находишь, находка выдумана.

Примеры

[ПЛОХО] : Вот 40 договоров подряд, проверь все на подмену ответственности
[ХОРОШО] : Вот текст договора №1 целиком: [вставка]. Проверь на подмену "ответственность несёт Заказчик" на "Исполнитель". Процитируй точный фрагмент для каждой находки, иначе не сообщай о ней.
Источник: When Auditors Fabricate: Batch-Size Degradation and Confident Hallucination in LLM Detection of Planted Document Contamination
ArXiv ID: 2609.09696 | Сгенерировано: 2026-09-10 04:22

Проблемы LLM

ПроблемаСутьКак обойти
Перегрузка объёмом уверенное вранье вместо признания провалаДай модели проверить много документов сразу. Модель не скажет "не справился". Она выдаст такой же складный отчёт, как при малом объёме. Только находки в нём почти все выдуманные. Точность падает резко, не постепенно. Один документ — половина реальных ошибок найдена. Пачка из 40-50 — почти всё выдуманоРазбей проверку на пачки по 1-10 документов. Вставляй полный текст документа в сам запрос, не давай ссылку или номер файла. Требуй точную цитату для каждой находки — потом проверь её вручную по исходнику

Методы

МетодСуть
Дробление + прямая вставка текста + обязательная цитата — проверка массива документов на ошибкиДелай так: 1) не больше 5-10 документов за один запрос; 2) вставляй текст документа целиком в промпт, не ссылку на файл; 3) требуй от модели цитировать точный фрагмент для каждой найденной проблемы; 4) сверяй цитату с оригиналом сам (Ctrl+F). Почему работает: маленький объём не даёт модели "заблудиться" и перейти в режим угадывания. Требование цитаты не убирает выдумывание полностью, но даёт быстрый способ поймать подделку — цитата либо есть в тексте, либо нет. Когда работает: поиск ошибок, подмен смысла, опечаток в текстах, договорах, кода. Когда не работает: если не проверяешь цитаты вручную — метод бесполезен, модель может слегка искажать даже цитируемый фрагмент

Тезисы

ТезисКомментарий
Уверенный и складный стиль ответа не говорит о его точностиМодель одинаково хорошо оформляет и настоящие находки, и выдуманные — тем же тоном, той же структурой по пунктам. Форма ответа отражает то, каким модель ожидает "должен выглядеть правильный ответ", а не реальную проверку текста. Применяй: не доверяй ответу из-за его убедительности. Проверяй факты отдельно от оценки стиля, особенно если запрос был объёмный
📖 Простыми словами

When Auditors Fabricate: Batch-Size Degradation and Confident Hallucination inLLMDetection of Planted Document Contamination

arXiv: 2609.09696

У нейросетей нет встроенного тормоза и совести, поэтому модель никогда не скажет: «я не вывожу такой объём». Когда ты закидываешь в LLM огромную пачку документов на аудит, у неё вырубается режим чтения и включается генерация жанра отчёта. Модель просто знает, как визуально выглядят найденные баги или подмены в тексте, и начинает уверенно сочинять несуществующие ошибки, полностью игнорируя реальный контекст.

Это как нанять стажёра и заставить его за ночь вычитать 50 договоров. Вместо того чтобы признаться, что он уснул на третьей странице, он утром кладёт тебе на стол красивый отчёт со списком правок, которые только что выдумал в такси. Формально задача выполнена, вид солидный, но доверять этой бумажке — верный способ выстрелить себе в ногу.

В исследовании этот эффект назвали деградацией пакетной обработки (batch-size degradation). На одном файле модель стабильно находит около 50% реальных ошибок, на пачке до 10 штук держится на том же уровне, но на 48 документах наступает катастрофа: модель видит всего 3 ошибки из 100, зато вываливает десятки выдуманных проблем. Причём делает это с непоколебимой уверенностью эксперта.

Тестировали на договорах с подменой условий, но принцип универсален. Та же фигня произойдёт при пакетном код-ревью сотен файлов, поиске аномалий в логах или аудите финансовых отчётов. Как только ты пытаешься сэкономить время и запихиваешь всю базу в один промпт, AI перестаёт быть фактчекером. Большое контекстное окно не спасает от глупости.

Короче: забудь про идею скормить модели архив целиком и получить честный аудит. Дроби задачи на атомы и проверяй документы строго поштучно или микро-пачками. Иначе вместо автоматизации ты просто заплатишь за то, чтобы нейросеть уверенно навешала тебе лапши на уши.

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

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

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