3,583 papers
arXiv:2606.15390 74 13 июня 2026 г. FREE

ASSAY: каждый урок не нужен на каждом уроке — как выбирать правила под задачу

КЛЮЧЕВАЯ СУТЬ
Больше правил в системном промпте — хуже результат. GPT-5.1 с накопленной библиотекой инструкций проигрывал чистой модели без единого правила на сложных задачах — не разово, а систематически. ASSAY позволяет понять какие правила помогают конкретной задаче, а какие активно её ломают — и передавать только нужный набор. Фишка: одно правило одновременно помогает задачам типа A и разрушает задачи типа B — в среднем эффект близок к нулю, поэтому вредоносные правила остаются незамеченными при любой обычной проверке. Явная фильтрация под задачу убирает этот шум.
Адаптировать под запрос

TL;DR

Когда LLM-агент накапливает правила из опыта и добавляет их в контекст, больше правил ≠ лучше результат. Некоторые правила активно вредят определённым задачам — правило для сложной многошаговой покупки сбивает агента с толку на простой однодействительной задаче. Суть метода: не все правила нужны каждой задаче — нужно подбирать набор инструкций под конкретный запрос, а не вываливать все сразу.

Главная находка: одно и то же правило может одновременно помогать одним задачам и вредить другим. При этом в среднем его эффект близок к нулю — положительное и отрицательное взаимно уничтожаются. Поэтому если просто смотреть на среднюю пользу правила по всем задачам, вредоносные правила остаются невидимыми. Система GPT-5.1 с накопленной библиотекой правил на сложных задачах работала хуже, чем без неё вообще.

ASSAY решает это в три шага: измерить вклад каждого правила по задачам через случайные тесты, реструктурировать библиотеку (разбить двойственные правила, убрать бесполезные), отфильтровать при каждом конкретном запросе — оставить только те правила, которые предсказуемо помогут именно этой задаче.


🔬

Схема метода

Это система (требует инфраструктуры), но принцип применим вручную:

ЭТАП 1: Накопление правил
  Агент выполняет задачи → фиксирует удачные приёмы как "правила"
  → Библиотека N правил

ЭТАП 2: Измерение вреда/пользы [ключевой этап]
  Для каждого правила: запуск задач С правилом vs. БЕЗ правила
  → Матрица: правило × задача = помогает/вредит
  Вывод: "Правило X помогает задачам типа A, но вредит задачам типа B"

ЭТАП 3: Реструктуризация библиотеки [офлайн]
  Двойственные правила ("помогает одним, вредит другим") → разбить на два условних
  Бесполезные правила (нулевой эффект везде) → удалить
  Дубли → объединить

ЭТАП 4: Фильтрация под каждую задачу [во время работы]
  Новая задача → найти похожие из тестовых → предсказать эффект каждого правила
  → Убрать правила с предсказуемым отрицательным эффектом
  → Передать агенту только "безопасный" набор

Вся система требует кода и инфраструктуры. Но принцип применим вручную в обычном чате — см. пример ниже.


🚀

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

Задача: Вы ведёте бизнес и накопили длинный системный промпт для ChatGPT — там правила по тону общения, структуре отчётов, работе с клиентами, SEO, финансовым расчётам, юридическим формулировкам. Теперь вы просите написать быстрое неформальное сообщение партнёру — и модель выдаёт нечто с "правовыми оговорками" и "SEO-ключевыми словами". Правила вредят задаче.

Промпт:

Ты — мой бизнес-ассистент. У меня есть общий набор правил работы, 
но для ЭТОЙ конкретной задачи нужна только часть из них.

Задача: {описание задачи}

Активные правила для этой задачи:
- {правило 1, которое точно нужно}
- {правило 2, которое точно нужно}

Неактивные правила (игнорируй для этой задачи):
- {правило 3 — не нужно здесь}
- {правило 4 — не нужно здесь}
- {правило 5 — не нужно здесь}

Выполни задачу строго в рамках активных правил, 
без привлечения неактивных.

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


🧠

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

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

Сильная сторона LLM: Модель умеет следовать явным инструкциям. Если прямо сказать "для этой задачи применяй только правила A и B, правила C и D игнорируй" — она это сделает.

Как метод использует это: Вместо одного гигантского промпта с "всеми правилами на все случаи жизни" — фильтрация перед подачей. Под каждую задачу собирается свой набор. Это убирает "шум" из контекста и освобождает место для полезной информации.

Рычаги управления: - Число активных правил — чем проще задача, тем меньше правил нужно - Явность формулировок — вместо "игнорируй" попробуй "это правило не применяется, потому что {причина}" — чёткость помогает - Тип задачи в начале промпта — назови задачу явно перед списком правил: модель лучше поймёт контекст фильтрации - Защищённые правила — некоторые правила можно пометить "всегда активно" (как авторы пометили базовые шаблоны через tpl- префикс)


📋

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

Задача типа: {тип задачи — "быстрый ответ", "детальный анализ", "творческое письмо" и т.д.}

Для задач этого типа применяй ТОЛЬКО эти правила:

- {правило 1}
- {правило 2}


Правила ниже для задач этого типа НЕ применяй:

- {правило 3}
- {правило 4}


Задача: {описание того, что нужно сделать}

Плейсхолдеры: - {тип задачи} — опиши коротко: "быстрый ответ в мессенджер", "аналитический отчёт", "скрипт продаж" - {правило 1-2} — вставь правила, которые точно нужны для этого типа - {правило 3-4} — вставь правила, которые будут мешать

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

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

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

LLM спросит какие правила у тебя есть и какие типы задач ты решаешь — потому что без этого она не сможет правильно разделить "активные" и "неактивные" для каждого типа.


⚠️

Ограничения

⚠️ Полная система требует кода: Автоматическое измерение вреда/пользы через случайные маски, матрица эффектов, предиктивная фильтрация — всё это требует Python и инфраструктуры агентов. В чате применим только принцип ручной фильтрации.

⚠️ Работает плохо при насыщении: Если модель уже сама "знает" как решать задачу из обучения (высокая базовая компетентность), добавление или убирание правил почти ничего не меняет. На GPT-5.1 и Sonnet 4.5 в одном из тестов прирост был нулевым.

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

⚠️ Матрица эффектов — на конкретную модель: Авторы обнаружили, что измерения нужно проводить заново для каждой модели — GPT-4.1 и DeepSeek-V3 реагируют на одни и те же правила по-разному.


🔗

Ресурсы

Not All Skills Help: Measuring and Repairing Agent Knowledge Yixuan Wang, Yiyang Zhou (UNC Chapel Hill), Yiming Liang (Purdue), Congyu Zhang, Fuxiao Liu (NVIDIA), Jiawei Zhou, Huaxiu Yao — UNC Chapel Hill, Purdue University, NVIDIA Код: https://github.com/aiming-lab/assay Бенчмарки: AppWorld, τ-bench


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

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

Больше правил в системном промпте — хуже результат. GPT-5.1 с накопленной библиотекой инструкций проигрывал чистой модели без единого правила на сложных задачах — не разово, а систематически. ASSAY позволяет понять какие правила помогают конкретной задаче, а какие активно её ломают — и передавать только нужный набор. Фишка: одно правило одновременно помогает задачам типа A и разрушает задачи типа B — в среднем эффект близок к нулю, поэтому вредоносные правила остаются незамеченными при любой обычной проверке. Явная фильтрация под задачу убирает этот шум.

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

Модель не различает 'это правило важно для данной задачи' и 'это правило есть в контексте'. Всё, что попало в системный промпт, давит на ответ примерно с одинаковой силой. Правило 'всегда добавляй юридическую оговорку' и правило 'пиши кратко' оба будут влиять на ответ про неформальное сообщение другу. Принцип ASSAY: не вали все правила в каждый запрос — измерь эффект каждого отдельно, разбей двойственные правила на два точечных, передавай только те, что предсказуемо помогут именно этой задаче. Цикл звучит просто: накопил правила → измерил вред/пользу по типам задач → почистил библиотеку → фильтруй при каждом новом запросе. Полная автоматизация требует кода. Но принцип работает и руками — в обычном чате.

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

Проблема в усреднении. Когда правило помогает одним задачам на +15% и вредит другим на −15%, средний эффект равен нулю. Такое правило выглядит нейтральным. Оно остаётся в библиотеке и продолжает ломать половину задач. Авторы смотрели не на средний эффект, а на матрицу: правило × тип задачи = помогает или вредит. Это обнажило правила с двойственным эффектом — именно они тащат точность вниз на одних задачах, пока помогают на других. Как только их разбили на два точечных («применяй при условии X» и «применяй при условии Y») или убрали вовсе — точность агента выросла.

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

Для всех, у кого накопился длинный системный промпт с правилами по тону, структуре, юридике, SEO — всё в одной куче. Особенно когда решаешь разнородные задачи: то деловые письма, то код, то мозговые штурмы, то анализ данных. Правило 'всегда проверяй юридические риски' испортит неформальное сообщение коллеге. Правило 'структурируй ответ по разделам' сломает быстрый ответ в мессенджер. НЕ подходит тем, кто работает без накопленных правил или с одним-двумя инструкциями — эффект минимален. Также плохо работает если модель уже сама по себе хорошо справляется с задачей из обучения: там добавление или убирание правил почти ничего не меняет.

Мини-рецепт

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

2. Для каждой задачи реши явно: какие правила точно нужны здесь, какие точно мешают. Ответь честно — правило 'проверяй побочные эффекты API' нужно при написании кода, не нужно при написании письма.

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

4. Протестируй 'без правил' хотя бы раз: если модель без системного промпта справляется не хуже — часть правил просто занимает место и создаёт шум.

Примеры

[ПЛОХО] : У меня правила работы: [500 слов с тоном, SEO, юридикой, структурой отчётов]. Напиши быстрое сообщение Андрею что встреча переносится.
[ХОРОШО] : Задача типа: быстрое неформальное сообщение в мессенджер - Тон дружелюбный, без официоза - Одно-два предложения максимум - Юридические оговорки (не нужны в личной переписке) - SEO-ключевые слова (это не публикация) - Структура делового письма (контекст неформальный) Задача: напиши Андрею что встреча в пятницу переносится на понедельник в то же время. Модель не добавит оговорку 'данное сообщение не является офертой', не вставит заголовки и не подберёт ключевые слова для Google. Просто напишет то, что просили.
Источник: Not All Skills Help: Measuring and Repairing Agent Knowledge
ArXiv ID: 2606.15390 | Сгенерировано: 2026-06-16 05:43

Проблемы LLM

ПроблемаСутьКак обойти
Модель тянет все правила из контекста в каждый ответУ тебя длинный системный промпт: правила по тону, структуре отчётов, SEO, юридические оговорки. Просишь написать короткое неформальное сообщение — получаешь текст с правовыми формулировками и ключевыми словами. Модель не различает "это правило нужно сейчас" и "это правило есть в контексте". Всё, что попало в контекст, давит на ответ одновременноЯвно раздели правила на активные и неактивные для каждого запроса. Пиши: — только нужные сейчас. — те, что мешают. Модель умеет следовать таким инструкциям напрямую

Методы

МетодСуть
Секции активных и неактивных правил — точный ответ без шумаПеред задачей раздели свои правила на два блока. Синтаксис: — правила которые нужны именно сейчас. — правила которые для этой задачи не применяй. Затем опиши задачу. Почему работает: Модель хорошо следует явным инструкциям. Если прямо сказать "правило C сейчас не применяется" — она его игнорирует. Без этого она применяет всё подряд с одинаковым весом. Когда применять: есть накопленный системный промпт или набор личных правил; задачи разного типа (аналитика vs. переписка vs. творчество). Когда не поможет: модель и так хорошо справляется без правил — тогда фильтрация ничего не изменит

Тезисы

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

Not All Skills Help: Measuring and RepairingAgentKnowledge

arXiv: 2606.15390

LLM-агенты сегодня работают как прилежные, но туповатые исполнители: они пытаются следовать абсолютно всем инструкциям, которые ты им скормил. Проблема в том, что больше правил не значит лучше результат. Когда агент накапливает опыт и превращает его в гору правил для контекста, он начинает путаться. Модель не умеет фильтровать важность — для неё юридическая оговорка и совет по стилю имеют одинаковый вес. В итоге лишние знания душат логику, и агент лажает там, где справился бы вообще без подсказок.

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

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

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

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

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

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

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