3,583 papers
arXiv:2608.04591 80 5 авг. 2026 г. FREE

Coverage Certificate: заставляет LLM явно проверить полноту данных перед ответом «нет»

КЛЮЧЕВАЯ СУТЬ
Обнаружено: LLM путает «не нашёл» с «не существует» — даже не проверив, видела ли она весь документ. Coverage Certificate позволяет заставить модель проверить полноту данных перед тем как сказать «нет». Метод разбивает один смутный вывод на три чётких текстовых поля — охват вопроса, охват данных, сравнение — и только потом финальный вердикт. Если в промпт не попали приложения к договору, модель честно скажет «не знаю» вместо поспешного «нет».
Адаптировать под запрос

TL;DR

Coverage Certificate — техника, которая заставляет модель перед выводом «точно нет» проговорить вслух две вещи: что именно охватывает вопрос и что именно охватывают предоставленные данные. Только после сравнения этих двух охватов модель выдаёт финальный вердикт — «точно нет» или «не знаю».

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

Метод переводит эту скрытую (implicit) оценку полноты в явную: модель отдельно называет охват вопроса, отдельно — охват данных, и только затем сравнивает их и решает. Это разбивает один смутный вывод на три чётких текстовых поля.


🔬

Схема метода

ШАГ 1: Определить охват вопроса → текстовое описание (весь период? вся коллекция? все разделы?)
ШАГ 2: Определить охват данных → текстовое описание + пометка: полный / частичный
ШАГ 3: Сравнить → покрывают ли данные весь охват вопроса? (да/нет)
ШАГ 4: Финальный вывод → «Точно нет» (если да) / «Не знаю» (если нет)

Все четыре шага выполняются в одном промпте — модель выдаёт структурированный ответ целиком.


🚀

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

Задача: Предприниматель получил от контрагента договор поставки на 12 страниц и хочет проверить, нет ли в нём пункта о праве поставщика в одностороннем порядке менять цену.

Промпт:

Вот текст договора:
{вставить текст договора}

Вопрос: есть ли в этом договоре условие, дающее поставщику право
в одностороннем порядке изменять цену поставки?

Прежде чем ответить, сделай три шага явно:

1. Охват вопроса: определи, что именно я спрашиваю — весь документ 
   целиком, включая приложения и допсоглашения, или только основной текст?

2. Охват переданных данных: оцени, что именно тебе передано. 
   Это весь документ или только часть (например, без приложений, 
   без спецификаций, без допсоглашений)? Отметь: полный охват или частичный.

3. Сравнение: покрывает ли переданный тебе текст весь охват вопроса?

Дай финальный ответ в формате:
- Охват вопроса: ...
- Охват данных: ...
- Вывод: [Такого условия точно нет / Не могу утверждать — данных недостаточно]

Результат: модель выдаст три текстовых поля вместо простого «нет, такого пункта нет». Если в промпт не попали приложения или допсоглашения к договору, модель явно укажет это в поле «Охват данных» и честно ответит «не могу утверждать», а не сделает поспешный вывод об отсутствии условия.


🧠

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

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

Сильная сторона LLM — она хорошо раскладывает задачу на явные текстовые категории, если её прямо об этом попросить. Она умеет описать словами «что охватывает вопрос» и «что охватывают данные» отдельно, если дать структуру для этого.

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

Рычаги управления: - Добавь рассуждение (CoT) перед сертификатом — в исследовании комбинация «сертификат + пошаговое рассуждение» давала лучший результат. - Замени финальный вариант «не знаю» на «недостаточно данных, нужен полный документ» — практичнее для реальной работы с документами. - Убери требование «без объяснений» — так видно, где модель ошиблась: в определении охвата вопроса или охвата данных.


📋

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

Вот данные: {документ_или_список}

Вопрос: {есть ли X в этих данных}

Прежде чем ответить, сделай три шага явно:

1. Охват вопроса: определи, что именно спрашивается — весь период, 
   вся коллекция, все разделы или только часть?

2. Охват данных: оцени, что тебе передано целиком или частично. 
   Отметь явно: полный охват или частичный (и почему).

3. Сравнение: покрывают ли данные весь охват вопроса?

Финальный ответ дай в формате:
- Охват вопроса: ...
- Охват данных: ...
- Вывод: [Точно отсутствует / Не могу утверждать — данных недостаточно]

Подставь в {документ_или_список} — текст, файл или список, который проверяешь. В {есть ли X в этих данных} — конкретный факт, наличие которого проверяешь (пункт договора, упоминание в реестре, условие в списке исключений).

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

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

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

LLM спросит, какой именно документ и какой факт проверяем — потому что без этого она не сможет корректно заполнить поля «охват вопроса» и «охват данных». Она возьмёт структуру шаблона и адаптирует под твой случай.


⚠️

Ограничения

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

⚠️ Скрытая неполнота — слабое место метода: когда данные неполны, но это не сказано прямыми словами (а видно только по контексту), модель путается чаще всего — даже с сертификатом.

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


🔍

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

Команда собрала бенчмарк CROWN-QA из двух частей. Первая — синтетические пары вопросов, где вопрос и наблюдаемые факты зафиксированы, а меняется только одно: насколько предоставленные данные покрывают запрошенный охват. Вторая — контрастные наборы на реальных документах: индексы конференций ACL Anthology и инструкции к лекарствам DailyMed.

Проверили три модели (Qwen, Gemma, Claude Haiku) на семи разных стратегиях промптинга — от простого вопроса до явных правил, рассуждений и структурированных сертификатов. Измеряли долю ложных «нет» (over-closure) и долю лишних «не знаю» (under-closure).

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


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

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

Обнаружено: LLM путает «не нашёл» с «не существует» — даже не проверив, видела ли она весь документ. Coverage Certificate позволяет заставить модель проверить полноту данных перед тем как сказать «нет». Метод разбивает один смутный вывод на три чётких текстовых поля — охват вопроса, охват данных, сравнение — и только потом финальный вердикт. Если в промпт не попали приложения к договору, модель честно скажет «не знаю» вместо поспешного «нет».

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

Правило простое: сначала опиши, потом решай. Шаг 1 — что охватывает вопрос: весь документ или только текст без приложений? Шаг 2 — что охватывают данные, с пометкой полный или частичный охват. Шаг 3 — сравнение, и только затем вердикт. Модель не может сказать «нет», не назвав вслух что именно она проверила.

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

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

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

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

Мини-рецепт

1. Опиши охват вопроса: весь документ, включая приложения и допсоглашения, или только основной текст?
2. Опиши охват данных: что тебе передали — полный документ или часть? Отметь явно: полный или частичный охват.
3. Сравни: покрывают ли данные весь охват вопроса?
4. Дай вердикт: «точно нет» только если охват совпадает, иначе — «не знаю, данных недостаточно».
5. Усили комбо: добавь пошаговые рассуждения (Chain-of-Thought) перед сертификатом — модель реже путается.

Примеры

[ПЛОХО] : Есть ли в этом договоре пункт про одностороннее изменение цены?
[ХОРОШО] : Вот текст договора: {текст}. Сначала определи охват вопроса и охват переданных данных (полный или частичный), сравни их, и только потом дай вердикт: "точно нет" или "не знаю — данных недостаточно".
Источник: When Absence Is Evidence: Evaluating Completeness-Sensitive Negative Reasoning in Large Language Models
ArXiv ID: 2608.04591 | Сгенерировано: 2026-08-06 04:23

Проблемы LLM

ПроблемаСутьКак обойти
«Не нашёл» модель принимает за «точно нет»Спрашиваешь, есть ли что-то в документе или списке. Модель не находит — и сразу говорит «нет». Не проверяет, показали ли ей весь материал. Список может быть неполным, документ — без приложений. Модель об этом не задумывается. Особенно плохо, когда неполнота не сказана прямо словами, а видна только из контекста — тут модель почти всегда путаетсяЗаставь модель явно описать два охвата: что спрашивает вопрос и что покрывают данные. Только после сравнения этих двух охватов — вывод «нет» или «не знаю». Одно смутное решение разбивается на явные текстовые поля

Методы

МетодСуть
Coverage Certificate — сертификат полноты перед ответом «нет»Перед финальным выводом модель проходит три шага в одном промпте: (1) описывает охват вопроса — весь документ, весь период, вся коллекция или только часть; (2) описывает охват данных — что ей передали, полный это материал или частичный; (3) сравнивает — покрывают ли данные весь охват вопроса. Только потом даёт вывод: «точно нет» (если данные полные) или «не знаю» (если данные неполные). Почему работает: модель плохо справляется со скрытой фоновой оценкой полноты, но хорошо раскладывает задачу на явные текстовые категории, если прямо попросить. Три явных поля вместо одного смутного решения. Когда применять: проверка отсутствия пункта в договоре, факта в базе, условия в списке исключений, покрытия тестами — любая задача «докажи что чего-то нет». Когда не работает: неполнота данных не подписана прямыми словами, а скрыта в контексте — модель путается даже с сертификатом

Тезисы

ТезисКомментарий
Явное описание промежуточных категорий снижает логические ошибки моделиМодель плохо справляется, когда должна сама, «в фоне», оценить сложное условие (полноту, применимость, релевантность) и сразу выдать финальный вердикт. Она сваливается к упрощённой логике. Но если попросить сначала описать составляющие оценки текстом — по отдельным полям — она делает это точно. Разбивка одного смутного решения на явные текстовые шаги снижает вероятность ошибки. Применяй: для любой задачи «да/нет», где ответ зависит от скрытого условия (полнота, охват, актуальность) — попроси модель сначала явно описать это условие, а решение дать отдельным шагом после
📖 Простыми словами

When Absence Is Evidence: Evaluating Completeness-Sensitive Negative Reasoning inLargeLanguageModels

arXiv: 2608.04591

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

Это как если бы ты попросил друга проверить, есть ли в холодильнике молоко, а он, даже не открывая дверь, крикнул бы из комнаты: «Нету!». Почему? Потому что он не видит его прямо сейчас перед собой. Чтобы друг не тупил, его нужно заставить подойти, открыть дверцу и вслух перечислить: «Так, я смотрю в холодильник, тут есть колбаса и сыр, но молока я не вижу». Только после этого осознанного акта проверки «зоны видимости» его ответу можно верить. Метод Coverage Certificate делает ровно это — заставляет модель сначала очертить границы «холодильника», а потом уже делать выводы.

Работает это через жесткий алгоритм: модель обязана проговорить вслух, что именно от нее хотят найти, и какой конкретно объем данных ей подсунули. Этот сертификат покрытия — своего рода юридическая расписка нейронки перед самой собой. Если предприниматель просит найти пункт о смене цены в 12-страничном договоре, модель сначала фиксирует: «Я ищу пункт X, а передо мной документ Y». Если ей дали только три страницы из двенадцати, она увидит нестыковку и вместо ложного «пункта нет» честно скажет: «Я не знаю». Это критически важно, потому что в бизнесе или праве цена ошибки — полный провал.

Исследование гоняли на сложных логических задачах, но принцип универсален для любой работы с документами, кодом или базами знаний. Будь то проверка юридических рисков, поиск багов в огромном репозитории или анализ медицинских карт — везде, где «нет» может означать «я просто не всё вижу». Сейчас GEO и AI-поиск строятся на доверии к ответам моделей, и если не внедрять такие проверки на полноту, мы будем постоянно получать уверенные ответы, основанные на пустоте.

Короче: хватит верить модели на слово, когда она говорит «нет». Без явного подтверждения того, что она просмотрела весь контекст, её отрицательный ответ — это просто статистический шум. Используй Coverage Certificate, чтобы вытащить модель из режима ленивого стажера и заставить её признавать нехватку данных. Лучше получить осторожное «недостаточно инфы», чем влететь на деньги из-за того, что нейронка проглядела важный абзац.

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

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

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