3,583 papers
arXiv:2606.06090 70 4 июня 2026 г. FREE

MAGE: управление состоянием задачи вместо «вспомни что было»

КЛЮЧЕВАЯ СУТЬ
Поиск по смыслу и поиск нужного состояния — разные вещи. Агент ищет 'что похоже на запрос' и вытаскивает попытку купить товар 4. Но не то, что ты его в итоге не купил. Не то, что выбрал другой. Получаешь несовместимый выбор — и не понимаешь откуда. MAGE позволяет вести многошаговые проекты без потери связности — когда шаг 8 зависит от итога шага 2, а ошибка в шаге 3 ломает всё дальнейшее. Фишка: вся история делится на три слоя — завершённое сжимается в итог (C), текущее остаётся сырым (R), провальные ветки копятся как подсказки (H). Модель видит не весь вал текста — а правильный срез.
Адаптировать под запрос

TL;DR

Модели плохо справляются с длинными задачами не потому что "забывают" — а потому что вся их история хранится как куча фактов, и они тащат нужное и ненужное по схожести слов. MAGE — система, которая хранит историю как дерево выполнения: каждый завершённый шаг сжимается в итог, недавние шаги остаются сырыми, а ошибочные ветки отрезаются.

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

MAGE решает это через четыре операции в замкнутом цикле: Grow — записывает каждый шаг, Compress — сжимает завершённый подзадачу в итог, Maintain — проверяет итог до того как он стал "доверенной памятью", Revise — при обнаружении ошибки откатывается к нужной границе и продолжает с новой ветки, сохраняя весь корректный прогресс.


🔬

Схема метода

ТЕКУЩЕЕ СОСТОЯНИЕ = C + R + H
  C (Compressed) — сжатые итоги завершённых подзадач
  R (Raw)        — сырые шаги с момента последнего сжатия
  H (Hints)      — заметки из провальных веток + что пробовали ранее

ШАГ 1 — GROW: новый шаг выполнен
  → записываем (действие + результат) в дерево
  → добавляем в R

ШАГ 2 — COMPRESS: подзадача завершена
  → сжимаем R в краткий итог → кладём в C
  → R обнуляется
  → H обновляется ветками, которые были из этой точки

ШАГ 3 — MAINTAIN: валидация итога
  → модель проверяет: итог соответствует задаче?
  → PASS → продолжаем
  → FAIL → записываем диагноз в H, запускаем REVISE

ШАГ 4 — REVISE: ошибка найдена
  → откатываемся по дереву до границы перед ошибкой
  → ошибочная ветка остаётся в H как "что не работало"
  → продолжаем с чистой ветки, но с памятью о провале

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


🚀

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

Задача: Ты пишешь большой контент-план для телеграм-канала про инвестиции — 12 тематических блоков, где каждый следующий опирается на предыдущий: сначала база, потом инструменты, потом стратегии. Если в блоке 3 ошиблись с фреймингом — блоки 4-12 будут кривыми. Задача на 8+ итераций с ChatGPT.

Промпт:

Мы работаем над длинной задачей в несколько этапов. 
Используй структуру управления состоянием MAGE.

=== ТЕКУЩЕЕ СОСТОЯНИЕ ===

[C — ЗАВЕРШЁННЫЕ БЛОКИ]:
{Сюда вставляй краткие итоги завершённых блоков. Например:
"Блок 1 (Зачем инвестировать): аудитория — офисные работники 28-40 лет,
 тон — без нравоучений, главный страх — потерять, а не заработать. ✓"}

[R — ТЕКУЩИЙ БЛОК]:
{Сырые шаги последнего незавершённого блока. Например:
"Набросок Блока 2: инфляция поедает накопления → нужны инструменты...
 → пробовали через пугалку — не зашло"}

[H — ЗАМЕТКИ ИЗ ПРОВАЛЬНЫХ ПОПЫТОК]:
{Что пробовали и почему не работало:
"Попытка через статистику ЦБ — аудитория уходит, слишком академично"}

=== ЗАДАЧА ===
{опиши общую задачу}

=== ТЕКУЩИЙ ЗАПРОС ===
{что делаем прямо сейчас}

--- ПРАВИЛА ---
После завершения каждого блока:
1. Сожми его в 2-3 предложения для [C]
2. Проверь: этот итог не противоречит предыдущим блокам в [C]?
3. Если противоречит — скажи "НУЖЕН ОТКАТ" и укажи до какого блока
4. Если ок — переходи к следующему блоку с чистым [R]

Результат:

Модель будет работать в явной структуре: после каждого завершённого блока — сама предложит краткий итог-саммари для раздела C. При обнаружении противоречия — явно скажет "итог блока 3 конфликтует с тоном из блока 1" и предложит откат. Раздел H накапливает "антипаттерны" — что пробовали и почему плохо. В следующем сообщении ты вставляешь обновлённый стейт и продолжаешь.


🧠

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

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

Что модель умеет хорошо: Следовать явной структуре. Если дать ей организованное состояние — C + R + H — она работает с ним как с инструкцией, а не угадывает что важно из вала текста.

Как метод использует это: MAGE убирает необходимость модели самостоятельно "вспоминать что важно". Ты сам (или агент) управляешь тем, что попадает в контекст: сжатые итоги завершённого + сырые шаги текущего + набор провальных веток. Модель всегда видит правильный срез, а не всё подряд.

Рычаги управления: - Граница сжатия (COMPRESS) — чем чаще сжимать, тем короче контекст, но меньше деталей. Для творческих задач — сжимай реже, для аналитических — чаще. - Раздел H (Hints) — чем подробнее описываешь что не работало, тем точнее модель избегает тех же граблей. Это важнее раздела R для задач где много проб. - Явный откат (REVISE) — не продолжай ломаное из точки ошибки. Скажи модели "вернёмся к итогу блока 3, вот что было не так, поехали по-новому". Это принципиально другой результат, чем "исправь вот это".


📋

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

=== СОСТОЯНИЕ ЗАДАЧИ ===

[C — ЗАВЕРШЕНО]:
{краткие итоги каждого завершённого подэтапа, по 2-3 предложения}

[R — В РАБОТЕ]:
{сырые шаги текущего незавершённого этапа}

[H — ЧТО НЕ РАБОТАЛО]:
{попытки и причины провала: "пробовали {X} → {почему плохо}"}

=== ЗАДАЧА ===
{общая задача с ключевыми ограничениями}

=== СЕЙЧАС ===
Работаем над: {название текущего подэтапа}
Запрос: {конкретный вопрос/действие}

--- ИНСТРУКЦИЯ ---
После завершения этапа:
COMPRESS: дай краткий итог (2-3 предложения) для раздела C
MAINTAIN: проверь — итог не противоречит C выше?
- Если противоречит → напиши "ОТКАТ до этапа {X}" и объясни
- Если ок → переходи к следующему этапу

Что подставлять: - {краткие итоги} — сжатые результаты каждого завершённого шага - {сырые шаги} — всё что делали в текущем незавершённом этапе - {попытки и провалы} — что пробовали, почему не подошло - {общая задача} — цель и ключевые ограничения проекта - {текущий подэтап} — над чем работаешь прямо сейчас


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

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

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

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


⚠️

Ограничения

⚠️ Ручной режим требует дисциплины: Весь смысл MAGE — в том, что состояние обновляется автоматически. В ручном чате ты должен после каждого этапа обновлять C, R, H и вставлять в следующее сообщение. Без этого — просто красивый шаблон без эффекта.

⚠️ Не для коротких задач: Если задача укладывается в 3-5 сообщений — структура не нужна, только замедляет. Метод окупается на задачах от 8-10 итераций с взаимозависимыми шагами.

⚠️ Сжатие теряет детали: COMPRESS снижает контекст, но сжатый итог — это всегда потеря. Если подзадача содержит критичные нюансы — не сжимай, оставляй в R.

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


🔗

Ресурсы

Статья: Beyond Semantic Organization: Memory as Execution State Management for Long-Horizon Agents

Авторы: Yaoqi Chen, Haibin Lai, Yuru Feng, Chuyu Han, Qianxi Zhang, Baotong Lu и др.

Аффилиации: University of Science and Technology of China, Microsoft Research, Nanjing University, UC San Diego

Бенчмарк: MemoryArena (He et al., 2026) — задачи с взаимозависимыми шагами: шопинг, планирование путешествий, веб-поиск, формальные доказательства


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

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

Поиск по смыслу и поиск нужного состояния — разные вещи. Агент ищет 'что похоже на запрос' и вытаскивает попытку купить товар 4. Но не то, что ты его в итоге не купил. Не то, что выбрал другой. Получаешь несовместимый выбор — и не понимаешь откуда. MAGE позволяет вести многошаговые проекты без потери связности — когда шаг 8 зависит от итога шага 2, а ошибка в шаге 3 ломает всё дальнейшее. Фишка: вся история делится на три слоя — завершённое сжимается в итог (C), текущее остаётся сырым (R), провальные ветки копятся как подсказки (H). Модель видит не весь вал текста — а правильный срез.

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

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

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

Модель не имеет памяти между сообщениями. Каждый раз читает контекст заново. Длинная задача — растущий контекст. На шаге 8 модель тащит черновики шага 2 и забывает ограничение из шага 3. Она не 'забывает' — она не умеет сама выбирать что важно из вала. Явная структура в контексте работает лучше, чем надежда что модель сама разберётся. C+R+H — это инструкция, не архив. Модель хорошо следует явным паттернам. Плохо угадывает из хаоса. Дай ей структуру — и она работает с ней именно так.

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

Многошаговые проекты в чате — от 8-10 итераций с взаимозависимыми шагами: написание больших документов по частям, контент-планы, аналитика с итерациями, планирование с ограничениями. Особенно когда каждый следующий шаг опирается на решения предыдущих — и ошибка в шаге 3 ломает шаги 4-12. НЕ подходит для: задач до 5 сообщений (структура только мешает), независимых шагов где порядок не важен.

Мини-рецепт

1. Раздели задачу на подэтапы с чётким завершением. Не 'работа над главой 3', а 'глава 3 написана и проверена'. Граница нужна для сжатия.

2. Создай три раздела состояния в начале каждого следующего сообщения:
— [C — ЗАВЕРШЕНО]: краткий итог каждого пройденного этапа (2-3 предложения)
— [R — В РАБОТЕ]: сырые шаги текущего незавершённого этапа
— [H — ЧТО НЕ РАБОТАЛО]: что пробовали и почему не подошло

3. После каждого завершённого этапа — попроси: 'Дай краткий итог для раздела C. Проверь — итог не противоречит предыдущим?'

4. При ошибке — явный откат. Не 'исправь вот это', а 'вернёмся к итогу этапа 2, вот что пошло не так, поехали по-новому'. Провальную ветку — в H.

5. Обновляй состояние сам. Вставляй актуальный C+R+H в каждое следующее сообщение. Без этого — красивый шаблон без эффекта.

Примеры

[ПЛОХО] : Продолжи. Мы остановились на третьей главе, нужно учесть всё что обсуждали
[ХОРОШО] : === СОСТОЯНИЕ ЗАДАЧИ === [C — ЗАВЕРШЕНО]: Глава 1: аудитория — офисные работники 28-40, тон без нравоучений, главный страх — потерять. Глава 2: три инструмента для начинающих, без крипты, примеры из 2024. [R — В РАБОТЕ]: Набросок главы 3: стратегии диверсификации → пробовали через таблицу сравнения — зашло слишком академично. [H — ЧТО НЕ РАБОТАЛО]: Таблица сравнения → читатель уходит, слишком сухо. Примеры с большими суммами → аудитория не идентифицирует себя. === СЕЙЧАС === Глава 3: диверсификация без академичности. Запрос: дай три примера через бытовые аналогии, без таблиц.
Источник: Beyond Semantic Organization: Memory as Execution State Management for Long-Horizon Agents
ArXiv ID: 2606.06090 | Сгенерировано: 2026-06-05 10:02

Проблемы LLM

ПроблемаСутьКак обойти
Модель не различает "факт был" и "факт остался в силе"В длинной задаче модель тащит всё подряд из контекста. Шаг 4 был отменён? Неважно — модель его "видит" и опирается на него. Завершённый этап занимает столько же места, сколько актуальный. Модель не знает что из истории уже не действует. Любая задача с взаимозависимыми шагами ломаетсяУправляй контекстом вручную. Сжимай завершённые этапы в итог. Оставляй сырыми только текущий этап. Явно помечай что аннулировано. Смотри метод C+R+H ниже

Методы

МетодСуть
C+R+H — структура состояния длинной задачиРазбей контекст на три раздела. [C — ЗАВЕРШЕНО] — краткие итоги каждого законченного этапа (2-3 предложения). [R — В РАБОТЕ] — сырые шаги текущего незавершённого этапа. [H — ЧТО НЕ РАБОТАЛО] — что пробовали и почему плохо. В каждом новом сообщении вставляй обновлённый стейт целиком. Почему работает: Модель читает контекст заново при каждом запросе. Когда стейт организован — она работает с чётким срезом нужного. Когда нет — угадывает что важно из вала текста и ошибается. Когда применять: задача от 8+ итераций, шаги зависят друг от друга. Не нужно: задача на 3-5 сообщений, шаги независимы
Откат к границе до ошибки — не исправление поверхКогда этап пошёл не так, не проси "исправь вот это". Найди точку до ошибки. Скажи: "возвращаемся к итогу этапа 3, вот что там было не так, идём по-новому". Ошибочные попытки — в раздел H. Почему работает: Исправление поверх тащит в контекст всю ломаную логику. Откат с явным диагнозом даёт модели чистую точку старта и память о том, что не работало. Результат принципиально другой. Когда применять: обнаружил что этап заложил неверное допущение и дальше всё кривое

Тезисы

ТезисКомментарий
Явный список провалов предотвращает повторные ошибкиКогда в контексте есть раздел "что пробовали и почему плохо" — модель не возвращается к тем же решениям. Без этого раздела она видит только успешные шаги и снова предлагает то, что уже не сработало. Чем подробнее описан провал, тем точнее обход. Применяй: добавь раздел [H] в любую длинную задачу. Пиши: "пробовали {X} не подошло потому что {причина}"
📖 Простыми словами

Beyond Semantic Organization: Memory as Execution State Management for Long-HorizonAgents

arXiv: 2606.06090

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

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

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

Хотя метод тестировали на сложных программных агентах, принцип универсален для любой долгой работы с текстом или кодом. Это база для создания автономных сотрудников, которые не «плывут» после десятой итерации. Будь то написание книги, разработка сложного софта или многоступенчатый анализ рынка — везде, где результат шага №10 зависит от успеха шага №2, обычный ChatGPT рано или поздно выдаст галлюциногенный бред, а система с управлением состоянием вывезет задачу до конца.

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

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

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

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