3,583 papers
arXiv:2607.09794 87 9 июля 2026 г. FREE

PSCI: Контракт спецификаций — техника, которая заставляет модель сначала выучить правила документа, потом отвечать

КЛЮЧЕВАЯ СУТЬ
LLM отлично находит содержание в документах. Провалы — на другом. Она игнорирует скрытые правила: форматы, запреты, граничные случаи. Не потому что не видит. Потому что они не активированы как ограничения при генерации. PSCI позволяет работать с любым регламентом или техническим заданием и получать ответы, которые реально соблюдают все требования — даже те, что разбросаны по 40 страницам. Фишка: разделить задачу на два акта — сначала полное внимание на извлечение правил, потом генерация под явным контролем этого списка. Когда модель получает задачу «только извлеки все правила» — она восстанавливает 94.4% скрытых требований. Проблема не в возможности — в активации.
Адаптировать под запрос

TL;DR

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

Главная находка: модели проваливаются не потому, что не могут найти нужную информацию в документе — содержание они находят хорошо. Они проваливаются потому, что игнорируют скрытые правила: форматы, порядок, специальные флаги, граничные случаи — всё то, что разбросано по документу, но ни разу явно не упомянуто в вашем вопросе. Вы спрашиваете «сделай X», а в документе где-то на 15-й странице написано «если встречается случай Y — обязательно добавь метку Z». Модель отвечает правильно по содержанию, но нарушает это правило — и ответ неверен. Проблема не в незнании, а в том, что правила не активированы как ограничения.

Исследователи подтвердили: 95.5% таких правил буквально есть в тексте документа — модель способна их извлечь, если явно попросить. Но без такой просьбы она их пропускает при генерации. PSCI устраняет этот разрыв: шаг 1 — извлечь все правила в список, шаг 2 — ответить по списку, шаг 3 — проверить каждое правило, шаг 4 — починить нарушения.


🔬

Схема метода

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

ШАГ 1: ИНДУКЦИЯ СПЕЦИФИКАЦИЙ
Вход: документ/контекст + задача
Действие: извлечь все неявные правила, ограничения, форматы
Выход: контракт K = {k1, k2, ..., kn} — пронумерованный список обязательств

ШАГ 2: ГЕНЕРАЦИЯ ПО КОНТРАКТУ
Вход: задача + документ + контракт K
Действие: создать черновик Y0, следуя каждому пункту K
Выход: черновик ответа

ШАГ 3: ПРОВЕРКА (adversarial checker)
Вход: задача + документ + контракт K + черновик Y0
Действие: проверить каждый пункт Ki
Выход: диагноз d = [(ki, статус, причина)] 
       статус: ВЫПОЛНЕН / ЧАСТИЧНО / НАРУШЕН

ШАГ 4: ПОЧИНКА
Вход: всё выше + диагноз d
Действие: исправить только ЧАСТИЧНО и НАРУШЕНО, сохранить правильное
Выход: финальный ответ Ŷ

🚀

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

Задача: Ты — продавец на Wildberries, получил 40-страничный регламент оформления карточек товара от бренда-поставщика. Нужно написать карточку для новой позиции — средства от комаров. В регламенте разбросаны десятки требований: запрещённые слова, обязательные предупреждения, формат артикула, структура описания, правила размещения знаков безопасности. Если нарушить хотя бы одно — карточка уходит на доработку.

Промпт (Шаг 1 — Индукция спецификаций):

Ты — эксперт по оформлению товарных карточек.

Ниже — регламент бренда по созданию карточек товара на маркетплейсах:

[РЕГЛАМЕНТ]
{вставить текст регламента}
[/РЕГЛАМЕНТ]

Моя задача: написать карточку для средства от комаров «АнтиМоскит Про 200мл».

Перед тем как писать карточку — извлеки из регламента ВСЕ обязательные требования, которые относятся к этой задаче. Особое внимание:
— формат и структура (порядок блоков, длина, заголовки)
— запрещённые слова и формулировки
— обязательные предупреждения и маркировки
— граничные случаи и исключения
— точные фразы или метки, которые нужно использовать дословно

Оформи как пронумерованный список: «Обязательство N: [описание правила]».
Не пиши карточку пока — только список обязательств.

Промпт (Шаг 2 — Генерация по контракту):

Вот список обязательств из регламента:
{список из шага 1}

Теперь напиши карточку товара для «АнтиМоскит Про 200мл», 
строго следуя каждому пункту списка.

Промпт (Шаг 3 — Проверка):

Проверь карточку против каждого обязательства.

Список обязательств:
{список из шага 1}

Карточка:
{карточка из шага 2}

По каждому пункту укажи:
— ВЫПОЛНЕН / ЧАСТИЧНО / НАРУШЕН
— Если не ВЫПОЛНЕН: что именно нарушено и где

Только проверка, не переписывай карточку.

Промпт (Шаг 4 — Починка):

Вот карточка с диагнозом нарушений:

Карточка: {из шага 2}
Диагноз: {из шага 3}

Исправь только пункты со статусом ЧАСТИЧНО и НАРУШЕН. 
Всё остальное оставь без изменений.
Выдай финальную карточку.

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


🧠

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

Слабость LLM: Модель генерирует ответ, держа в фокусе ваш вопрос. Всё, что явно связано с вопросом, она видит хорошо. Но требования из документа, которые к вопросу напрямую не привязаны, остаются на периферии — они не активированы как ограничения генерации. Представьте: вы читаете задание и краем глаза замечаете сноску на полях. Содержание зафиксировали, но при написании ответа сноска "выпала". Именно это и происходит с распределёнными по документу правилами.

Сильная сторона LLM: При прямом вопросе «извлеки все правила из этого документа» модель справляется отлично. Исследование показало: когда модели явно задавали задачу извлечения, она восстанавливала 94.4% скрытых требований с долей противоречий менее 0.5%. Возможность есть — нужна правильная активация.

Как метод использует это: PSCI разделяет задачу на два отдельных акта. Сначала полное внимание направлено только на извлечение правил из документа — без отвлечения на написание ответа. Потом генерация идёт под явным контролем этих правил. Проверщик смотрит не на качество текста в целом, а на конкретный пункт контракта — это гораздо точнее, чем "покритикуй себя".

Рычаги управления: - Детализация шага 1 → чем подробнее попросите разбить типы правил (форматы / запреты / граничные случаи / точные фразы), тем полнее контракт - Шаги 3-4 можно пропустить для простых документов → экономия токенов, небольшой документ, цена ошибки низкая - Шаг 3 можно заменить конкретным специалистом-ролью: «Ты — строгий юрист-проверяльщик» → острее критика - Глубину шага 1 можно регулировать: «только критические требования» vs «абсолютно все, включая мелкие»


📋

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

Универсальный шаблон для всего PSCI-цикла в одном месте:

=== ШАГ 1: ИЗВЛЕЧЕНИЕ СПЕЦИФИКАЦИЙ ===
Прочитай следующий документ с задачей извлечения, а не ответа:

[ДОКУМЕНТ]
{текст документа, регламента, требований}
[/ДОКУМЕНТ]

Моя задача: {описание того, что нужно создать/написать/сделать}

Извлеки из документа ВСЕ требования, которые относятся к этой задаче:
— обязательные форматы и структуры
— запреты и ограничения  
— граничные случаи и исключения
— точные формулировки или метки, которые нужно соблюсти дословно
— условия полноты (что должно быть ОБЯЗАТЕЛЬНО включено)

Оформи как пронумерованный список. Только список, без ответа на задачу.

=== ШАГ 2: ГЕНЕРАЦИЯ ===
Теперь выполни задачу, строго следуя каждому пункту из списка выше.
Перед ответом напиши: «Выполняю с учётом [N] обязательств из контракта».

=== ШАГ 3: ПРОВЕРКА ===
Прежде чем считать задачу выполненной — проверь черновик выше 
против каждого пункта контракта.

Для каждого пункта: ВЫПОЛНЕН / ЧАСТИЧНО / НАРУШЕН + причина (если не ВЫПОЛНЕН).
Только проверка.

=== ШАГ 4: ПОЧИНКА ===
Исправь все пункты со статусом ЧАСТИЧНО и НАРУШЕН.
Сохрани всё остальное без изменений. Выдай финальный ответ.

Плейсхолдеры: - {текст документа} — регламент, политика, ТЗ, договор, инструкция - {описание того, что нужно создать} — «написать карточку товара», «составить ответ клиенту», «подготовить отчёт по форме»

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

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

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

LLM спросит какой документ/регламент у вас есть и что именно нужно создать — потому что PSCI работает только когда есть конкретный источник правил и конкретный результат. Она возьмёт паттерн из шаблона и подстроит формулировки под вашу задачу.


⚠️

Ограничения

⚠️ Нужен документ с правилами: Метод работает только когда есть конкретный источник спецификаций — регламент, ТЗ, руководство, договор. Для задач «из головы» без опорного документа PSCI не даёт преимущества над обычным промптом.

⚠️ 4 шага = 4 запроса: Полный цикл требует нескольких сообщений и больших токенов. Для коротких документов или задач с низкой ценой ошибки достаточно шагов 1-2.

⚠️ Шаг 1 сам может пропустить что-то: Если документ очень длинный (40K+ токенов), контракт в шаге 1 может быть неполным — модель не захватит 100% правил. Помогает явно перечислить типы правил, которые искать (форматы, запреты, флаги, граничные случаи).

⚠️ Не для субъективного контента: Метод заточен под задачи с проверяемыми критериями. Для текстов, где нет жёстких правил (свободный креатив, вопросы мнений), преимущество минимально.


🔍

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

Идея была обидно простой: взяли свежий бенчмарк CL-Bench с 1 899 задачами — каждая задача это большой документ (в среднем 10K токенов, до 65K) плюс вопрос, плюс 16+ критериев оценки. Задачи писали люди-эксперты, чтобы исключить утечку в обучающие данные. Сначала проверили самое очевидное объяснение плохих результатов: «модели не могут найти нужное в длинном тексте». Запустили 12 разных методов улучшения поиска и обработки контекста — RAG, GraphRAG, RAPTOR, Reflexion и другие. Ни один не дал больше +0.78 процентных пунктов над простым запросом с полным контекстом. Это был сигнал, что проблема не там.

Тогда вручную разобрали все 31 592 критерия оценки: что именно они проверяют — содержание ответа или соблюдение правил? Выяснилось, что 55.4% критериев оценивают именно правила и ограничения, а не факты. Причём в провальных задачах, где модель ошибалась ровно на одном критерии, 75.3% этих последних ошибок были именно нарушениями правил, а не фактическими ошибками. Потом проверили трассируемость: есть ли эти правила в документе вообще? 95.5% — есть. Модель их физически видела, но не применяла.

Самое неожиданное: когда модели просто прямо сказали «извлеки все правила из этого документа», она покрывала 94.4% скрытых критериев. Возможность была всегда — просто никто её не активировал. PSCI проверяли на трёх моделях разного размера и все три показали одинаковый прирост ~+5-6 п.п., а 17 последовательных аблаций чётко показали: перепутай контракт → результат падает ниже базового; убери контракт, оставь проверку → результат возвращается к базовому. Это доказывает — работает именно контракт, а не дополнительные вычисления.


💡

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

1. Двухшаговый PSCI для быстрых задач

Для небольших документов или когда время важнее идеала — оставить только шаги 1 и 2. Уже это даёт большую часть прироста (шаг 1 один отвечает за ~63% общего улучшения по данным аблаций).

Прочитай документ и сначала составь список всех требований к {задача}. 
Потом сразу выполни задачу, следуя каждому пункту списка.

[ДОКУМЕНТ]
{текст}
[/ДОКУМЕНТ]

2. Персонализированный проверщик → острее критика

🔧 Техника: безликий проверщик → специалист-роль

Шаг 3 по умолчанию — нейтральная проверка. Замените на конкретного специалиста, чтобы получить более острое и профильное замечание:

Ты — придирчивый юрист, специализирующийся на договорном праве. 
Проверь этот договор против каждого пункта списка требований.
Отмечай малейшие отклонения.

Работает для любой профессиональной области: регулятор, редактор, технический директор.

3. Комбинация с Chain-of-Thought на шаге 2

Если по документу нужно не просто выполнить задачу, но и объяснить своё решение — добавьте в шаг 2 инструкцию думать вслух. Это особенно полезно для сложных регуляторных документов, где важно видеть, как модель интерпретирует каждое правило.

Выполни задачу, следуя контракту обязательств. 
Для каждого пункта контракта сначала напиши «Применяю пункт N: [как именно]», 
потом включи результат в ответ.

🔗

Ресурсы

Работа: Agentic Context Learning with Self-Discovered Specification (preprint, 2025)

Бенчмарк: CL-Bench (Dou et al., 2026) — 1,899 задач, 31,592 критериев оценки

Авторы: Jike Zhong, Ming Li, Yuxiang Lai, Ziyan Yang, Jingyu Xie, Jihyung Kil, Zheda Mai, Shao-Yuan Lo, Xiang Ren, Konstantinos Psounis, Yuanyuan Lei

Университеты: University of Southern California, University of Florida, Emory University, Adobe Research, The Ohio State University, National Taiwan University

Контакт: jikezhon@usc.edu


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

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

LLM отлично находит содержание в документах. Провалы — на другом. Она игнорирует скрытые правила: форматы, запреты, граничные случаи. Не потому что не видит. Потому что они не активированы как ограничения при генерации. PSCI позволяет работать с любым регламентом или техническим заданием и получать ответы, которые реально соблюдают все требования — даже те, что разбросаны по 40 страницам. Фишка: разделить задачу на два акта — сначала полное внимание на извлечение правил, потом генерация под явным контролем этого списка. Когда модель получает задачу «только извлеки все правила» — она восстанавливает 94.4% скрытых требований. Проблема не в возможности — в активации.

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

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

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

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

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

Документы с десятками скрытых требований: регламенты маркетплейсов, технические задания, корпоративные политики, договоры с условиями, отраслевые инструкции с граничными случаями — особенно когда цена нарушения правила высока: карточка уходит на доработку, документ не принят, договор завернули на правку. НЕ подходит для задач без опорного документа с правилами: свободный креатив, вопросы мнений, генерация «из головы» без источника ограничений.

Мини-рецепт

1. Дай документ с задачей извлечения: попроси перечислить ВСЕ требования — форматы, запреты, граничные случаи, точные формулировки, условия полноты. Явно перечисли типы которые искать. Только список — без ответа на задачу.
2. Генерируй по списку: «выполни задачу, следуя каждому пункту контракта». Попроси написать «выполняю с учётом N обязательств» — это фиксирует что модель действительно держит контракт в фокусе.
3. Проверяй по пунктам: по каждому пункту контракта — ВЫПОЛНЕН / ЧАСТИЧНО / НАРУШЕН. Только диагноз, без переписывания черновика.
4. Чини только нарушения: «исправь пункты ЧАСТИЧНО и НАРУШЕН, остальное оставь без изменений». Финальный ответ готов.

Шаги 3-4 можно пропустить для коротких документов и задач с низкой ценой ошибки — экономит токены.

Примеры

[ПЛОХО] : Вот регламент поставщика на 40 страниц. Напиши карточку товара для средства от комаров.
[ХОРОШО] : Шаг 1: Прочитай регламент ниже. Моя задача — написать карточку для средства от комаров АнтиМоскит 200мл. Извлеки ВСЕ требования которые относятся к этой задаче: запрещённые слова, обязательные предупреждения, формат артикула, структуру описания, граничные случаи. Оформи как пронумерованный список. Только список — без карточки. [РЕГЛАМЕНТ] {...} [/РЕГЛАМЕНТ] Шаг 2: Вот список обязательств из регламента: {список из шага 1}. Напиши карточку для АнтиМоскит 200мл, следуя каждому пункту. Перед ответом напиши сколько обязательств учёл. Шаг 3: Проверь карточку против каждого пункта: ВЫПОЛНЕН / ЧАСТИЧНО / НАРУШЕН. Для не-ВЫПОЛНЕН — что именно нарушено. Только диагноз, не переписывай карточку. Шаг 4: Исправь все пункты ЧАСТИЧНО и НАРУШЕН. Остальное оставь без изменений. Выдай финальную карточку.
Источник: Agentic Context Learning with Self-Discovered Specification
ArXiv ID: 2607.09794 | Сгенерировано: 2026-07-14 04:32

Проблемы LLM

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

Методы

МетодСуть
Контракт спецификаций — четыре шага вместо одногоНужен документ с правилами (регламент, ТЗ, инструкция) и конкретная задача на его основе. Шаг 1: Извлеки из [ДОКУМЕНТ] ВСЕ требования к задаче: форматы, запреты, граничные случаи, точные фразы. Оформи как нумерованный список. Только список, без ответа. Шаг 2: Выполни задачу, строго следуя каждому пункту из списка выше. Шаг 3: Проверь ответ против каждого пункта. Для каждого: ВЫПОЛНЕН / ЧАСТИЧНО / НАРУШЕН + причина. Шаг 4: Исправь все ЧАСТИЧНО и НАРУШЕН. Остальное не трогай. Почему работает: каждый шаг требует одного акта внимания. Извлечение — без отвлечения на написание. Генерация — под явным контролем списка. Проверка — по конкретному пункту, не "в целом". Когда пропустить шаги 3-4: короткий документ, низкая цена ошибки, мало требований. Не работает: нет опорного документа с правилами, задача субъективная

Тезисы

ТезисКомментарий
Когда извлечение правил — единственная задача, модель почти ничего не теряетЕсли совместить "прочитай документ и сразу ответь" — правила выпадают при генерации. Если сделать отдельный шаг "только извлеки правила" — модель восстанавливает почти все требования. Задачи конкурируют за внимание. Разделяешь — убираешь конкуренцию. Применяй: добавляй в промпт явную инструкцию "только список, без ответа" — это блокирует преждевременную генерацию
📖 Простыми словами

AgenticContext Learning with Self-Discovered Specification

arXiv: 2607.09794

Суть метода PSCI в том, что обычные нейронки катастрофически плохо справляются с длинными инструкциями, когда правила размазаны по тексту тонким слоем. Если ты закинешь в модель 50-страничный талмуд и попросишь «сделай по красоте», она сфокусируется на твоем вопросе, а половину мелких запретов и нюансов просто проигнорирует. Это происходит потому, что для LLM важные ограничения из документа остаются на периферии внимания — они как бы есть в памяти, но не активированы как жесткий фильтр для генерации.

Это как если бы ты дал повару книгу рецептов на 200 страниц и попросил приготовить ужин, мельком упомянув, что у гостя аллергия на орехи, а на 45-й странице книги написано, что соль в этом доме под запретом. Повар, скорее всего, увлечется процессом и на автомате бахнет и соли, и миндаля, потому что его мозг занят основной задачей — жаркой мяса. Метод PSCI заставляет повара сначала выписать все ограничения на отдельный листок, приклеить его на лоб и только потом подходить к плите.

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

Тестировали это на сложных документах, но принцип универсален для любой работы с огромным контекстом: от юридических договоров до анализа кода и написания статей по гайдлайнам. SEO-оптимизация, проверка комплаенса или генерация контента под жесткий tone-of-voice — везде, где цена ошибки в деталях высока, прямой запрос к модели проигрывает. Агентский подход превращает нейронку из невнимательного исполнителя в дотошного контролера самого себя.

Короче: хватит надеяться, что модель «сама всё поймет» из длинного текста — она обязательно что-то забудет. Используй PSCI, чтобы сначала вытащить правила игры в отдельный файл, и только потом заставляй AI играть по ним. Четыре шага вместо одного гарантируют, что результат не улетит в корзину из-за несоблюдения какой-нибудь фигни, спрятанной на 15-й странице.

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

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

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