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

R-APS: разделение режимов мышления для надёжной работы агентных систем

КЛЮЧЕВАЯ СУТЬ
LLM в одном промпте одновременно генерирует и критикует — это как просить человека придумывать идеи и сразу их разрушать. Результат: осторожный компромисс, ни сильного предложения, ни честной критики. R-APS позволяет разнести эти режимы по отдельным запросам с чёткими ролями — Дизайнер, Противник, Критик — чтобы каждый режим мышления получил чистый контекст. Фишка: теги в тексте ([ПРОБЛЕМА], [РЫНОК]) превращаются в маршрутизацию — Противник называет слабый тег, следующий запрос переписывает только его. Сильные части остаются нетронутыми.
Адаптировать под запрос

TL;DR

Когда LLM одновременно придумывает решение, критикует его и делает выводы на будущее — режимы мышления мешают друг другу в одном контексте. R-APS — это протокол, который разносит пять режимов рассуждения по отдельным контекстам и управляет их взаимодействием на трёх уровнях: внутри одного шага, внутри одной сессии и между сессиями.

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

R-APS решает это тремя ходами: типизированный критик точно называет, какой шаг провалился (не "всё плохо" — а "провалился блок X"); Adversary-агент специально ломает решение, чтобы найти слабейшее место; Meta-Analyst после каждой сессии извлекает правила и явно аннулирует те, что устарели.


🔬

Схема метода

УРОВЕНЬ 1 — INTRA-STAGE (внутри одного запроса):

  [Designer] → предлагает решение
       ↓
  [Critic 1] → проверяет структуру → FAIL? → только структуру пересчитать
       ↓ PASS
  [Critic 2] → проверяет смысл/логику → FAIL? → только логику пересчитать
       ↓ PASS
  [Critic 3] → проверяет устойчивость → FAIL? → только параметры пересчитать

Принцип: каждый критик называет КОНКРЕТНЫЙ этап провала → фиксируем всё остальное

---

УРОВЕНЬ 2 — INTRA-EPISODE (внутри сессии):

  [Adversary] → специально ломает решение Designer-а
  → Sobol-скрининг: находит самое уязвимое место
  → worst-case сценарий становится отдельным критерием качества

Принцип: устойчивость = первоклассный критерий, не бонус

---

УРОВЕНЬ 3 — INTER-EPISODE (между сессиями):

  [Meta-Analyst] → после сессии:
    1. Извлекает правила из траекторий (включая провалы, не только успехи)
    2. АННУЛИРУЕТ устаревшие правила с конкретными контрпримерами
    3. Передаёт обновлённый банк правил в следующую сессию

Принцип: знания не накапливаются монотонно — они актуализируются явным образом

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

🚀

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

Задача: Павел запускает новый продукт — онлайн-курс по финансовой грамотности для фрилансеров. Нужна стратегия продвижения. Он хочет получить не просто план, а устойчивый план — такой, который выдержит возражения инвесторов и не рассыпется при первой критике.

Промпт — Шаг 1 (Designer):

Ты — Designer. Твоя задача: предложить стратегию продвижения онлайн-курса
по финансовой грамотности для фрилансеров. Аудитория: фрилансеры 25-40 лет,
доход 100-300к₽/мес, Москва и крупные города.

Структурируй ответ по этапам:
1. Позиционирование (чем отличается от конкурентов)
2. Канал привлечения (где искать аудиторию)
3. Оффер и цена
4. Первые 30 дней запуска

Каждый этап — отдельный блок.

Промпт — Шаг 2 (Typed Critic — новый чат):

Ты — Typed Critic. Вот стратегия продвижения курса:

[вставить ответ Designer]

Проверь каждый этап ОТДЕЛЬНО:
- [Позиционирование]: провалился / прошёл → если провал: ПОЧЕМУ именно
- [Канал]: провалился / прошёл → если провал: ПОЧЕМУ именно
- [Оффер/цена]: провалился / прошёл → если провал: ПОЧЕМУ именно
- [Первые 30 дней]: провалился / прошёл → если провал: ПОЧЕМУ именно

Важно: называй КОНКРЕТНЫЙ этап. Не "стратегия слабая" — а "провалился
блок Цена, потому что...". Этапы которые прошли — сохраняются без изменений.

Промпт — Шаг 3 (Adversary — новый чат):

Ты — Adversary. Твоя задача: сломать эту стратегию.

[вставить финальную стратегию после правок]

Найди САМОЕ УЯЗВИМОЕ место. Разыграй worst-case сценарий:
- Что случится если ВКонтакте закроет рекламный кабинет за день до запуска?
- Что если конкурент выйдет с ценой в 2 раза ниже за неделю до запуска?
- Что если первый отзыв окажется резко негативным?

По каждому сценарию: что рушится, что выживает, что нужно изменить заранее.

Результат: После трёх итераций читатель получает стратегию, прошедшую типизированную критику (каждый блок проверен и сохранён или исправлен точечно) и adversarial stress-test. Adversary покажет конкретные worst-case сценарии — не абстрактные риски, а конкретные ломающие события. Typed Critic зафиксирует, что именно в стратегии слабое, не требуя переписывать сильные части.


🧠

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

LLM плохо делает несколько вещей одновременно. Когда в одном промпте нужно и придумать, и покритиковать, и вынести уроки — режимы рассуждения тянут в разные стороны. Модель либо слишком мягко критикует то, что сама же придумала, либо сбрасывает хорошие части вместе с плохими.

Зато LLM хорошо выполняет одну чётко заданную роль. Если сказать "ты — Adversary, твоя задача сломать это решение" — модель симулирует разрушительную критику намного агрессивнее, чем если спросить "что не так с этим планом?". Роль формирует контекст выдачи.

Метод использует это напрямую: каждая роль получает свой контекст и свою задачу. Designer не знает что будет Adversary. Typed Critic смотрит только на этапы, не на общее впечатление. Meta-Analyst видит весь trail — включая провалы — и только тогда формирует правила.

Рычаги управления:

  • Количество критиков → для простых задач достаточно одного Typed Critic вместо трёх каскадных
  • Степень агрессии Adversary → "сломай одним сценарием" vs. "разыграй пять worst-case"
  • Явность типизации → попросите Critic называть провалы по жёсткой схеме ("FAIL: блок Цена") — ответы станут точнее
  • Цикл аннуляции → в конце серии сессий добавьте вопрос "какие из прошлых правил теперь неверны?" — это и есть Meta-Analyst вручную

📋

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

Шаблон Designer (Шаг 1):

Ты — Designer. Предложи {решение/план/стратегию} для задачи:

Задача: {описание задачи}
Контекст: {кто, где, зачем, ограничения}

Структурируй ответ по этапам:
1. {Этап 1}
2. {Этап 2}
3. {Этап 3}
...

Каждый этап — отдельный блок с заголовком.

Шаблон Typed Critic (Шаг 2):

Ты — Typed Critic. Проверь каждый этап решения ОТДЕЛЬНО.

Решение:
{вставить ответ Designer}

Для каждого этапа выдай:
[{Название этапа}]: PASS / FAIL
Если FAIL — объясни ПОЧЕМУ именно этот этап, не всё решение.

Этапы с PASS — зафиксированы и не переписываются.
Только этапы с FAIL требуют доработки.

Шаблон Adversary (Шаг 3):

Ты — Adversary. Твоя задача — сломать это решение.

Решение:
{вставить финальную версию}

Критерии атаки: {укажи 2-3 реальные угрозы из контекста}

По каждой атаке:
- Что именно рушится
- Что выживает
- Что нужно изменить заранее, чтобы устоять

Шаблон Meta-Analyst (после серии сессий):

Ты — Meta-Analyst. У нас прошло {N} сессий по задаче {тема}.

Траектория сессий (включая провалы):
{краткое описание каждой сессии: что пробовали, что сработало, что нет}

Сделай:
1. Извлеки 3-5 правил, которые работают стабильно
2. Явно аннулируй правила, которые опровергнуты — с конкретным примером почему
3. Сформулируй обновлённый банк правил для следующей сессии

Плейсхолдеры: {задача} — ваша конкретная цель; {этапы} — логические части вашего плана/решения; {угрозы} — реальные риски из вашего контекста; {траектория} — краткий лог предыдущих попыток.


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

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

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

LLM спросит про структуру вашей задачи (на какие этапы она делится) и про реальные угрозы/риски — потому что Typed Critic не может работать без этапов, а Adversary — без контекста атак. Она возьмёт паттерн из шаблонов и адаптирует три роли под вашу ситуацию.


⚠️

Ограничения

⚠️ Требует нескольких запросов: Полный цикл — минимум 3 отдельных чата (Designer → Critic → Adversary). Для быстрых задач это избыточно.

⚠️ Слабо работает для субъективных задач: Typed Critic требует чёткие критерии для каждого этапа. Если нет объективных границ ("хорошо / плохо"), типизация превращается в размытые оценки.

⚠️ Meta-Analyst требует реального лога провалов: Принцип явной аннуляции правил работает только если сохранять траекторию неудачных попыток — не только успехи. Без этого превращается в обычное "что узнали".

⚠️ Adversary может быть слишком мягким: GPT/Claude в роли разрушителя иногда "щадит" решение. Нужно явно прописывать критерии атаки — иначе worst-case окажется not-so-worst.


🔗

Ресурсы

Название: R-APS: Compositional Reasoning and In-Context Meta-Learning for Constrained Design via Reflective Adversarial Pareto Search

Авторы: João Pedro Gandarela, Thiago Rios, Stefan Menzel, André Freitas

Организации: Idiap Research Institute (Швейцария), EPFL (Швейцария), Honda Research Institute Europe (Германия), University of Manchester (Великобритания)

Связанные методы: Reflexion (Shinn et al., 2024), ReAct (Yao et al., 2023), Voyager (Wang et al., 2023), ExpeL (Zhao et al., 2024), AutoGen (Wu et al., 2023)


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

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

LLM в одном промпте одновременно генерирует и критикует — это как просить человека придумывать идеи и сразу их разрушать. Результат: осторожный компромисс, ни сильного предложения, ни честной критики. R-APS позволяет разнести эти режимы по отдельным запросам с чёткими ролями — Дизайнер, Противник, Критик — чтобы каждый режим мышления получил чистый контекст. Фишка: теги в тексте ([ПРОБЛЕМА], [РЫНОК]) превращаются в маршрутизацию — Противник называет слабый тег, следующий запрос переписывает только его. Сильные части остаются нетронутыми.

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

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

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

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

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

Сложные составные задачи → для питчей, стратегий, текстов с разделами, планов — особенно когда нужно пройти жёсткий отбор и не сломать сильные части при доработке. НЕ подходит для: простых задач (три-четыре запроса на то, что решается одним — избыточно) и субъективных оценок без чётких критериев — Противник не даст точной диагностики, если нет объективной проверки. «Насколько текст вдохновляющий» — это не для R-APS.

Мини-рецепт

1. Дизайнер с тегами: создай результат и пометь каждый смысловой блок тегом: [ПРОБЛЕМА], [РЕШЕНИЕ], [РЫНОК] — сколько нужно по структуре. Теги обязательны — без них следующий шаг не знает куда целиться.

2. Противник: отдельный запрос, другая роль — жёсткий критик с конкретным профилем (инвестор, юрист, технический директор). Задача: найти ОДИН самый слабый тег и сформулировать убийственное возражение. Один тег, одно возражение — без смягчений и утешительных слов.

3. Точечное исправление: вставь исходный текст плюс диагноз Противника. Укажи явно: перепиши ТОЛЬКО блок [ТЕГ], всё остальное без изменений, слово в слово. Цель — закрыть конкретное возражение, не трогая то, что уже работает.

4. Мета-Аналитик (между сессиями): собери историю попыток — что сработало, что провалилось и почему. Попроси извлечь правила с явным аннулированием устаревших: если старое правило опровергнуто — не дополняй, а явно отмечай с примером. Перенеси актуальные правила в промпт Дизайнера следующей сессии вручную — LLM не помнит предыдущих разговоров, и без этого третий уровень не работает.

Примеры

[ПЛОХО] : Напиши питч для инвесторов и сразу покажи его слабые места Один промпт — конфликт двух ролей. Модель напишет питч, не зная куда целиться критикой, и покритикует, не желая разрушить то, что только что придумала. Получится мягкая диагностика ни о чём.
[ХОРОШО] : три отдельных запроса. Запрос 1 — Дизайнер: Составь питч на 3 минуты для B2B SaaS. Пометь каждый раздел тегами: [ПРОБЛЕМА], [РЕШЕНИЕ], [РЫНОК], [МОДЕЛЬ], [ТЯГА] Запрос 2 — Противник: Ты — партнёр венчурного фонда, 10 лет за плечами, 500 питчей. Найди ОДИН самый слабый блок. Тег блока + убийственный вопрос с трибуны, который зарубит питч. Один блок, одно возражение. [вставить питч из запроса 1] Запрос 3 — Исправление: Перепиши ТОЛЬКО блок [РЫНОК]. Все остальные блоки — слово в слово без изменений. Закрой вопрос: [вставить возражение Противника из запроса 2]
Источник: R-APS: Compositional Reasoning and In-Context Meta-Learning for Constrained Design via Reflective Adversarial Pareto Search
ArXiv ID: 2606.04823 | Сгенерировано: 2026-06-04 07:53

Проблемы LLM

ПроблемаСутьКак обойти
При исправлении модель переписывает всё, а не только сломанный элементПопросил исправить ошибку в одном разделе. Модель переделала весь текст. Хорошее сломалось вместе с плохим. Модель не различает "сломан один блок" и "сломана вся идея". Это происходит при любом многочастном тексте: статья, план, питч, стратегияРаздели текст на именованные части с тегами внутри самого текста. Например: [ПРОБЛЕМА], [РЕШЕНИЕ], [РЫНОК]. После диагностики пиши явно: "Перепиши ТОЛЬКО блок [РЫНОК]. Остальные блоки — без изменений, слово в слово"

Методы

МетодСуть
Теги внутри текста — маршрутизация точечных правокКогда создаёшь составной документ, попроси Дизайнера пометить каждую смысловую часть тегом: [ПРОБЛЕМА], [РЫНОК], [МОДЕЛЬ]. Потом попроси Критика назвать один слабый тег. Следующий запрос получает точный адрес: что именно менять. Почему работает: Без тегов у модели нет ориентиров — она не знает где заканчивается "сломанное" и начинается "нетронутое". Тег — это явная граница. Когда применять: многочастный текст с чёткими смысловыми блоками. Когда не работает: текст единым потоком без внутренних разделов — теги не помогут
Явная инвалидация накопленных правилКогда Мета-Аналитик извлекает правила из истории попыток — нельзя просто добавлять новые. Нужно явно аннулировать устаревшие с примером контрпримера. Формат: "Правило X аннулировано: в задаче Y оно дало обратный результат. Больше не применять." Потом вставляй только актуальные правила в следующий запрос. Почему работает: без явного аннулирования правила накапливаются и противоречат друг другу. Модель получает мусор вместо знания и путается. Явный запрет устраняет конфликт. Когда применять: серия сессий над одной задачей, нужно переносить опыт между сессиями вручную
📖 Простыми словами

R-APS: Compositional Reasoning and In-Context Meta-Learning for Constrained Design via Reflective Adversarial Pareto Search

arXiv: 2606.04823

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

Это как если бы ты пытался спроектировать дом, одновременно работая архитектором, злым инспектором по пожарной безопасности и опытным прорабом, который помнит все косяки на прошлых объектах. Если все эти люди сидят в одной голове в одну секунду — получится каша. R-APS превращает это в конвейер: один рисует чертеж, второй ищет в нем дыры, а третий записывает ошибки в базу знаний, чтобы на следующем круге архитектор не наступил на те же грабли. Формально это одна задача, но фактически — сложная игра, где каждый участник тянет в свою сторону, создавая идеальный баланс.

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

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

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

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

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

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