3,583 papers
arXiv:2604.23283 71 25 апр. 2026 г. FREE

Reversibility Taxonomy: как не потерять работу агента при изменении задачи на ходу

КЛЮЧЕВАЯ СУТЬ
Идеальный алгоритм не поможет, если отправленное письмо нельзя отозвать. Гибкость агента ограничена не моделью и не промптом — а тем, можно ли физически отменить уже сделанное. Это структурное ограничение: улучшай планировщик сколько угодно, удалённые данные без резервной копии не вернуть. Reversibility Taxonomy позволяет менять задачу агенту в процессе работы без перезапуска с нуля — через классификацию действий до старта. Фишка: каждый шаг получает класс I / R / K / X — идемпотентный, обратимый, компенсируемый, необратимый. Агент сначала делает I и R. Перед K — предупреждает и ждёт. X — только в самом конце с явным согласованием. Если задача изменилась посередине — откатывается только хвост, всё до первого конфликтующего шага сохраняется.
Адаптировать под запрос

TL;DR

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

Главная находка: гибкость агента ограничена не качеством алгоритма, не силой модели, не длиной контекста — а обратимостью уже выполненных действий. Отправленное письмо нельзя "отправить обратно", даже если у вас идеальный планировщик. Удалённые данные без бэкапа — нельзя восстановить никакой моделью. Это не баг алгоритма — это структурное свойство пространства действий.

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


🔬

Схема метода

Классификация действий → ПЕРЕД стартом задачи:
  Каждый шаг задачи → I / R / K / X класс

ВЫПОЛНЕНИЕ:
  Шаг 1: Идемпотентные (I) и обратимые (R) действия → выполнить сначала
  Шаг 2: Компенсируемые (K) действия → выполнить с предупреждением
  Шаг 3: Необратимые (X) действия → отложить на финал, с явным согласованием

ЕСЛИ пришло изменение задачи:
  → Найти самый ранний конфликтующий K/X шаг
  → Всё до него — сохранить
  → Компенсировать конфликтующий шаг
  → Перепланировать только хвост

Все классификации выполняются в одном промпте или серии промптов в чате — без кода и без API.


🚀

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

Задача: Вы просите Claude помочь запустить новый продукт — составить и выслать письма партнёрам, забронировать зал для презентации, подготовить пресс-релиз. В середине работы вы понимаете: концепция изменилась, и письма нужно было писать по-другому.

Промпт:

Помоги мне спланировать запуск нового тарифа «Про» в нашем сервисе.

Перед тем как начать, **классифицируй каждый шаг** по типу обратимости:
- I (идемпотентный) — не меняет реальность: анализ, чтение, расчёты
- R (обратимый) — можно точно отменить: создать черновик, временный файл
- K (компенсируемый) — нельзя отменить точно, но можно исправить с затратами: 
  отправить письмо (можно послать поправку), забронировать зал (отмена со штрафом)
- X (необратимый) — нельзя отменить: публичный пост, оплата без возврата

Список задач:
1. Составить письма пяти партнёрам
2. Отправить письма
3. Написать черновик пресс-релиза
4. Опубликовать пресс-релиз на сайте
5. Забронировать зал на 15 человек
6. Проверить конкурентные цены

**Правила выполнения:**
- Сначала все I и R шаги
- Перед каждым K шагом — предупреди меня и жди подтверждения
- X шаги — только в финале, с явным моим согласованием
- Если я изменю задачу в процессе — найди самый ранний конфликтующий шаг, 
  сохрани всё до него, перепланируй только то, что после

Начни с классификации списка.

Результат: Claude выведет пронумерованный список с присвоенными классами (I/R/K/X) и объяснением каждой классификации. Затем предложит порядок выполнения: сначала проверка цен (I) и черновики писем (R), потом — с паузой на согласование — рассылка (K), бронирование (K), и публикация (X) в самом конце. Если вы напишете "стоп, концепция изменилась" после черновиков, но до отправки — модель сохранит черновики и перепишет только хвост.


🧠

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

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

Сильная сторона LLM: Модели хорошо следуют явно заданной структуре принятия решений. Если в промпте есть таксономия с чёткими правилами ("K = предупреди перед выполнением"), модель применяет её к каждому шагу последовательно.

Как метод использует это: Таксономия I/R/K/X превращает размытое понятие "обратимость" в конкретный чеклист. Модель не угадывает важность шагов — она применяет явные правила классификации к каждому действию. Вы получаете встроенные контрольные точки именно там, где откат станет дорогим.

Рычаги управления: - Детальность классификации → попросите добавить оценку стоимости компенсации (низкая/средняя/высокая) — получите приоритизацию рисков - Порог согласования → замените "предупреди перед K" на "предупреди перед K и X одновременно" — меньше остановок, больше скорость - Ранний X → если необратимый шаг нельзя отложить, попросите модель явно аргументировать почему он должен быть раньше — это форсирует осознанное решение


📋

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

Помоги мне выполнить задачу: {описание_задачи}

Список шагов:
{список_шагов}

Перед началом классифицируй каждый шаг:
- I — не меняет реальность (читать, анализировать, считать)
- R — точно обратимый (черновик, временный файл, можно удалить без потерь)
- K — компенсируемый (нельзя отменить точно, но исправимо с затратами: 
  письмо с корректировкой, отмена брони со штрафом)
- X — необратимый (публичная публикация, платёж без возврата, удаление без бэкапа)

Правила выполнения:
1. Сначала все I и R шаги — без остановок
2. Перед каждым K шагом — предупреди и жди моего "ок"
3. X шаги — только после явного согласования, в самом конце
4. Если я изменю задачу — сохрани всё выполненное до первого 
   конфликтующего K/X шага, перепланируй только хвост

Начни с таблицы классификации: шаг | класс | почему | стоимость отмены

Плейсхолдеры: - {описание_задачи} — что нужно сделать в целом ("запустить продукт", "провести мероприятие") - {список_шагов} — конкретные действия, которые нужно выполнить


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

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

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

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


⚠️

Ограничения

⚠️ Субъективные задачи: Классификация I/R/K/X работает чётко только там, где действия имеют конкретные внешние эффекты. "Написать текст" — R или K? Зависит от того, кто его читает и куда он идёт. В творческих и аналитических задачах без внешних действий польза таксономии снижается.

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

⚠️ Точность классификации: Модель может неверно классифицировать нестандартные действия — особенно в вашей конкретной ситуации. Проверяйте классификацию перед K и X шагами самостоятельно.

⚠️ Аgentic-контекст: Полная мощь метода проявляется в агентах с инструментами (Claude с веб-доступом, GPT с плагинами). В обычном чате без внешних действий таксономия работает как ментальная модель планирования, а не как технический механизм отката.


🔍

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

Идея была простой: создать бенчмарк, где агент выполняет реальные многошаговые задачи, а в середине выполнения приходит изменение — и посмотреть, насколько дорого оно обходится. Команда создала StreamBench с тремя сценариями (планирование мероприятия, организация путешествия, подготовка отчёта) по 12-15 шагов каждый. Обратимость контролировалась искусственно: включали/выключали K и X инструменты, чтобы получить задачи с разным соотношением обратимых и необратимых шагов.

Всего провели больше 30 000 запусков — на DeepSeek-V3, Claude Haiku и GPT-4o-mini. Сравнивали пять стратегий: от "игнорировать изменение" до "перезапустить всё с нуля". Качество судил отдельный LLM-судья по шкале 1-5. Интересный дизайн: судья проверял не только декларированный результат, но и конкретные эффекты в мире — что именно написано в письме, на какую дату забронирован отель, какая сумма в платеже.

Результат удивил своей чистотой: Revision Absorber достигал того же качества, что полный перезапуск, но тратил в 14.6 раз меньше шагов впустую. Принципиальный вывод — улучшение объяснялось именно механизмом отката, а не лучшим промптингом: Naive Absorber (просто добавляли изменение без отката) показал значительно хуже. Это подтвердило: дело не в том, насколько умна модель — дело в том, насколько обратимы её уже выполненные действия.


💡

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

1. Ментальная модель для любого планирования

Таксономию I/R/K/X можно применять вне агентного контекста — как фрейм для проверки AI-плана перед выполнением:

🔧 Техника: добавить "аудит обратимости" к любому плану

После того как Claude сгенерировал план действий, добавьте запрос:

Теперь пройдись по каждому шагу плана и скажи: 
что произойдёт, если я захочу отменить именно этот шаг 
после его выполнения? Отметь дорогостоящие и необратимые точки.

Это работает даже без явной таксономии — модель подсветит риски своими словами.

2. Экстраполяция: принцип "дорогое — в конец"

Из теоремы об оптимальности вытекает прикладное правило, применимое в любом проекте:

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

Вот мой план: {список_шагов}

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

🔗

Ресурсы

Название работы: Revisable by Design: A Theory of Streaming LLM Agent Execution

Код и бенчмарк: github.com/zhiyuanZhai20/stream-agent

Авторы: Xin Wang, Zhiyuan Zhai, Ming Li — Fudan University и Guangming Lab

Связанные работы из статьи: - ReAct (Yao et al., 2023) — базовая архитектура thought-action-observation - Reflexion (Shinn et al., 2023) — самокоррекция агента после завершения - StreamBench — оригинальный бенчмарк авторов - Saga pattern в теории распределённых баз данных (Garcia-Molina & Salem, 1987) — теоретическая база таксономии


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

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

Идеальный алгоритм не поможет, если отправленное письмо нельзя отозвать. Гибкость агента ограничена не моделью и не промптом — а тем, можно ли физически отменить уже сделанное. Это структурное ограничение: улучшай планировщик сколько угодно, удалённые данные без резервной копии не вернуть. Reversibility Taxonomy позволяет менять задачу агенту в процессе работы без перезапуска с нуля — через классификацию действий до старта. Фишка: каждый шаг получает класс I / R / K / X — идемпотентный, обратимый, компенсируемый, необратимый. Агент сначала делает I и R. Перед K — предупреждает и ждёт. X — только в самом конце с явным согласованием. Если задача изменилась посередине — откатывается только хвост, всё до первого конфликтующего шага сохраняется.

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

Три шага до старта задачи. Первый: выпиши все действия, присвой каждому класс — I (не меняет реальность: читать, считать, анализировать), R (точно обратимый: черновик, временный файл), K (компенсируемый с потерями: отправленное письмо, бронь со штрафом за отмену), X (необратимый: публичная публикация, платёж без возврата). Второй: переставь порядок — I и R в начало, K ближе к середине, X в конец. Третий: запусти с правилом: перед каждым K — пауза, перед X — явное «ок» от тебя. Если задача изменилась — находишь первый конфликтующий K или X шаг. Всё до него сохраняется. Перепланируешь только хвост.

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

LLM хорошо следует явной структуре с чёткими правилами. Без таксономии модель не видит разницы между «написал черновик» и «отправил письмо» — оба просто шаги плана. С таксономией у каждого шага есть класс и конкретное правило выполнения. Размытое понятие «действуй осторожно» превращается в алгоритм с жёсткими остановками. Контрольные точки появляются ровно там, где откат станет дорогим — не раньше (не замедляешь быстрые шаги), не позже (не теряешь работу после первого K).

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

Многошаговые задачи с реальными внешними действиями — отправка писем, бронирование помещений, публикации, платежи, изменение данных — особенно когда требования могут поменяться в процессе. Не подходит для коротких задач в 2-3 шага: накладные расходы на классификацию не окупаются. Слабо работает в чисто аналитических задачах без внешних действий — там нет настоящих K и X шагов, таксономия превращается в ментальную модель планирования, а не в технический механизм отката.

Мини-рецепт

1. Выпиши все шаги: составь полный список действий задачи до того, как начать.
2. Классифицируй каждый: I — не меняет реальность, R — точно обратимый, K — компенсируемый с потерями, X — отменить нельзя. Сомневаешься — ставь класс выше (лучше перестраховаться).
3. Переставь порядок: I и R вперёд, K — с предупреждением посередине, X — в самый конец.
4. Дай модели правила: перед K — предупредить и ждать подтверждения, перед X — явное согласование.
5. Условие на изменение: если скажешь «стоп» — модель находит первый конфликтующий шаг, сохраняет всё до него, перепланирует только хвост.

Примеры

[ПЛОХО] : Запусти продукт: напиши письма партнёрам, отправь их, забронируй зал, опубликуй пресс-релиз на сайте
[ХОРОШО] : Список шагов: [шаги]. Классифицируй каждый по схеме: I — не меняет реальность (читать, считать), R — точно обратимый (черновик, временный файл), K — компенсируемый (письмо можно поправить, бронь — отменить со штрафом), X — необратимый (публикация, платёж без возврата). Правила выполнения: I и R — делай сразу без остановок. Перед K — предупреди и жди моего «ок». X — только в конце, с явным согласованием. Если я скажу «стоп, задача изменилась» — сохрани всё выполненное до первого конфликтующего K или X шага, перепланируй только то, что идёт после.
Источник: Revisable by Design: A Theory of Streaming LLM Agent Execution
ArXiv ID: 2604.23283 | Сгенерировано: 2026-04-28 05:40

Проблемы LLM

ПроблемаСутьКак обойти
Агент не различает обратимые и необратимые шагиПросишь выполнить задачу из 10 шагов. Для агента "создать черновик" и "опубликовать пост" — одинаковые шаги плана. Нет приоритетов. Нет пауз перед опасными действиями. Если задача меняется после необратимого шага — вся работа потеряна или придётся начинать зановоДай агенту таксономию до старта. Попроси классифицировать каждый шаг по обратимости. Добавь правила: когда выполнять без остановок, когда ждать твоего "ок"

Методы

МетодСуть
Классификация шагов по обратимости — контрольные точки там, где откат дорогДо начала работы попроси агента разметить каждый шаг одним из четырёх классов: I — не меняет ничего (читать, считать, анализировать), R — точно обратимый (черновик, временный файл), K — компенсируемый (нельзя отменить точно, но исправимо с затратами: письмо с корректировкой, отмена брони со штрафом), X — необратимый (публикация, платёж, удаление без бэкапа). Затем задай правила: I и R — сразу, перед каждым K — пауза и твоё "ок", X — только в финале с явным согласованием. Если задача меняется — агент сохраняет всё до первого конфликтующего K/X шага, перепланирует только хвост. Почему работает: модель не угадывает важность шагов. Она применяет явные правила к каждому действию последовательно. Таксономия превращает размытое понятие "это важный шаг" в конкретный чеклист. Когда применять: многошаговые задачи с реальными внешними действиями (письма, публикации, бронирования). Когда не работает: 2–3 шага, нет внешних действий, задача чисто аналитическая

Тезисы

ТезисКомментарий
Гибкость агента ограничена обратимостью действий, а не силой моделиЛучшая модель не поможет отозвать отправленное письмо. Восстановить удалённые данные без бэкапа — невозможно алгоритмически. Это не баг планировщика. Это структура задачи. Чем больше необратимых шагов уже выполнено — тем дороже любое изменение курса. Применяй: при планировании многошаговой задачи сначала спроси себя: "Какие шаги нельзя отменить?" Эти шаги — узкие места. Откладывай их на финал, согласовывай явно
📖 Простыми словами

Revisable by Design: A Theory of StreamingLLMAgentExecution

arXiv: 2604.23283

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

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

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

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

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

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

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

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