3,583 papers
arXiv:2506.16335 92 1 июня 2025 г. FREE

Объяснимое применение правил через структурированное подсказывание: нейросимволический подход.

КЛЮЧЕВАЯ СУТЬ
Декомпозиция задачи на шаги и использование комплементарных предикатов резко повышает точность и объяснимость ответов LLM в задачах, основанных на правилах.
Адаптировать под запрос
📌

1. Ключевые аспекты исследования:

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

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

🔬

2. Объяснение всей сути метода:

Метод, названный "Structured Decomposition" (Структурированная Декомпозиция), предлагает перестать просить LLM решить сложную логическую задачу в один шаг. Вместо этого, мы ведем модель по процессу, который имитирует человеческое рассуждение, используя сильные стороны LLM (извлечение информации) и нивелируя слабые (строгая логика).

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

  1. Шаг 1: Идентификация Сущностей (Term Identification). Сначала мы просим модель найти в исходном тексте все важные "действующие лица" или объекты, которые имеют отношение к нашему правилу. Например, если правило о возврате товара, сущностями будут "покупатель", "товар", "дата покупки", "описание проблемы".

  2. Шаг 2: Извлечение Предикатов (Predicate Extraction). На этом шаге мы берем найденные сущности и просим модель определить их ключевые свойства (предикаты). И здесь кроется главный практический трюк — использование комплементарных предикатов. Вместо того чтобы спрашивать "Товар поврежден?", мы просим модель оценить оба варианта: is_damaged (поврежден) и is_not_damaged (не поврежден). Это заставляет модель активно искать доказательства для каждого из вариантов, а не просто соглашаться с первым попавшимся (что является формой предвзятости подтверждения).

  3. Шаг 3: Применение Правила (Rule Application). Собрав структурированную информацию (сущности и их подтвержденные свойства), мы делаем финальный, самый простой запрос. Мы подаем модели только что извлеченные факты и просим сделать вывод на основе четко сформулированного правила. Например: "Правило: возврат возможен, если срок_покупки_меньше_14_дней И товар_не_поврежден. Дано: срок_покупки_меньше_14_дней = Истина, товар_не_поврежден = Ложь. Возможен ли возврат?". На этот простой логический вопрос модель почти всегда отвечает правильно.

📌

3. Анализ практической применимости:

*Прямая применимость:Очень высокая. Пользователь может вручную реализовать этот подход. Либо отправляя три разных промпта последовательно, либо создав один большой промпт с четкой структурой (например, с использованием Markdown или XML-тегов), где модели дается инструкция выполнить все три шага поочередно. Ключевая техника "комплементарных предикатов" (например,is_polite/is_rude) может быть немедленно встроена в любой промпт для оценки чего-либо по критериям.

  • Концептуальная ценность: Огромная. Исследование дает две ключевые концепции:

    1. Разделяй и властвуй: Не доверяйте LLM сложную логику. Используйте их как мощный инструмент для извлечения и структурирования информации, а финальное логическое заключение делайте на основе этих чистых данных.
    2. Борьба с предвзятостью: LLM склонны к "соглашательству" или "предвзятости подтверждения". Заставляя их явно выбирать между двумя противоположными вариантами (A или не-A), вы значительно повышаете надежность и объективность ответа.
  • Потенциал для адаптации: Метод абсолютно универсален и не привязан к юриспруденции. Его можно адаптировать для любой задачи, где есть набор правил и входящий текст.

    • Механизм адаптации:
      1. Сформулируйте ваше финальное правило (например, "Пост должен быть опубликован, если он не содержит рекламы и не является оскорбительным").
      2. Определите "сущности" (например, "текст поста", "автор").
      3. Определите "предикаты" в комплементарной форме (например, is_promotional/is_not_promotional, is_respectful/is_disrespectful).
      4. Постройте промпт, который заставляет LLM сначала извлечь эти предикаты из текста, а затем сделать вывод на основе правила.

🚀

4. Практически пример применения:

Представим, что вы — модератор форума и хотите быстро проверять комментарии на соответствие правилам с помощью LLM.


Выполни анализ в ТРИ шага.
ПРАВИЛА ПУБЛИКАЦИИ:
Комментарий можно опубликовать, ТОЛЬКО ЕСЛИ ОДНОВРЕМЕННО выполняются два условия:
1. Он НЕ является прямой рекламой.
2. Он написан в уважительной манере и не содержит оскорблений.
КОММЕНТАРИЙ ДЛЯ АНАЛИЗА:

"Эта статья — полная чушь, автор вообще не разбирается в теме. Если хотите реальных результатов, лучше купите мой курс 'Эксперт за 5 дней' на сайте best-course-ever.com! Только там вы найдете правду."

### ШАГ 1: Идентификация Сущностей
Просто найди в комментарии два типа контента:
1. Оценочное суждение: Часть текста, где автор выражает свое мнение о статье.
2. Призыв к действию: Часть текста, где автор что-то предлагает или куда-то направляет.
### ШАГ 2: Извлечение Предикатов (Свойств)
Для найденных сущностей определи, какие из следующих комплементарных предикатов истинны. Для каждого предиката дай краткое объяснение.

Оценочное суждение:
is_respectful (является уважительным): [Истина/Ложь]
is_disrespectful (является неуважительным): [Истина/Ложь]

Призыв к действию:
is_promotional (является рекламой): [Истина/Ложь]
is_not_promotional (не является рекламой): [Истина/Ложь]

### ШАГ 3: Финальное Решение
На основе результатов Шага 2 и Правил Публикации, дай четкий ответ: "Вердикт: Публиковать" или "Вердикт: Отклонить". Объясни свое решение одним предложением, ссылаясь на правила.
5.2 Почему это работает:
Этот промпт эффективен, потому что он реализует ключевые принципы исследования:

Структурированная декомпозиция: Вместо общего вопроса "Можно ли опубликовать этот коммент?", промпт разбивает задачу на три последовательных, логически связанных шага. Это направляет "мыслительный процесс" модели и не дает ей сделать поспешный вывод.
Изоляция логики: Сложное правило (НЕ реклама И уважительно) применяется на последнем шаге к уже извлеченным и верифицированным фактам, а не к "сырому" тексту. Это снижает вероятность ошибки.
Комплиментарные предикаты: Промпт заставляет модель сделать явный выбор между is_respectful и is_disrespectful, а также между is_promotional и is_not_promotional. Модель не может просто "проигнорировать" наличие рекламы; она вынуждена оценить этот аспект и вынести вердикт "Истина" или "Ложь", что делает анализ более строгим и честным.

6.1 Другой пример практического применения
Задача: проанализировать заявку клиента в техподдержку и определить, имеет ли он право на бесплатную замену устройства по гарантии.
</code></pre>
</div>
<p><strong>ПРАВИЛА ГАРАНТИЙНОЙ ЗАМЕНЫ:</strong>
Устройство подлежит бесплатной замене, если ОДНОВРЕМЕННО выполняются два условия:
1. С момента покупки прошло не более 365 дней.
2. Причина неисправности — производственный дефект, а не физическое повреждение по вине пользователя.</p>
<p><strong>ОБРАЩЕНИЕ КЛИЕНТА:</strong></p>
<blockquote>
<p>"Здравствуйте, я купил у вас смартфон 'Nexus-10' 15 месяцев назад. Вчера он просто перестал включаться. Я его не ронял, не топил, просто лежал на столе и всё. Экран целый, царапин нет. Очень расстроен, хочу замену."</p>
</blockquote>
<hr/>
<p><strong>### ШАГ 1: Идентификация Ключевых Фактов</strong>
Извлеки из текста обращения следующие данные:
* <strong>Дата покупки (относительная):</strong>
* <strong>Описание проблемы:</strong>
* <strong>Описание состояния устройства:</strong></p>
<p><strong>### ШАГ 2: Анализ Фактов по Предикатам</strong>
Оцени извлеченные факты и определи, какие из следующих комплементарных предикатов являются истинными. Обоснуй свой выбор.</p>
<ul>
<li><strong>Срок гарантии:</strong><ul>
<li><code>is_within_warranty_period</code> (срок гарантии не истек): [Истина/Ложь]</li>
<li><code>is_outside_warranty_period</code> (срок гарантии истек): [Истина/Ложь]</li>
</ul>
</li>
<li><strong>Причина неисправности (на основе описания):</strong><ul>
<li><code>is_user_damage</code> (похоже на повреждение пользователем): [Истина/Ложь]</li>
<li><code>is_manufacturing_defect</code> (похоже на производственный дефект): [Истина/Ложь]</li>
</ul>
</li>
</ul>
<p><strong>### ШАГ 3: Вынесение Решения</strong>
Основываясь на результатах Шага 2 и Правилах Гарантийной Замены, дай однозначный ответ: <strong>"Вердикт: Замена одобрена"</strong> или <strong>"Вердикт: В замене отказано"</strong>. Кратко объясни причину.
`
🧠

5. Объяснение механизма почему этот пример работает.

Этот пример работает по тем же причинам, что и предыдущий, но в другом контексте:

  1. Декомпозиция: Сложный вопрос "Подлежит ли замене?" разбивается на простые подзадачи: найти дату, найти описание проблемы, оценить срок, оценить причину, сделать вывод. Модель не пытается угадать ответ, а последовательно собирает данные для него.
  2. Четкие критерии: Вместо размытого понятия "гарантийный случай", мы используем формализованные предикаты: is_within_warranty_period и is_manufacturing_defect.
  3. Форсирование выбора: Использование комплементарных предикатов (is_within_warranty_period / is_outside_warranty_period) заставляет модель сделать четкий вывод по каждому из критических условий правила. В данном случае модель будет вынуждена признать, что предикат is_outside_warranty_period = Истина (т.к. 15 месяцев > 12 месяцев), что немедленно делает выполнение гарантийных обязательств невозможным, независимо от причины поломки. Это предотвращает "сочувствующий", но неверный ответ.

📌

Основные критерии оценки

  • A. Релевантность техникам промтинга: Да. Исследование предлагает конкретную, трехшаговую структуру промптов (декомпозиция), которую можно воспроизвести.
  • B. Улучшение качества диалоговых ответов: Да. Результаты (Таблица 4) показывают значительное увеличение точности (F1-score) для совместимых моделей (например, с 0.714 до 0.929 для o1), что напрямую свидетельствует об улучшении качества.
  • C. Прямая практическая применимость: Частично. Основные принципы — декомпозиция задачи на шаги и использование "комплементарных предикатов" — применимы немедленно и без кода. Однако полная автоматизация предложенного фреймворка требует использования внешнего SMT-солвера, что выходит за рамки возможностей обычного пользователя. Тем не менее, ценность принципов для ручного промптинга огромна.
  • D. Концептуальная ценность: Очень высокая. Работа дает пользователю мощную "ментальную модель": LLM хороши в извлечении фактов, но не так хороши в строгом применении правил. Также она раскрывает концепцию "комплементарных предикатов" для борьбы с предвзятостью подтверждения (confirmation bias) у модели.
  • E. Новая полезная практика (кластеризация): Работа уверенно попадает в несколько кластеров:
    • Кластер 1 (Техники формулирования): Предлагает метод "Structured Decomposition", который является развитием идей декомпозиции (как Chain-of-Thought).
    • Кластер 3 (Оптимизация структуры): Вся работа посвящена оптимизации структуры сложного запроса путем его разделения на логические части.
    • Кластер 5 (Извлечение и структурирование): Первые два шага метода — это чистое извлечение сущностей и их атрибутов (предикатов).
    • Кластер 7 (Надежность и стабильность): Основная цель метода — повысить надежность и последовательность применения правил, снижая ошибки.
  • Чек-лист практичности: Дает четкую методику структурирования сложных запросов и раскрывает неочевидные особенности поведения LLM (предвзятость подтверждения), предлагая способ борьбы с ними. (+15 баллов).
📌

2 Цифровая оценка полезности

Аргументы в пользу высокой оценки (92/100): Исследование предлагает не просто совет, а полноценную методологию для решения сложных задач, основанных на правилах. Ключевые выводы — декомпозиция задачи и использование "комплементарных предикатов" — немедленно применимы и могут кардинально улучшить качество и надежность ответов для широкого круга задач (анализ документов, модерация контента, оценка по критериям). Концептуальная ценность огромна, так как объясняет, почему LLM ошибаются в логике и как это обойти, используя их сильные стороны (распознавание паттернов и извлечение).

Контраргументы (почему оценка могла быть ниже или выше):

* Почему не 100? Полная реализация метода, как она описана в статье, требует использования внешнего инструмента (SMT-солвера) для финальной логической проверки. Это делает его недоступным "в один клик" для обычного пользователя и нарушает критерий "без спец-инструментов". Пользователю придется либо выполнять финальный шаг "в уме", либо формулировать его как отдельный простой промпт.
* Почему не 70-80? Несмотря на необходимость SMT-солвера для автоматизации, сами принципы декомпозиции и, особенно, комплементарных предикатов — это чистое золото промпт-инжиниринга. Они настолько полезны и универсальны, что их можно применять вручную в виде последовательности промптов или одного сложного структурированного промпта, получая значительный прирост качества. Это фундаментальное знание о поведении LLM, а не просто трюк.

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

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

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