3,583 papers
arXiv:2610.11552 81 8 окт. 2026 г. FREE

E-Ledger + WorldAbduct: агент с «воротами» перед действием, журналом подтверждённых фактов и проверкой скрытых правил

КЛЮЧЕВАЯ СУТЬ
Инструмент ответил «успешно», а в системе тихо поменялось что-то ещё. Агент об этом не знает и идёт дальше. Метод E-Ledger + WorldAbduct позволяет агенту выполнять задачи по политикам компании и не ломать их из-за скрытых побочных эффектов. Фишка: политику проверяет код, а не сам агент, и скрытое правило считается правилом только после пробного действия. Агент ведёт журнал подтверждённых фактов и больше не верит слову «успешно». На корпоративном бенчмарке безопасно выполненных задач в 2–4 раза больше, чем у обычного агента.
Адаптировать под запрос
⚡

TL;DR

E-Ledger — обвязка вокруг агента из четырёх частей. Перед каждым действием код сверяет его с политиками компании и разрешает, просит уточнить, пробует разведать или блокирует. Агент ведёт журнал состояния: что проверено и где это видно. Рядом лежит реестр скрытых правил: «если сделать X, незаметно изменится Y». WorldAbduct — способ пополнять этот реестр. Модель разбирает неудачные прогоны по четырём вопросам, выдвигает гипотезы о скрытых правилах и проверяет их отдельными пробными действиями. В реестр попадают только подтверждённые правила.

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

Метод закрывает эти дыры тремя вещами. Политики принудительно проверяются кодом, а не «просьбой соблюдать». Факты живут в журнале с источниками. Скрытые правила сначала гипотезы, а в реестр попадают после пробы. На корпоративном бенчмарке доля безопасно выполненных задач выросла в 2–4 раза против обычного агента. Для читателя без кода переносимы идеи: журнал, ворота, проверка после записи и разбор логов по четырём вопросам.

🔬

Схема метода

Рантайм E-Ledger (на каждый шаг агента):

ШАГ 1: Task-агент предлагает действие + прогноз «что изменится» → действие + ожидаемое изменение
ШАГ 2: Policy-context-агент достаёт из журнала поля, нужные для проверки политики → факты для гейта
ШАГ 3: Код-гейт сверяет действие с политикой → execute / query / probe / block
        (query и probe — не хватает данных; block — нарушение, действие заменить)
ШАГ 4: Действие выполняется, приходит ответ инструмента
ШАГ 5: State-tracking-агент обновляет журнал (с доказательствами) → динамическое состояние
        + реестр скрытых правил помогает прочитать косвенные эффекты

Эволюция WorldAbduct (после прогонов, отдельный цикл):

ШАГ 1: Разбор траектории по 4 взглядам:
        • согласованность состояния (прогноз ↔ ответ инструмента ↔ журнал)
        • «дыра наблюдения» (что изменилось, но инструмент об этом молчал)
        • корректность ворот (почему действие не прошло гейт)
        • оценка цели (рано остановился? нарушение прошло мимо гейта?)
ШАГ 2: Два типа выходов → прямая правка обвязки ИЛИ гипотеза о скрытом правиле
ШАГ 3: Абдукция-агент в свежей среде придумывает пробные действия для гипотезы
ШАГ 4: Решение: act (ещё проба) / revise (поправить гипотезу) / verified / unresolved
ШАГ 5: Только verified → в реестр скрытых правил (действие, условие, эффект, доказательство)

В оригинале это несколько агентов и код. Версия для чата описана ниже в шаблонах.

🚀

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

Задача: Вы настраиваете агента для Битрикс24, который двигает сделки по воронке. Политика: скидка больше 15% требует согласования РОПа. Агент прошёл десяток сделок, и в двух случаях что-то сломалось. После перевода в «Счёт выставлен» поле «Скидка» оказалось заблокировано, а договор ушёл клиенту. В ответе инструмента было просто «Сделка обновлена». Нужно понять, какие скрытые правила стоят за этим, и обновить инструкцию агента.

Промпт:

Ты — диагност прогонов агента. Разбери лог ниже по четырём взглядам, затем выдвини гипотезы о скрытых правилах и придумай безопасные пробы для их проверки.

<Политика>
1. Скидка > 15% — только после согласования РОПа.
2. Перевод сделки на «Счёт выставлен» возможен только при заполненных реквизитах.


<Лог>
1. get_deal(4821) → стадия «Переговоры», скидка 12%, реквизиты есть
2. update_deal(4821, скидка=18%) → «Сделка обновлена»
3. move_deal(4821, «Счёт выставлен») → «Сделка обновлена»
4. update_deal(4821, скидка=10%) → ОШИБКА: поле недоступно
5. Агент отчитался: «Скидка 18% применена, сделка в работе»


<Взгляды>
A. Согласованность состояния: где прогноз агента расходился с ответом инструмента? Что агент должен был записать в журнал, но не записал?
B. Дыра наблюдения: что изменилось, хотя инструмент об этом не сообщил? Какие шаги могли это вызвать? Сформулируй как гипотезу.
C. Ворота: какие действия должны были быть остановлены политикой? Почему не остановились? Каких данных не хватало гейту?
D. Цель: можно ли считать задачу выполненной безопасно? Есть ли нарушение, которое никто не поймал?


<Выход>
1. Прямые правки инструкции агента (коротко, по пунктам).
2. Гипотезы о скрытых правилах в формате: (действие, условие) → эффект.
3. Для каждой гипотезы — план проб в тестовой копии портала: какие 2–4 действия, что ожидаешь увидеть, что опровергнет гипотезу.
Скрытые правила помечай «ГИПОТЕЗА», пока их не проверили. В «подтверждённые» ничего не переноси.

Результат: Модель выдаст разбор по четырём блокам A–D. В нём будет видно, что скидка 18% прошла без согласования РОПа и что агент не проверил состояние после перевода в «Счёт выставлен». Дальше идут правки к инструкции и гипотезы вроде «перевод в „Счёт выставлен“ блокирует скидку и запускает отправку договора». К каждой гипотезе приложен план проб на тестовой копии портала. Какие правила окажутся реальными, станет ясно только после проб. Модель гипотезы лишь предлагает.

🧠

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

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

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

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

Рычаги управления: - Решения гейта. Добавь probe/query вместо бинарного «да/нет», тогда агент собирает недостающие данные, а не гадает. - Набор взглядов. В эксперименте у каждого взгляда свой профиль. Оценка цели даёт больше выполненных задач, но в одиночку вызывает небезопасные действия. «Дыра наблюдения» даёт максимум безопасности. Нужны все четыре вместе. - Статус правила. Гипотеза → проверено → в реестр. Если убрать проверку, реестр засоряется ложными правилами. - Доказательства в журнале. Каждая запись с источником. Конфликты и непроверенные поля помечаются отдельно.

📋

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

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

Шаблон 1. Системная инструкция агента (рантайм E-Ledger в тексте)


Ты — исполнитель задач в {система}. Ты работаешь по циклу: предложить → проверить → выполнить → обновить журнал.



{список политик: что запрещено, что требует согласования, какие предусловия}



  
  
  {правила_или_пусто}
  
  
  
  {состояние}
  



Перед КАЖДЫМ записывающим действием (создание, изменение, удаление, перевод, отправка):

1. PROPOSE: назови действие и предскажи, что изменится (включая побочные эффекты из StaticRules).
2. CONTEXT: выпиши из DynamicState поля, нужные для проверки политик. Если поля нет в журнале — не додумывай, пометь «нет данных».
3. GATE: сверь действие с каждой политикой и выбери ровно одно решение:
   - execute — все предусловия подтверждены в журнале с источником;
   - query — не хватает данных: сначала выполни читающий вызов;
   - probe — непонятно, как политика применяется: проведи безопасную разведку;
   - block — нарушение: замени действие, не выполняй.
   Рассуждения вида «это логично, значит можно» не считаются основанием для execute.
4. ACT: выполни действие только при решении execute.
5. UPDATE: сравни ответ инструмента с прогнозом. Запиши в DynamicState только то, что подтверждено ответом. Расхождения и незакрытые поля пометь «ПРОВЕРИТЬ». Ответ «успешно» — не доказательство итогового состояния: прочитай запись читающим вызовом, если от неё зависит политика.



Не завершай задачу, пока: (а) все подцели закрыты по журналу; (б) нет полей «ПРОВЕРИТЬ», влияющих на политики. Если безопасно выполнить задачу нельзя — объясни и откажись.

Шаблон 2. Диагност прогонов (WorldAbduct)


Ты — диагност. Ты разбираешь лог работы агента и улучшаешь его инструкцию и реестр скрытых правил.



Задача: {задача}
Политики: {политики}
Текущая инструкция агента: {инструкция}
Лог (действия, ответы инструментов, прогнозы агента): {лог}
Оценка результата (если есть): {результат}



A. StateConsistency: прогноз агента vs ответ инструмента vs журнал. Что не записано, что записано без опоры на ответ?
B. WorldObservationGap: что в состоянии изменилось без сообщения от инструмента? Какие более ранние действия — кандидаты в причины? Сформулируй гипотезы.
C. PolicyGate: какие действия не прошли гейт или должны были не пройти? Почему? Как улучшить действие агента или данные для гейта?
D. GoalJudgment: достигнута ли цель? Была ли преждевременная остановка? Прошло ли мимо гейта нарушение? Возможно ли ещё безопасное завершение или обоснованный отказ?



1. DirectUpdates: самые маленькие правки инструкции, которые закрывают найденные дыры.
2. Hypotheses: (действие, условие) → эффект; статус ГИПОТЕЗА.
3. ValidationPlans: для каждой гипотезы 2–4 пробных действия в чистой тестовой среде, ожидаемый результат, что опровергнет гипотезу.



Когда я пришлю результаты проб, для каждой гипотезы выбери одно:
- act: нужна ещё проба (назови какая);
- revise: данные говорят о другом правиле (дай новую формулировку);
- verified: выдай правило, условие применимости и доказательство;
- unresolved: данных недостаточно.
В реестр скрытых правил переноси только verified.

Что подставлять. Название системы (CRM, ITSM, ERP), политики дословно, текущую инструкцию агента, лог прогона вместе с ответами инструментов. Журнал и реестр сначала оставьте пустыми.

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

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

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

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

⚠️

Ограничения

⚠️ Гейт в тексте слабее гейта в коде: главный выигрыш по безопасности даёт код, который нельзя обойти рассуждением. Без кода модель может «согласиться сама с собой». Шаблон лишь снижает риск, но не гарантирует.

⚠️ Нужна среда для проб: гипотезу о скрытом правиле проверяют в свежей копии среды. Проверять на живой CRM или боевой базе нельзя: пробы сами что-то меняют.

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

⚠️ Малая выборка: тестовых задач было немного (результаты кратны 5 п.п.). Размеры эффекта лучше воспринимать как порядок, а не как точную цифру.

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

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

⚠️ Пока без журнала проверки скрытых правил: базовый E-Ledger без эволюции на одной из моделей не лучше обычного агента по безопасному выполнению. Журнал без знаний о скрытых правилах мало что даёт.

🔍

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

Исследователи взяли корпоративный бенчмарк World of Workflows. Там агент работает с записями, правами и согласованиями, а часть последствий действий скрыта от него. Для проверки общности добавили две научные среды, ScienceWorld и DiscoveryWorld. Все задачи делили в пропорции 2:1:2: обучающие траектории запускают эволюцию, валидационные выбирают лучшую версию обвязки, тестовые остаются закрытыми для итоговой оценки.

Сравнивали четыре модели и три подхода. Первый — обычный ReAct без обвязки. Второй — MemoHarness, который правит шесть компонентов обвязки по разборам случаев. Третий — WorldEvolver, который строит библиотеку изменений состояния только из того, что видно в ответах инструментов. WorldEvolver не проверяет гипотезы пробами.

Результаты удивляют масштабом. На одной модели безопасное выполнение выросло с 25% (ReAct) до 80% (E-Ledger + WorldAbduct). На другой — с 20% до 70%. Лучший конкурент отставал на 5–15 п.п. На DeepSeek E-Ledger при той же доле выполненных задач удвоил долю безопасных: ошибки остались в основном «не дошёл», а не «нарушил».

Абляции показали, какая часть что даёт. Если убрать реестр скрытых правил, безопасное выполнение падает с 75% до 40%. Это самый тяжёлый удар. Без журнала состояния оно падает до 65%. Без код-гейта доля выполненных задач не меняется, а безопасность падает: модель всё равно может выполнить запрещённое действие ради цели. Ещё один неочевидный вывод: E-Ledger без эволюции на одной модели оказался не лучше обычного агента по безопасному выполнению (30% против 35%). Скелет «ворота + журнал» не заменяет знание о мире, его нужно накопить.

💡

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

🔧 Техника: «разбор через четыре вопроса» без многоагентности → быстрый аудит агента

Скармливаете любой лог агента (Claude Code, Cursor, n8n-сценарий) с короткой инструкцией:

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

Это самый лёгкий способ использовать идею из статьи.

🔧 Техника: «читающий вызов после записи» → правило в CLAUDE.md / AGENTS.md

Добавьте в файл инструкций строку: «После любого изменения данных, от которых зависят политики, перечитай запись и сверь с ожиданием. „Успешно“ в ответе — не доказательство итогового состояния».

Экстраполяция: файл hidden-rules.md для вашего агента. Заведите в проекте файл с блоками «действие → побочный эффект → как проверено → дата». Добавляйте туда только то, что подтвердили вручную или тестовым прогоном. В CLAUDE.md сошлитесь на него: «Перед записывающим действием сверься с hidden-rules.md». Так вы получаете аналог реестра скрытых правил без кода.

🔗

Ресурсы

  • Работа: Safe, Persistent, and Evolving Agent Harness for Understanding Partially Observable Worlds (E-Ledger и WorldAbduct), препринт
  • Код: https://github.com/HKUST-KnowComp/ELEDGER-WorldAbduct
  • Авторы: Yisen Gao, Yue Guo, Qing Zong, Yiwen Guo, Yangqiu Song — Hong Kong University of Science and Technology, LIGHTSPEED
  • Бенчмарки: World of Workflows (Gupta et al., 2026), ScienceWorld (Wang et al., 2022), DiscoveryWorld (Jansen et al., 2024)
  • Базовые методы: ReAct (Yao et al., 2022), MemoHarness (Huang et al., 2026), WorldEvolver (Zhang et al., 2026)

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

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

Инструмент ответил «успешно», а в системе тихо поменялось что-то ещё. Агент об этом не знает и идёт дальше. Метод E-Ledger + WorldAbduct позволяет агенту выполнять задачи по политикам компании и не ломать их из-за скрытых побочных эффектов. Фишка: политику проверяет код, а не сам агент, и скрытое правило считается правилом только после пробного действия. Агент ведёт журнал подтверждённых фактов и больше не верит слову «успешно». На корпоративном бенчмарке безопасно выполненных задач в 2–4 раза больше, чем у обычного агента.

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

Метод состоит из двух циклов. Цикл на каждый шаг агента: 1. Агент предлагает действие и предсказывает, что изменится. 2. Из журнала достаются факты, нужные для проверки политики. 3. Ворота выбирают одно из четырёх: выполнить, уточнить данные, провести разведку или заблокировать. 4. Действие выполняется. 5. Журнал обновляется, а каждый факт получает источник. Цикл разбора после прогонов: 1. Лог разбирается по четырём вопросам: согласованность состояния, «дыра наблюдения», корректность ворот, оценка цели. 2. Модель выдвигает гипотезу о скрытом правиле: «сделал X, незаметно изменилось Y». 3. Гипотезу проверяют пробными действиями в тестовой копии системы. 4. В реестр идёт только подтверждённое. Агент предлагает, код решает, а скрытые правила сначала гипотезы и только потом факты. Это как турникет в метро. Пассажир может сколько угодно объяснять, что ему «логично пройти». Без билета турникет не откроется.

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

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

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

Агенты в бизнес-системах (система учёта клиентов CRM, служба поддержки, учёт ресурсов ERP) → задачи с записью данных и жёсткими политиками → особенно когда инструмент отвечает просто «успешно» и не сообщает о побочных эффектах. Версия для чата без кода работает слабее. Она снижает риск, но не гарантирует защиту. НЕ подходит для простых задач без политик и побочных эффектов: метод дороже и длиннее обычного агента. Не подходит и без тестовой копии системы: пробы сами что-то меняют, на боевой базе их делать нельзя.

Мини-рецепт

1. Собери политики дословно: что запрещено, что требует согласования, какие нужны предусловия. Без пересказов.
2. Заведи журнал из двух частей: подтверждённые скрытые правила (сначала пусто) и факты текущей задачи. У каждого факта указан источник.
3. Поставь ворота перед каждой записью: перед изменением, удалением, переводом или отправкой агент выбирает ровно одно: execute, query, probe или block. Довод «это логично» не считается.
4. Не верь слову «успешно»: после записи агент читает состояние заново, если от него зависит политика. Расхождения помечаются «ПРОВЕРИТЬ».
5. Разбирай логи по четырём вопросам: согласованность состояния, дыра наблюдения, ворота, цель. Лог со странностями отдай диагносту (Шаблон 2).
6. Проверяй гипотезы в тестовой копии: на каждую гипотезу 2–4 пробных действия. Заранее запиши, что её опровергнет.
7. Пускай в реестр только проверенное: вердикт по гипотезе один из четырёх: ещё проба, поправить, подтверждено, не решено. Переносить можно только «подтверждено».
8. Начни с быстрого старта: вставь шаблоны в чат и попроси модель задать вопросы про твою систему. Она соберёт инструкцию под неё.

Примеры

[ПЛОХО]: `Ты агент для Битрикс24. Двигай сделки по воронке и соблюдай политику скидок.` [ХОРОШО]: `Перед каждым изменением сделки: 1) предскажи, что изменится. 2) Выпиши из журнала скидку и стадию. Нет поля — пиши «нет данных». 3) Выбери одно: execute, query, probe или block. Скидка больше 15% без согласования руководителя отдела продаж — только block. 4) После записи прочитай сделку заново и сверь с прогнозом. Расхождения помечай «ПРОВЕРИТЬ».` [ПЛОХО]: `Посмотри лог и скажи, что пошло не так` [ХОРОШО]: `Разбери лог по четырём вопросам: где прогноз разошёлся с ответом инструмента, что изменилось без сообщения инструмента, какие действия должны были остановить ворота, можно ли считать задачу выполненной безопасно. Сформулируй скрытые правила как (действие, условие) → эффект и пометь «ГИПОТЕЗА». Для каждой дай 2–4 пробы в тестовой копии портала и скажи, что её опровергнет. В подтверждённые ничего не переноси.` В первом случае агент сам решает, что «логично». Во втором он обязан сначала сверить факты и выбрать решение, а после поломки скрытое правило выясняется пробой, а не догадкой. Так в логе Битрикс24 нашлась бы связка «перевод в «Счёт выставлен» блокирует поле скидки и отправляет договор клиенту».
Источник: Safe, Persistent, and Evolving Agent Harness for Understanding Partially Observable Worlds
ArXiv ID: 2610.11552 | Сгенерировано: 2026-10-09 05:00

Проблемы LLM

ПроблемаСутьКак обойти
Ответ инструмента «успешно» скрывает побочные измененияАгент вызывает инструмент и получает «Готово». Он считает, что изменилось только заявленное. Но система могла тихо поменять другие поля. Например, заблокировать поле или отправить письмо. Следующий шаг агент делает по неверной картине мира. Это касается любых задач с записью: CRM, ERP, заявки, базы данныхПосле каждого записывающего действия проси прочитать состояние отдельным читающим вызовом. Если от поля зависит правило, не верь слову «успешно». Расхождения между прогнозом и прочитанным помечай «ПРОВЕРИТЬ». Повторяющиеся сюрпризы собирай в список скрытых правил (см. методы)
Запрет в инструкции обходится собственными рассуждениями моделиТы написал «соблюдай политику». Модель думает: «это действие логично, значит можно». И нарушает правило, хотя инструкция была. Чем длиннее задача, тем чаще такое случаетсяВынеси проверку в отдельный шаг перед действием. Дай ограниченный выбор решений: выполнить, запросить данные, разведать, заблокировать. Прямо напиши: «Фраза "это логично" не основание для выполнения». Лучше всего, если проверку делает код, а не текст

Методы

МетодСуть
Ворота перед действием с четырьмя исходами — меньше угадыванияПеред каждым записывающим действием модель выбирает ровно одно решение. execute — все условия политики подтверждены в записях с источником. query — не хватает данных, сначала читающий вызов. probe — неясно, как правило применяется, делай безопасную разведку. block — нарушение, замени действие. Почему работает: при выборе «да/нет» модель при нехватке данных додумывает. Третий и четвёртый выходы дают ей законный способ сказать «не знаю». Когда применять: есть политики, согласования, предусловия. Когда нет: простые задачи без правил. Слабее кода, но снижает риск
Журнал фактов с источниками — модель не теряет подтверждённоеВеди блок состояния. В нём id, поля, связи. Каждый факт с пометкой, из какого ответа он взят. Записывай только подтверждённое. Конфликты и непроверенное помечай «ПРОВЕРИТЬ». Перед завершением проверь: нет ли непроверенных полей, влияющих на правила. Почему работает: в длинной задаче модель забывает уже установленное и перепроверяет одно и то же. Либо она останавливается раньше времени. Журнал держит факты на виду. Источник не даёт записать догадку как факт. Когда применять: многошаговые задачи с записью. Когда нет: один-два вызова
Гипотеза → проба → реестр: выдуманные правила не попадают в инструкциюДай модели запись неудачного прогона. Пусть найдёт, что изменилось без сообщения инструмента. Пусть назовёт шаги-кандидаты и запишет гипотезу (действие, условие) → эффект со статусом «ГИПОТЕЗА». Для каждой гипотезы проси 2–4 пробных действия и что её опровергнет. Пробы делай в тестовой копии системы. Потом отдай результаты модели. Она выбирает: ещё проба, поправить гипотезу, подтверждено, неясно. В реестр идёт только «подтверждено». Почему работает: модель хорошо выводит вероятную причину из следствия. Но она так же легко придумывает красивые ложные причины. Проверка отсекает выдумки. Ложное правило в инструкции хуже, чем его отсутствие. Когда нет: нет тестовой копии. Пробы на боевой системе сами что-то меняют
📖 Простыми словами

Safe, Persistent, and EvolvingAgentHarness for Understanding Partially Observable Worlds

arXiv: 2610.11552

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

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

Чтобы прекратить этот беспредел, исследователи создали E-Ledger — жесткий внешний каркас безопасности. Код перехватывает каждую команду модели, сверяет её с регламентами и ведёт строгий журнал состояния, фиксируя только проверенные факты. За кулисами работает механизм WorldAbduct: после каждого облома он формулирует гипотезы, запускает пробные разведки в песочнице и вносит в реестр исключительно подтверждённые скрытые правила.

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

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

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

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

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