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)
