3,583 papers
arXiv:2610.14515 74 10 окт. 2026 г. FREE

SEPM: общий журнал с графом зависимостей, чтобы команда агентов не ломала порядок работы и копила проверенный опыт

КЛЮЧЕВАЯ СУТЬ
Список шагов без зависимостей — это ещё не процедура. Те же знания дали агентам просто текстом, без графа, и результат упал на 8–17 процентных пунктов. Некоторые готовые «общие памяти» оказались хуже, чем вообще без памяти. Метод SEPM позволяет собрать команду агентов, которая не лезет вперёд без готовых данных, не дублирует работу и копит только проверенный опыт. Шаги связаны предпосылками (что закончить до чего), а передача работы идёт только по доказательству, а не по слову «готово». Каждый ход агента падает в общий журнал по одной форме. Менеджер сверяет его с планом и даёт +25–30 пунктов к варианту без памяти.
Адаптировать под запрос
⚡

TL;DR

SEPM (Self-Evolving Procedural Memory, «самообучающаяся память процедур») делает для команды агентов две вещи. Все шаги задачи хранятся как граф зависимостей: что нужно закончить, прежде чем начать следующее. Все действия агентов пишутся в общий журнал (blackboard) со структурой. После задачи проверенные шаги превращаются в процедуру, которую берут в следующий раз. Повторяющиеся ошибки превращаются в предупреждения с условиями.

Главная находка: процедура без зависимостей — это просто список «что делать». Агент А не знает, что агент Б не должен трогать результат, пока агент В его не проверил. Поэтому агенты дублируют работу, идут вперёд без готовой предпосылки или применяют старый рецепт там, где его условия уже не выполняются. Когда те же знания дали текстом, без графа, результат упал на 8–17 процентных пунктов. Некоторые «общие» памяти и вовсе оказались хуже, чем отсутствие памяти.

Суть метода в четырёх вещах: (1) шаги связаны предпосылками; (2) каждый ход агента записан в журнал (задача, наблюдение, действие, результат, ошибка); (3) менеджер сверяет цель, план и факты каждого агента с эталоном и исправляет отклонения; (4) передача работы между агентами требует доказательства, а не слов «готово». Всё это в статье реализовано кодом. Принципы при этом переносятся в инструкции агенту-менеджеру.

🔬

Схема метода

ДО ЗАДАЧИ:
  Поиск процедур (условия применимости подходят, исключения не мешают)
  → менеджер строит граф задач: шаги + предпосылки + кто отвечает + предупреждения

ВО ВРЕМЯ ЗАДАЧИ (цикл):
  Агент делает шаг → пишет в журнал: (задача, наблюдение, действие, результат, ошибка)
  → менеджер проверяет три расхождения:
       цель ≠ назначенной?  план ≠ назначенного?  факты противоречат друг другу?
  → если да: правка и рассылка затронутым агентам
  → передача работы между агентами — только при подтверждённой предпосылке

ПОСЛЕ ЗАДАЧИ:
  Берём только проверенные шаги и реальные зависимости (не просто «шёл после»)
  → создать / исправить / сузить процедуру, добавить предупреждение
  → новую версию принимаем, только если прошла проверки безопасности, состояния,
    причинности и повторяемости
🚀

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

Задача: Селлер запускает карточку нового термостакана на Wildberries. В команде три агента. Копирайтер пишет заголовок и описание. Агент по характеристикам заполняет поля и размеры. Агент-публикатор загружает всё в личный кабинет. Типичная беда: публикатор уже «грузит» карточку, а характеристики ещё не сверены с описанием. Копирайтер при этом написал «объём 500 мл», а в поле стоит 450.

Промпт (для агента-менеджера):


Ты менеджер команды из трёх агентов: Копирайтер, Характеристики, Публикатор.
Цель: опубликовать карточку термостакана «Север-500» на Wildberries без ошибок в данных.



Шаг 1 (Копирайтер): заголовок и описание. Предпосылок нет.
Шаг 2 (Характеристики): заполнить поля (объём, материал, вес). Предпосылок нет.
Шаг 3 (Менеджер): сверить объём, материал и вес в тексте и в полях. Предпосылки: шаги 1 и 2 выполнены.
Шаг 4 (Публикатор): загрузить карточку. Предпосылка: шаг 3 подтверждён таблицей сверки.



Каждый агент после хода пишет одну запись:
[задача | что увидел | что сделал | результат | ошибка или «нет»]
Менеджер отмечает статус шага: ожидает / выполнен-проверен / провален.



После каждой записи проверь:
1. Цель: делает ли агент то, что назначено (а не соседнюю работу)?
2. План: совпадают ли его шаги с графом?
3. Факты: нет ли противоречий между записями разных агентов?
Если есть расхождение: назови его, верни агента к назначенному шагу, сообщи затронутым.



Передача работы допустима, только если в журнале есть ДОКАЗАТЕЛЬСТВО выполнения
предпосылки (таблица сверки, а не фраза «готово»). Без него Публикатору ответь: «Жди шаг 3».



- Объём в описании и в поле расходятся, если копирайтер писал «с запасом». Всегда сверять числа.

Результат: Менеджер выстроит работу по графу. Публикатора остановит, пока нет таблицы сверки. Если Копирайтер ушёл писать заодно инфографику, менеджер вернёт его к шагу 1. Если в журнале противоречие (500 против 450 мл), оно будет названо, а исправление уйдёт обоим затронутым агентам. В конце появится готовая карточка и журнал, из которого можно собрать процедуру для следующего товара.

🧠

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

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

Сильная сторона. Модель хорошо следует явной структуре: «шаг 4 только после шага 3», «в записи есть поле “ошибка”». Она хорошо сверяет два текста и находит расхождение. Она неплохо вытаскивает из длинного протокола «что получилось и почему».

Как метод это использует. Зависимости вынесены в явный граф, поэтому проверка предпосылки превращается в простое сравнение. Журнал даёт менеджеру факты вместо слов. Процедуры сохраняются вместе с условиями применимости и исключениями, поэтому опыт не переносится туда, где он не работает.

Рычаги управления промптом: - Строгость передачи работы. «Нужно доказательство» вместо «подтверди» → меньше преждевременных шагов, но больше проверок. - Поля записи журнала. Убери «ошибка» → теряются уроки для предупреждений. Добавь «артефакт» → проще проверять передачу. - Что считать расхождением. Три вида (цель, план, факты) можно сузить до одного для простых задач и сэкономить токены. - Предупреждения с условием. «Если X, то проверить Y» работает лучше, чем общее «будь осторожен». - Условия применимости процедуры. Чёткие «когда применять» и «когда нет» не дают старому рецепту сработать на чужой задаче.

📋

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

Это перенос идей SEPM в текстовый системный промпт менеджера. Оригинал реализован кодом (поиск BM25, векторное сходство, автоматические проверки при принятии версий). Структура ниже сохраняет логику метода, но проверки делает сама модель.


Ты менеджер команды агентов: {список_агентов}.
Общая цель: {цель_и_ограничения}.



Применимые процедуры (подходят по условиям, исключения не мешают):
{процедура_1: название | когда применять | когда НЕ применять | шаги с предпосылками | предупреждения}
{процедура_2: ...}



Построй граф: у каждого шага укажи
- id и действие
- ответственный агент
- предпосылки (id шагов, чей результат нужен)
- как доказать выполнение
Учитывай предупреждения из процедур.



После каждого хода агент добавляет запись:
[задача | наблюдение | действие | результат | ошибка или «нет»]
Менеджер ведёт статус каждого шага: ожидает / выполнен-проверен / провален.
В журнал идёт только публичное: внутренние рассуждения агентов не записываем.



После каждой записи проверь три расхождения:
1. ЦЕЛЬ: действие агента соответствует его назначению и общим ограничениям?
   (Похожие по словам цели могут означать разные операции.)
2. ПЛАН: шаги агента совпадают с графом по действиям и по зависимостям?
3. ФАКТЫ: нет ли записей разных агентов, которые противоречат друг другу?
При любом расхождении: назови его, дай исправление, передай затронутым агентам.



Передача результата другому агенту — только при доказательстве, что предпосылка
выполнена: {что_считать_доказательством}. Простая последовательность во времени
предпосылкой не считается.



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

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

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

Вот шаблон менеджера команды агентов по методу SEPM. Адаптируй под мою задачу: [твоя задача]. 
Задавай вопросы, чтобы заполнить поля.

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

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

⚠️

Ограничения

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

⚠️ Слабые модели: маленькие модели почти не используют процедурные подсказки. Самые малые конфигурации давали почти одинаковые результаты. Метод опирается на способность модели следовать структуре.

⚠️ Прирост над сильными аналогами скромнее, чем над «без памяти»: лидерство над лучшей альтернативой — единицы процентных пунктов. Большие цифры (+25–30 пунктов) считаются от варианта вообще без памяти.

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

⚠️ Симуляторы, не реальный бизнес: тесты шли на учебных средах (домашние задачи в симуляции, веб, офисные приложения). Перенос на ваши процессы нужно проверять.

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

🔍

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

Авторы взяли три среды: ALFWorld (бытовые задачи в симуляции), WebArena (задачи в браузере) и OfficeBench (работа в офисных приложениях). Команды агентов запускали на двух готовых многоагентных системах, AutoGen и DyLAN. Сравнивали SEPM с отсутствием памяти и тремя известными подходами: Generative Agents, MetaGPT, G-Memory. Основной запуск шёл на gpt-5-mini, чувствительность к модели проверяли ещё на двенадцати.

На AutoGen SEPM поднял результат с 59,7 до 89,6 на ALFWorld, с 12,4 до 38,3 на WebArena, с 41,7 до 54,7 на OfficeBench. Над лучшим конкурентом выигрыш скромнее, 3–8 пунктов. SEPM стал лучшим во всех шести вариантах.

Самое поучительное — абляции (отключение частей). Общий журнал дал +9,7, +15,3 и +3,3 пункта. Самообучающаяся память добавила ещё +17,2 на ALFWorld. Если заменить граф зависимостей на текстовую процедуру с теми же знаниями и тем же бюджетом контекста, результат падает на 8–17 пунктов. Знания те же, форма другая, и форма решает.

Удивило, что некоторые конкурирующие методы проседали ниже базового уровня (например, MetaGPT на DyLAN в ALFWorld). Память без структуры и условий применимости может навредить. Ещё одна находка: на ALFWorld SEPM расходует меньше токенов, чем Generative Agents и G-Memory, и при этом лучше по результату.

💡

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

🔧 Техника: «Доказательство вместо подтверждения» → меньше преждевременных передач

Добавьте в правила любому агенту, который ждёт результата другого:

Не начинай шаг, пока в журнале нет артефакта предыдущего шага (файл, таблица, ссылка, 
результат проверки). Слова «готово» и «сделал» артефактом не считаются. 
Если артефакта нет, напиши: «Жду: {что именно}».

🔧 Техника: файл процедур для Claude Code / Cursor → опыт не теряется между сессиями

Ведите в проекте PROCEDURES.md. Для каждой повторяющейся задачи пишите: когда применять, когда нет, шаги с предпосылками, предупреждения с условиями («если миграция трогает таблицу orders, сначала снять бэкап»). В CLAUDE.md или AGENTS.md добавьте строку: «Перед задачей найди подходящую процедуру в PROCEDURES.md. После завершения предложи правку, если появился проверенный урок». Правки принимайте сами, глазами, а не автоматически: так вы заменяете проверки принятия версий из статьи.

🔗

Ресурсы

  • SEPM: Self-Evolving Procedural Memory Grounded in Task Graphs for Multi-Agent Collaboration — Yi Liu, Junwei Zhao, Li Sun, Jiansong Zhang, Sen Su (Beijing University of Posts and Telecommunications; China Telecom), препринт.
  • Код: https://github.com/cookieApril/SEPM
  • Бенчмарки: ALFWorld, WebArena, OfficeBench, MultiAgentBench.
  • Сравнивались с: Generative Agents, MetaGPT, G-Memory; хосты AutoGen и DyLAN. Родственные работы: LEGOMem, LLMA-Mem.

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

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

Список шагов без зависимостей — это ещё не процедура. Те же знания дали агентам просто текстом, без графа, и результат упал на 8–17 процентных пунктов. Некоторые готовые «общие памяти» оказались хуже, чем вообще без памяти. Метод SEPM позволяет собрать команду агентов, которая не лезет вперёд без готовых данных, не дублирует работу и копит только проверенный опыт. Шаги связаны предпосылками (что закончить до чего), а передача работы идёт только по доказательству, а не по слову «готово». Каждый ход агента падает в общий журнал по одной форме. Менеджер сверяет его с планом и даёт +25–30 пунктов к варианту без памяти.

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

Обычная схема: агентам дали список, дальше они сами. Схема SEPM: менеджер строит граф зависимостей, и каждый шаг знает, чьего результата он ждёт. Агент сделал ход и записал в журнал: задача, что увидел, что сделал, результат, ошибка. Менеджер после каждой записи ищет три расхождения. Цель агента не совпала с назначенной. План не совпал с графом. Факты двух агентов противоречат друг другу. Работа переходит к следующему агенту только при доказательстве, что предпосылка выполнена. Это как стройка. Каменщик не кладёт стену, пока прораб не подписал фундамент. Слова «да там вроде залито» не считаются.

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

Без графа зависимости живут в голове каждого агента. Модель знает, что делать. Но не знает, при каких условиях это уже можно делать. Отсюда дубли, преждевременные шаги и старые рецепты, которые применяют там, где их допущения давно неверны. Граф превращает «можно ли начинать?» в простое сравнение двух текстов. А модели такое сравнение даётся хорошо. Журнал даёт менеджеру факты вместо слов. Процедуры хранятся вместе с условиями «когда применять» и «когда нет». Опыт без условий применимости не просто бесполезен, он вредит: часть готовых методов памяти проиграла варианту вообще без памяти. Но честно: над лучшим конкурентом лидерство составляет единицы пунктов. Большие цифры считаются от «без памяти».

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

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

Мини-рецепт

1. Распиши шаги как граф: у каждого шага id, исполнитель, предпосылки и способ доказать выполнение.
2. Заведи форму журнала: <запись>[задача | что увидел | что сделал | результат | ошибка или «нет»]. Поле «ошибка» не убирай. Из него потом растут предупреждения.
3. Определи, что считается доказательством: таблица сверки, скриншот, ссылка, результат проверки. Слово «готово» не в счёт.
4. Дай менеджеру три вопроса после каждой записи: та ли цель, тот ли план, нет ли противоречий в фактах. Для простых задач оставь один вопрос и сэкономь токены.
5. Добавь предупреждения с условием: «если X, то проверить Y». Общее «будь осторожен» не работает.
6. После задачи собери процедуру: возьми только проверенные шаги и реальные зависимости. Укажи, когда процедура применима и когда нет. Положи в блок процедур для следующего раза.
7. Быстрый старт: вставь шаблон в чат и попроси LLM задать вопросы про роли, доказательства и прошлые ошибки.

Примеры

[ПЛОХО]: `Вы команда из трёх агентов: копирайтер, характеристики, публикатор. Сделайте карточку термостакана и опубликуйте на Wildberries.` [ХОРОШО]: `Ты менеджер. Граф: шаг 1 (Копирайтер) — заголовок и описание; шаг 2 (Характеристики) — поля объём, материал, вес; шаг 3 (Менеджер) — сверить числа в тексте и в полях, нужны шаги 1 и 2; шаг 4 (Публикатор) — загрузка, только после таблицы сверки. Без таблицы отвечай Публикатору: «Жди шаг 3». После каждого хода агент пишет: [задача | что увидел | что сделал | результат | ошибка или «нет»]. Если в записях 500 мл и 450 мл — назови расхождение и отправь правку обоим.` [ПЛОХО]: `Будь осторожен с объёмом в описании.` [ХОРОШО]: `Если копирайтер писал объём «с запасом», сверь число в описании с полем «объём» до публикации.`
Источник: SEPM: Self-Evolving Procedural Memory Grounded in Task Graphs for Multi-Agent Collaboration
ArXiv ID: 2610.14515 | Сгенерировано: 2026-10-14 06:20

Проблемы LLM

ПроблемаСутьКак обойти
Накопленный опыт применяется там, где он уже не подходитСохраняешь удачный рецепт, шаблон или заметки прошлых задач. Потом даёшь их модели как подсказку. Модель не знает, при каких условиях рецепт верен. Применяет его к похожей по словам, но другой задаче. Результат бывает хуже, чем вообще без подсказкиХрани каждый рецепт с тремя полями: «когда применять», «когда НЕ применять», «предупреждения». Предупреждение пиши с условием: «если X, то проверь Y». Общее «будь осторожен» не работает. Перед использованием проси модель сверить задачу с полем «когда применять»

Методы

МетодСуть
Передача работы только по доказательствуКогда один агент или шаг отдаёт результат другому, словам «готово» не верь. В инструкции задай: Передача допустима, только если в журнале есть {доказательство}. Без него ответь: «Жди шаг N». Доказательство — это таблица сверки, ссылка, результат проверки. Почему работает: слово «готово» нельзя проверить. Артефакт можно сравнить с требованием. Модель хорошо сверяет текст с текстом. Когда применять: цепочки из нескольких агентов или шагов, где ошибка на раннем этапе портит всё дальше. Компромисс: меньше преждевременных шагов, но больше проверок. Не нужно: для простых задач в один шаг
Сверка трёх расхождений после каждого ходаДобавь в инструкцию проверяющего (менеджера, ревизора) короткий цикл. После каждой записи агента он проверяет три вещи. 1. Цель: делает ли агент назначенное, а не соседнюю работу? 2. План: совпадают ли его шаги с заранее составленным планом? 3. Факты: нет ли противоречий с записями других агентов? При расхождении: назвать его, дать исправление, сообщить затронутым. Почему работает: проверяющий не оценивает «хорошо ли», а сравнивает два текста с эталоном. Это для модели проще. Для простых задач можно оставить одну проверку и сэкономить токены. Нужен структурный журнал: [задача | что увидел | что сделал | результат | ошибка или «нет»]

Тезисы

ТезисКомментарий
Явные зависимости между шагами превращают проверку в простое сравнениеЕсли дать список шагов, зависимости остаются неявными. Модель знает, что делать, но не знает, когда это уже можно. Отсюда дубли работы и шаги без готовой предпосылки. Если у каждого шага написано «предпосылка: шаг N» и «как доказать выполнение», проверка сводится к вопросу «есть ли доказательство?». Применяй: в плане для нескольких агентов к каждому шагу добавляй поля предпосылки и доказательство
📖 Простыми словами

SEPM: Self-Evolving Procedural Memory Grounded in Task Graphs for Multi-AgentCollaboration

arXiv: 2610.14515

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

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

Чтобы этого не было, система использует три механики: граф задач с жестким правилом «шаг Б не начнется без шага А», общий журнал действий для синхронизации и процедурную память. Работает просто: если бот-публикатор залил карточку товара, где копирайтер указал «объем 500 мл», а в таблице стояло 450 мл, система фиксирует косяк. Проверенные удачные шаги превращаются в типовой регламент, а грабли — в автоматические предупреждения для следующих запусков.

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

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

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

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

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