3,583 papers
arXiv:2609.03230 70 3 сент. 2026 г. FREE

LLM-ревьюер документов: пропускает половину реальных проблем, но почти не создаёт ложных тревог

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

TL;DR

Когда просишь LLM найти проблемы в тексте — техзадании, договоре, плане, требованиях — модель обнаружит в среднем меньше половины реальных проблем. Зато она почти никогда не паникует и не находит проблемы там, где их нет: ложных тревог всего около 11%. Это asymmetric error profile (перекошенный профиль ошибок) — модель ведёт себя как чересчур доверчивый редактор, который скорее пропустит ошибку, чем придумает несуществующую.

Хуже всего LLM справляется там, где нужно не просто прочитать текст, а прикинуть, соответствует ли он реальности. Например: "а нужен ли этот пункт вообще?" или "а точно ли это утверждение верное по факту?" Такие смысловые проверки модель почти всегда пропускает — она ловит опечатки, двусмысленные формулировки, повторы, но не "залезает под капот" содержания.

Дополнительная неприятность: новая версия модели не гарантирует улучшения этого паттерна. GPT-5 не обязательно лучше проверяет требования, чем GPT-4 — прогресс тут не линейный. И температура (степень случайности ответа) почти не влияет на этот паттерн ошибок — значит, дело не в "рулетке", а в системной слабости самой модели.


📌

Схема паттерна ошибок

ЗАПРОС: "Проверь текст на соответствие критериям качества"

ЧТО МОДЕЛЬ ЛОВИТ ХОРОШО:
→ Двусмысленные формулировки
→ Нарушение формата/стиля
→ Явные противоречия в тексте

ЧТО МОДЕЛЬ ПРОПУСКАЕТ:
→ "А нужен ли этот пункт вообще?" (необходимость)
→ "А это точно соответствует фактам?" (корректность)
→ Смысловые пробелы, которые не видны без контекста

РЕЗУЛЬТАТ: мало ложных тревог, но много пропущенных реальных проблем

🚀

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

Задача: Ты — руководитель проекта, готовишь техзадание для подрядчика (дизайн-студии, разработчика, агентства) и просишь ChatGPT проверить его перед отправкой.

Промпт (наивный, который НЕ спасёт от слепых зон):

Проверь это техническое задание на ошибки и неточности:
[текст ТЗ]

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

Промпт (с учётом слабости):

Проверь это техническое задание по трём отдельным вопросам, 
по очереди, не смешивая их:

1. Формулировки: есть ли двусмысленные, непонятные или 
   противоречивые пункты?

2. Необходимость: для каждого пункта ответь — а точно ли 
   он нужен для цели проекта, описанной здесь: [цель проекта]? 
   Отметь пункты, которые кажутся лишними или неочевидными.

3. Соответствие фактам: сверь пункты с реальными 
   ограничениями проекта: [бюджет, сроки, технические рамки]. 
   Есть ли пункты, которые физически/технически невыполнимы 
   или противоречат этим рамкам?

Текст ТЗ:
[текст]

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


🧠

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

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

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

Рычаг управления: если явно разделить проверку на "формулировки" отдельно от "необходимость и соответствие фактам" — ты заставляешь модель потратить внимание именно на слабые зоны, а не проскочить их мимоходом в общей проверке "найди все проблемы".


📋

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

Проверь {документ} по трём отдельным блокам, не смешивая их:

БЛОК 1 — Формулировки:
Есть ли двусмысленные, непонятные, избыточные или 
противоречивые формулировки?

БЛОК 2 — Необходимость каждого пункта:
Цель документа: {цель}.
Для каждого пункта ответь: точно ли он нужен для этой цели? 
Отметь пункты, которые кажутся лишними, дублирующими или 
не связанными с целью.

БЛОК 3 — Соответствие реальным ограничениям:
Реальные рамки: {бюджет / сроки / технические ограничения / факты}.
Есть ли пункты, которые противоречат этим рамкам или технически 
не выполнимы?

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

Подставь: {документ} — что проверяешь (ТЗ, договор, план, бриф), {цель} — зачем этот документ существует, {бюджет/сроки/ограничения} — реальные рамки проекта, {текст} — сам документ.

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

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

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

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


⚠️

Ограничения

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

⚠️ Не складывай проверки в цепочку агентов без человека: если один LLM-агент проверяет текст, а второй агент принимает решение на основе его вывода — пропущенная проблема первого агента "утечёт" дальше и её никто не поймает. Автоматизация проверки требований несколькими AI-агентами подряд рискует не исправить слабость, а размножить её.

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


🔍

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

Исследователи взяли два набора требований к инженерным системам: один — от опытных разработчиков (заявка на конкурс NASA по роботу-манипулятору), другой — от студентов без инженерной подготовки (учебное упражнение с системой выдачи книг). Три эксперта вручную разметили каждое требование по девяти критериям качества из стандарта INCOSE — получилась "эталонная истина".

Дальше десять моделей (пять поколений OpenAI и пять поколений Anthropic) прогнали через сто независимых попыток оценки каждого требования, при пяти разных уровнях температуры (степени случайности ответа). Это позволило не просто посмотреть на один ответ модели, а увидеть разброс её ошибок при повторных попытках.

Результат подтвердил не случайность, а системность: лучшая модель Anthropic находила медианно только 47% реальных проблем, при этом ложно отмечая лишь 11% нормальных пунктов как проблемные. Особенно плохо давались критерии "необходимость" и "корректность" — именно те, что требуют инженерного суждения, а не анализа текста. И что удивило исследователей — смена температуры почти не меняла картину, а смена поколения модели иногда даже ухудшала результат. Это и привело к главному выводу: слабость системная, не случайная, и лечится она только человеком в контуре проверки, не более новой моделью.


🔗

Ресурсы

Two Truths and A Lie? Benchmarking off-the-shelf LLMs for Requirements Quality Assessment — Performance, False Alarms, and Misses Jannatul Shefa, Taylan G. Topcu (Virginia Tech); Alejandro Salado, Paul Wach (University of Arizona) Стандарт качества требований: INCOSE Systems Engineering Handbook (2023)


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

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

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

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

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

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

LLM видит текст, а не реальность за ним. Странную формулировку или повтор внутри одного предложения — это паттерн языка, модель ловит железно. Но "нужен ли этот пункт" требует сверки с целью проекта, а "это правда факт" — со знаниями за пределами текста. Модель обучена не выдумывать проблем — отсюда всего 11% ложных тревог, но и куча пропущенных реальных. Смена версии модели с GPT-4 на GPT-5 это не чинит — паттерн ошибок системный, а не случайный сбой.

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

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

Мини-рецепт

1. Раздели проверку на три блока: формулировки отдельно от необходимости и фактов — не смешивай всё в одном запросе "найди все ошибки".
2. Дай контекст: укажи цель документа и реальные ограничения (бюджет, сроки, технические рамки) — без них модели не с чем сверять смысл.
3. Спроси про каждый пункт отдельно: "нужен ли этот пункт для цели?" — общий вопрос к тексту модель почти всегда пропускает.
4. Оставь финальную проверку человеку: даже с разбивкой модель упустит часть смысловых проблем — риск снижается, но не исчезает.

Примеры

[ПЛОХО] : Проверь это техническое задание на ошибки и неточности: [текст]
[ХОРОШО] : Проверь ТЗ по трём блокам отдельно: 1) двусмысленные формулировки, 2) нужен ли каждый пункт для цели [цель проекта], 3) не противоречит ли пункт ограничениям [бюджет/сроки]. Текст: [текст]
Источник: Two Truths and A Lie? Benchmarking Off-the-Shelf LLMs for Requirements Quality Assessment: Performance, False Alarms, and Misses
ArXiv ID: 2609.03230 | Сгенерировано: 2026-09-04 04:29

Проблемы LLM

ПроблемаСутьКак обойти
Пропускает больше половины реальных проблем, но почти не выдумывает лишнихПросишь найти ошибки в тексте (ТЗ, договор, план). Модель находит меньше половины реальных проблем. Зато почти никогда не критикует нормальный текст — ложных тревог около 11%. Модель ведёт себя как слишком доверчивый редактор: лучше промолчит, чем придумает проблемуНе доверяй одному проходу "найди все ошибки". Явно проси модель отдельно проверить формулировки, отдельно — смысл, отдельно — соответствие фактам
Не проверяет соответствие тексту внешнего контекстаМодель хорошо ловит опечатки, двусмысленность, повторы — это видно прямо в тексте. Но вопросы "а нужен ли этот пункт" или "а верно ли это по факту" требуют сравнения текста с внешней реальностью — целью проекта, бюджетом, законами физики. Такие проверки почти всегда проваливаются, для любых типов документов (ТЗ, код, контракты, планы)Дай модели явный внешний контекст (цель, бюджет, ограничения) отдельным блоком запроса и попроси сверить каждый пункт именно с ним, а не просто "проверить текст"

Методы

МетодСуть
Разбивка проверки на отдельные типы — повышает полнотуНе проси "найди все проблемы" одним запросом. Раздели на блоки: 1) формулировки, 2) нужен ли каждый пункт (с явной целью документа), 3) соответствует ли фактам/ограничениям (с явными рамками). Проверь по трём отдельным блокам, не смешивая их: .... Работает потому что модель по умолчанию тратит внимание на поверхностные сигналы (опечатки, повторы) и проскакивает смысловые проверки — явное разделение вопросов заставляет её потратить ресурс именно на слабые зоны. Когда да: любая проверка документа на полноту и корректность. Когда нет: не устраняет проблему полностью — финальную смысловую проверку всё равно должен делать человек
📖 Простыми словами

Two Truths and A Lie? Benchmarking Off-the-ShelfLLMsfor Requirements Quality Assessment: Performance, False Alarms, and Misses

arXiv: 2609.03230

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

Это как поручить проверку чертежей здания доверчивому стажёру. Он радостно подчеркнёт опечатки в экспликации, но вежливо промолчит, что на плане нет несущих стен и лестниц. При этом стажёр не устраивает панику на пустом месте — ложных тревог у него всего около 11%, он просто свято верит, что автор документа не дурак.

В исследовании этот феномен назвали асимметричным профилем ошибок. Базовые LLM вроде ChatGPT страдают хронической слепотой: пропуск более 50% критических проблем для них норма. Зато если нейросеть всё-таки заорала и ткнула пальцем со словами "тут лажа", то почти в 9 случаях из 10 там действительно лажа.

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

Короче: использовать LLM как финального аудитора — верный способ выстрелить себе в ногу. Скармливай ей документы, чтобы быстро отловить структурный и словесный мусор, но глубокую фактуру всегда перепроверяй руками. Доверяй AI форму, но контроль логики держи на себе, иначе разгребать факапы придётся за свой счёт.

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

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

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