3,583 papers
arXiv:2606.23238 72 22 июня 2026 г. FREE

HOLMES: как LLM срезает углы при анализе правил — и как это исправить

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

TL;DR

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

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

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


📌

Схема техники

Выполняется в одном промпте — через явную структуру шагов:

ШАГ 1: перечисли все правила → список применимых пунктов
ШАГ 2: выяви конфликты → какие правила противоречат друг другу
ШАГ 3: реши конфликты → кто кого перекрывает (приоритет / исключение / общее → частное)
ШАГ 4: финальный ответ → вывод + ссылка на каждый задействованный пункт

Если несколько категорий → для каждой категории: ШАГ 1–4 отдельно → итоговое сравнение

🚀

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

Задача: Ты HR-менеджер в компании. Сотрудник Илья Зайцев, старший разработчик, едет в командировку в Новосибирск. Нужно проверить, что он может компенсировать по трём разным политикам: общей командировочной политике, регламенту IT-отдела и новому положению о поездках в регионы. Политики пересекаются — например, IT-регламент устанавливает повышенный лимит суточных, а региональное положение ограничивает жильё 4000 ₽/ночь.

Промпт:

Действуй как специалист по корпоративным регламентам.

Задача: определить, что именно может компенсировать Илья Зайцев (старший разработчик, 
поездка в Новосибирск, 5 дней).

Применимые регламенты:
[вставь тексты трёх политик]

Выполни строго по шагам:

ШАГ 1 — Применимые правила
Перечисли ВСЕ пункты из всех трёх документов, которые относятся к данному случаю.
Не пропускай ни одного — даже если кажется, что он противоречит другому.

ШАГ 2 — Конфликты между правилами
Найди все пары правил, которые дают разные результаты по одному и тому же вопросу.
Для каждого конфликта укажи: какие пункты конфликтуют и в чём именно расхождение.

ШАГ 3 — Разрешение конфликтов
Для каждого конфликта из ШАГа 2 определи, какое правило имеет приоритет.
Используй логику: специальное > общее, более новое > старое, явное исключение > базовое правило.
Обоснуй каждое решение.

ШАГ 4 — Итог
Дай финальный список того, что компенсируется и что нет.
К каждому пункту укажи, на каком именно правиле из ШАГа 3 основан вывод.

Результат: Модель пройдёт все четыре шага явно. Ты увидишь не только итог, но и полную карту рассуждений: какие пункты регламентов применились, где были конфликты, какое правило взяло верх и почему. Если рассуждение кажется тонким — в ШАГ 2 почти пусто — это сигнал, что модель могла срезать угол: верни её и потребуй найти конфликты принудительно.


🧠

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

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

Структурированный шаблон «заставляет» модель не торопиться. Явное требование «перечисли ВСЕ правила» до того, как модель начнёт решать — это буфер, который мешает пропустить неудобные пункты. Шаг с конфликтами отдельно от шага с решением — это ещё один барьер перед срезанием угла.

Рычаги управления: - Добавить: "Если в ШАГ 2 нет конфликтов — объясни, почему они исключены" → модель не сможет тихо пропустить этот шаг - Для нескольких категорий людей: вынеси каждую в отдельный блок Категория А: [ШАГ 1–4] → снижает путаницу между условиями - Для проверки рассуждения: попроси добавить ШАГ 0 — перечисли все категории лиц/сценариев, затронутых задачей — это ловит ошибки до начала анализа


📋

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

Действуй как [роль: юрист / HR-специалист / аналитик регламентов].

Задача: {задача — конкретная ситуация, лицо, параметры}

Применимые правила / документы:
{вставь текст правил, регламентов, политик, договорных пунктов}

Выполни строго по шагам:

ШАГ 1 — Применимые правила
Перечисли ВСЕ пункты из всех документов, которые касаются данного случая.
Не пропускай ни одного — даже если он противоречит другому.

ШАГ 2 — Конфликты
Найди все пары правил, дающих разные результаты по одному вопросу.
Для каждого конфликта: какие пункты, в чём расхождение.
Если конфликтов нет — объясни почему.

ШАГ 3 — Разрешение конфликтов
Для каждого конфликта из ШАГа 2: какое правило побеждает и почему.
Логика приоритета: специальное > общее / новое > старое / исключение > базовое.

ШАГ 4 — Итог
Финальный вывод. К каждому тезису — ссылка на пункт из ШАГа 3.

{если несколько категорий людей или сценариев — добавь: 
"Для каждой категории выполни ШАГ 1–4 отдельно, затем сравни итоги."}

Что подставлять: - {роль} — кто смотрит на документ: юрист, HR, бухгалтер, аналитик - {задача} — конкретный человек + ситуация + параметры - {правила} — тексты политик, договорных пунктов, регламентов - {несколько категорий} — добавляй когда анализируешь несколько групп людей или сценариев одновременно


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

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

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

LLM уточнит роль (кто анализирует), конкретные параметры ситуации и тексты правил — потому что без них шаги 1–3 невозможно выполнить точно. Она возьмёт структуру шаблона и заполнит под твою задачу.


⚠️

Ограничения

⚠️ Высокая точность ответа ≠ надёжное рассуждение: Если тебе важен только итог — модель скорее всего справится. Если важна аудиторская цепочка (договор, регламент, апелляция) — проверяй не только ответ, но и полноту ШАГа 2.

⚠️ Сложные составные сценарии: Чем больше независимых правил нужно применить и агрегировать — тем хуже. Даже лучшая модель в исследовании едва преодолевала 50% на задачах с 4–5 параллельными цепочками. Разбивай такие задачи на несколько отдельных запросов.

⚠️ Числовые расчёты внутри правил: Логика «правило А применяется, если сумма X < порога Y» даётся хуже, чем чисто текстовые условия. Для таких задач дополнительно проси модель выписать все числовые условия отдельно до анализа.

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


🔍

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

Команда из Пекинского университета создала набор из 1379 задач в двух доменах: юридические коллизии (на основе Уголовного кодекса Китая и выдуманных регулятивных систем) и финансовые возмещения расходов (реальный регламент командировок Фуданьского университета). Каждая задача была не просто написана вручную — авторы сначала формализовали правила в Isabelle/HOL (математическая система證доказательств), потом автоматически генерировали случаи и проверяли корректность ответов формальным солвером. То есть «правильный ответ» был не мнением эксперта, а математически верифицированным выводом.

Любопытный методологический ход: чтобы поймать «обходной» путь моделей, исследователи смотрели не только на финальный ответ, но и на качество рассуждения — насколько модель упоминала все нужные конфликтующие правила. Оказалось: точность ответа не падала при увеличении числа конфликтов, а вот охват нужных правил в рассуждении падал резко. Это прямое доказательство того, что модели «угадывают» через один ключевой пункт, а не строят полную цепочку. Проверили на 11 моделях, включая DeepSeek-V3.2, Qwen3, GPT-5.4-Mini, Gemini-3.1-Flash. Средняя точность по всем задачам — 50.64%, лучший результат — 59.54% (Qwen3.6-Flash).


💡

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

🔧 Техника: [Принудительная экспертиза конфликтов] → выявляй невидимые противоречия

Иногда ты не знаешь, конфликтуют ли правила — просто хочешь проверить. Добавь в ШАГ 2 конкретный запрос:

"Для каждого пункта из ШАГа 1 проверь: есть ли другой пункт в документе, который ограничивает, отменяет или противоречит ему. Если не нашёл конфликтов — укажи это явно."

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


🔧 Экстраполяция: Комбинация с Chain-of-Thought для числовых расчётов

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

ШАГ 2.5 — Числовые условия
Выпиши все числовые пороги и условия из применимых правил.
Для каждого: укажи числовое значение из ситуации и сравни с порогом явно.

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


🔗

Ресурсы

HOLMES: Evaluating Higher-Order Logical Reasoning in LLMs GitHub: https://github.com/wuyucheng2002/HOLMES

Авторы: Yucheng Wu, Jundong Xu, Mingzhen Ju, Yue Yu, Chenpeng Wang, Haoxuan Li, Liangming Pan

Организации: State Key Laboratory of Multimedia Information Processing, Peking University; Beijing Academy of Artificial Intelligence; National University of Singapore; YiXin-AILab (YIXIN, Beijing)


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

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

Парадокс: 80% правильных ответов на задачах с конфликтующими правилами — и это плохая новость. Модель набирает высокие баллы не потому что честно разбирает все столкновения правил. Она находит «победителя» — приоритетное правило или исключение — и останавливается. Остальные конфликты просто пропускает. Ответ правильный, рассуждение неполное. Техника явной трассировки правил позволяет получить не только финальный вывод, но и разбор каждого конфликта — критично там, где важен не только результат, но и основание: юридические документы, кадровые политики, нормативные проверки. Структурированный промпт переключает модель из режима «найди ответ» в режим «пройди все шаги» — через явный список: перечисли применимые правила, проверь каждое, назови конфликты, только потом дай вывод. Для задач с разными категориями (разные правила для разных групп людей) точность без этой техники падает ниже 50% — даже у лучших моделей.

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

LLM движется к наиболее вероятному итоговому токену. Когда в задаче есть явное решающее правило — исключение или более высокий приоритет — модель выходит на него и закрывает задачу. Остальные конфликты становятся шумом: они уже не нужны для правильного ответа, так зачем их разбирать? Ошибка невидима снаружи — видна только при проверке хода рассуждений. Явная структура промпта обходит эту срезку. Ты обязываешь модель пройти каждый шаг: все применимые правила → условие каждого → назвать конфликты и приоритет → только потом ответ. Модель хорошо следует явным пошаговым инструкциям. Используй это против её же лени.

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

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

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

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

Мини-рецепт

1. Вынеси правила отдельно: Перечисли все правила явным списком перед фактами случая. Цитируй дословно — не пересказывай своими словами, это размывает условия.

2. Задай факты компактно: Конкретные детали — кто, что, сколько, когда. По одной строке на факт. Без лишних деталей.

3. Обяжи к трассировке четырьмя шагами: Шаг 1: перечисли все применимые правила. Шаг 2: для каждого — условие выполнено или нет. Шаг 3: назови конфликты и объясни приоритет. Шаг 4: финальный ответ только после полного разбора.

4. Задержи финальный вывод явно: Добавь фразу «Финальный ответ — только после того, как разобраны все правила и конфликты». Это буквально убирает у модели возможность прыгнуть к ответу раньше времени.

5. Несколько категорий — несколько запросов: Разные правила для разных групп людей или ситуаций? Делай отдельный запрос на каждую. Не проси агрегировать всё в одном — точность рушится нелинейно.

Примеры

[ПЛОХО] : Иван потратил 12 000 руб/ночь на отель в Москве. Лимит 8 000, была встреча с клиентом, директор одобрил. Возместить?
[ХОРОШО] : Правила: 1. Базовый лимит: 8 000 руб/ночь для рядовых сотрудников 2. Москва: базовый лимит × 1.5 3. Исключение: клиентская встреча + одобрение директора — лимит снимается полностью Факты: Иван Петров, менеджер (рядовой), Москва, отель 12 000 руб/ночь, клиентская встреча — да, одобрение директора — да. Разбери случай: Шаг 1. Перечисли все применимые правила. Шаг 2. Для каждого: условие выполнено? Что даёт это правило? Шаг 3. Если правила конфликтуют — назови конфликт, укажи приоритет и почему. Шаг 4. Финальный ответ только после полного разбора: одобрить / отказать / частично + сумма + обоснование. Результат: модель последовательно разберёт все три правила, явно укажет что правило 3 перекрывает правила 1 и 2, и объяснит это — а не просто скажет «да, возместить».
Источник: HOLMES: Evaluating Higher-Order Logical Reasoning in LLMs
ArXiv ID: 2606.23238 | Сгенерировано: 2026-06-28 21:34

Проблемы LLM

ПроблемаСутьКак обойти
Модель находит первое доминирующее правило и останавливаетсяЕсть три правила. Одно — явно сильнее остальных: исключение или высший приоритет. Модель находит его, даёт ответ, пропускает остальные конфликты. Ответ верный. Рассуждение неполное. Проблема не видна в финальном ответе. Видна только при проверке хода мысли. Критично для юридических, кадровых, нормативных задач — там важен не только вывод, но и путьТребуй полную трассировку явно. Не спрашивай "какое решение". Инструктируй: перечисли все правила, проверь каждое, назови каждый конфликт, только потом дай ответ. Смотри метод ниже
Правила с разными областями применения путают модельПравило X — для одной категории. Правило Y — для другой. В одном запросе модель путает ветки, пропускает условия, ошибается в агрегации. Точность падает ниже 50% — хуже случайного угадывания. Чем больше категорий — тем хуже, нелинейноДелай отдельный запрос на каждую категорию. Не проси разобрать несколько групп сразу. Это не рекомендация — это необходимость

Методы

МетодСуть
Полная трассировка правил — обязательные шаги до финального выводаСтруктура запроса: Шаг 1 — перечисли все применимые правила. Шаг 2 — для каждого правила: условие выполнено? что даёт? Шаг 3 — если правила дают разные выводы: назови конфликт, укажи приоритет, объясни почему. Шаг 4 — финальный ответ только после полного разбора. Ключевые фразы: "Перечисли все применимые правила", "Явно укажи конфликт", "Только после полного разбора — дай ответ". Почему работает: без явной инструкции каждый шаг — опциональный. Модель пропускает его, если видит «очевидный» ответ. С явным шаблоном каждый шаг становится обязательным контрольным пунктом. Когда применять: несколько правил, они могут конфликтовать. Не нужно: одно правило, простая задача
📖 Простыми словами

HOLMES: Evaluating Higher-Order Logical Reasoning inLLMs

arXiv: 2606.23238

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

Это как если бы ты спросил юриста, можно ли строить дом на участке, а он ответил: "Да, потому что у вас есть паспорт". Формально паспорт нужен, и строить, допустим, можно, но юрист полностью проигнорировал зонирование земли, экологические нормы и согласие соседей. Он нашел первый попавшийся аргумент, который «прокатил», и закрыл дело. Вроде не соврал, но полагаться на такого эксперта — чистое самоубийство.

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

Исследование HOLMES показало, что этот баг универсален для всех топовых LLM. Они лажают на логике высшего порядка, где правила накладываются друг на друга слоями. Тестировали на искусственных юридических кейсах, но принцип применим везде: от анализа налоговых деклараций до проверки кода на соответствие стандартам безопасности. Если в задаче больше двух конфликтующих условий, модель с вероятностью 8 из 10 потеряет часть логики по дороге, даже если в конце выдаст верное «да» или «нет».

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

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

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

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