3,583 papers
arXiv:2610.20424 73 14 окт. 2026 г. FREE

BizBench: агент выполнил задачу, но по дороге нарушил правила — и итоговая проверка этого не заметит

КЛЮЧЕВАЯ СУТЬ
Агент выполнил задачу, деньги сошлись, а правила он нарушил по дороге. Итоговая проверка этого не увидит. Лучшие модели проходят задачи «чисто» лишь в 60–64% случаев. У одной модели цель достигнута в 42% задач, а без скрытых нарушений — только в 32,7%. Метод BizBench позволяет поймать нарушения, которые финальный результат прячет. Задачу засчитывают, только если выполнены три условия: цель (G), процесс (P) и защита (F). Нарушение, которое потом исправили, всё равно считается нарушением. Агент на минуту ушёл ниже минимального остатка на счёте, потом вернул деньги — всё равно провал. Проверка идёт по журналу действий, а не по финалу.
Адаптировать под запрос

Текст статьи обрезан: раздел с экспериментами не дочитан. Цифры взяты из аннотации и введения.

⚡

TL;DR

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

Что идёт не так. Даже лучшие модели проходят такие задачи «чисто» примерно в 60–64% случаев. У одной из моделей цель достигается в 42% задач, а «чисто» — только в 32,7%. Остальные «успехи» содержат скрытые нарушения. Результат нестабилен: полностью успешно во всех трёх прогонах проходит лишь около 40% задач. Модели путаются в устаревших и конфликтующих документах. Они делают на ~70% больше вызовов инструментов, чем нужно. Слабые модели много раз лезут в закрытые ресурсы. Причина в том, что у модели нет «счётчика»: она проверяет условие в момент решения и не следит за ним до конца процесса.

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

🔬

Схема метода

Критерий успеха из статьи: Успех = G ∧ P ∧ F.

ШАГ 1 (G, цель):      нужный результат достигнут?              → да/нет + доказательство
ШАГ 2 (P, процесс):   правила соблюдены на КАЖДОМ шаге?        → да/нет по каждому условию
                      (согласие на конкретную операцию ДО неё;
                       минимальный остаток ВСЁ время)
ШАГ 3 (F, защита):    защищённое не тронуто, побочных эффектов нет? → да/нет
ИТОГ: успех только если все три «да»

Правило: исправление нарушения потом (возврат денег) не отменяет самого нарушения.

🚀

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

Задача: Вы продавец на Ozon и подключили ИИ-агента к управлению расчётным счётом ИП. Правила: на счёте всегда должно быть не меньше 50 000 ₽ — 28-го числа налоговый платёж. Любой платёж поставщику свыше 20 000 ₽ требует вашего явного подтверждения именно на эту сумму и этого получателя. Агент отработал неделю, и вы хотите проверить не «сошлись ли деньги», а «не нарушал ли он правила по пути».

Промпт:


Ты — аудитор процесса. Проверяешь журнал действий ИИ-агента по трём независимым критериям.
Итоговый результат не отменяет нарушений на промежуточных шагах.



P1. Остаток на расчётном счёте не должен опускаться ниже 50 000 ₽ ни в какой момент
    (проверяй баланс после КАЖДОЙ операции, а не только в конце).
P2. Платёж свыше 20 000 ₽ допустим только если ДО него есть подтверждение владельца
    на эту сумму и этого получателя. Общее «ок, делай» не считается.
    Если условия платежа изменились — нужно новое подтверждение.
F1. Нельзя трогать резерв на налоги и менять реквизиты получателей.



Оплатить поставщику ООО «Ромашка» 65 000 ₽ до 25 числа.



{журнал_действий_агента_с_балансами}



1. G: достигнута ли цель? Укажи строку журнала с доказательством.
2. P: пройди по журналу шаг за шагом. После каждой операции выпиши баланс
   и отметь, выполнены ли P1 и P2. Любое нарушение фиксируй, даже если позже исправлено.
3. F: проверь F1.
4. Итог: УСПЕХ только если G, P и F — все «да». Иначе — ПРОВАЛ с указанием шага нарушения.

Результат: Модель выдаст построчную таблицу: шаг, операция, баланс, статус по P1 и P2. Затем отдельно оценит G и F. В конце будет вердикт «УСПЕХ/ПРОВАЛ». Если агент на минуту опускал остаток ниже 50 000 ₽, это будет отмечено нарушением, даже если деньги потом вернулись.

🧠

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

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

Сильная сторона. Модель хорошо идёт по журналу пошагово и сверяет каждую строку с явным правилом, если правило сформулировано однозначно.

Как метод это использует. Он заставляет выписывать состояние после каждой операции и проверять правила отдельно от цели. Нарушение становится видимым фактом в строке журнала, а не вопросом интерпретации.

Рычаги: - Список правил P/F — меняйте под свой процесс (лимиты, согласования, запреты). - «Баланс после каждой операции» — замените на любое состояние, которое нужно отслеживать: статус заказа, остаток на складе, бюджет кампании. - Условие «согласие на конкретную операцию с условиями» — ужесточайте или ослабляйте под свой уровень риска.

📋

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


Ты — аудитор процесса. Проверяешь журнал действий агента по трём независимым критериям.
Исправление нарушения позже не отменяет самого нарушения.



P1. {обязательное_условие_на_всё_время_выполнения}
P2. {требование_согласования_до_операции}
F1. {что_нельзя_трогать_и_запрещённые_побочные_эффекты}



{цель_задачи}



{журнал_действий_агента_с_состоянием_после_каждого_шага}



1. G: достигнута ли цель? Укажи доказательство из журнала.
2. P: пройди по журналу шаг за шагом. После каждой операции выпиши состояние
   и отметь соблюдение каждого правила P. Фиксируй любое нарушение, даже исправленное.
3. F: проверь защищённые объекты и побочные эффекты.
4. Итог: УСПЕХ только если G, P и F — все «да». Иначе ПРОВАЛ с указанием шага.

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

Важно: авторы проверяли агентов детерминированным кодом, а не промптом. Шаблон переносит их принцип «цель / процесс / защита» в текст. Сам промпт как способ проверки они не тестировали.

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

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

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

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

⚠️

Ограничения

⚠️ Лечение не проверено: авторы измерили проблему, но не тестировали промпты, которые её исправляют. Шаблон выше — перенос принципа, а не доказанный приём.

⚠️ Одна область: все задачи из платёжного бизнеса, всего 50 штук, с симулированным клиентом. Перенос на другие сферы — ваша гипотеза.

⚠️ Проверка кодом, не LLM: оценка в статье детерминированная, без LLM-судьи. Модель-аудитор по журналу может сама пропустить нарушение. Выборочно проверяйте её вручную.

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

⚠️ Текст неполный: детали экспериментов (ablation по документам, стабильность симулятора) не дочитаны.

🔍

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

Авторы из Ant International взяли реальные процессы платёжной компании и перенесли их в игровую среду. В ней 789 документов и 601 бизнес-инструмент, которые агент должен сам находить через девять постоянных. В документах нарочно оставили устаревшие и конфликтующие правила с указанием сфер действия и сроков. Клиента играет другая LLM: она раскрывает данные по ходу и подтверждает операции.

Главная идея — проверять не «что получилось», а «что происходило». Для каждой из 50 задач написали проверки цели, процесса и защиты. Они работают по журналу действий и не требуют одного «эталонного пути». Каждую задачу прогнали вручную («золотой след»), чтобы убедиться, что она вообще решаема, и проверили проверки на допустимых и недопустимых вариантах решения.

Результаты. Лучшие модели набрали строгий успех 64,0% и 61,3%. Полностью успешно во всех трёх прогонах прошла лишь ~40% задач. У Qwen3.8-27B цель достигалась в 42,0%, а строгий успех был 32,7%. У нескольких прогонов DeepSeek остаток «в конце» был в норме, а по пути лимит нарушался. Они же в среднем делали 191,3 вызова инструментов, на ~70% больше эталона. Qwen3.5-9B в среднем делала 187,2 вызова, больше половины из них с ошибкой (попытки зайти в закрытые ресурсы). Ни один из её 150 прогонов не достиг всех целей.

Удивляет разрыв между «цель достигнута» и «всё сделано правильно». Практический инсайт: метрика «задача решена» маскирует нарушения процесса.

💡

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

Это мои идеи, не из статьи, авторы их не проверяли.

🔧 Техника: правило в инструкцию агенту → превентивная проверка

В системный промпт или файл инструкций агента можно добавить:

Перед каждой операцией, которая меняет остаток, статус или бюджет:
1. Выпиши состояние ДО и рассчитай состояние ПОСЛЕ.
2. Если после операции нарушится любое правило из  — не выполняй её, спроси меня.
3. Для операций свыше {лимит} запроси подтверждение именно этой операции с суммой и получателем.

Эффект — агент проверяет нарушение до действия, а не оправдывается после. Эффект не измерен.

🔧 Техника: документы с датами → меньше путаницы со старыми правилами

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

🔗

Ресурсы

  • BizBench: Unveiling Hidden Challenges in Deploying Long-Horizon Agents for Real-World Business
  • Авторы: Enhan Zhao, Yongqi Tong, Xuejun Yu, Hang Wang, Pan Wang, Yichao Wang, Di He, Jianshe Li, Wei Wu — Peking University, Ant International
  • GitHub: github.com/ant-intl/BizBench
  • Hugging Face: huggingface.co/datasets/ant-intl/BizBench
  • Смежные бенчмарки: τ-bench, AutomationBench

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

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

Агент выполнил задачу, деньги сошлись, а правила он нарушил по дороге. Итоговая проверка этого не увидит. Лучшие модели проходят задачи «чисто» лишь в 60–64% случаев. У одной модели цель достигнута в 42% задач, а без скрытых нарушений — только в 32,7%. Метод BizBench позволяет поймать нарушения, которые финальный результат прячет. Задачу засчитывают, только если выполнены три условия: цель (G), процесс (P) и защита (F). Нарушение, которое потом исправили, всё равно считается нарушением. Агент на минуту ушёл ниже минимального остатка на счёте, потом вернул деньги — всё равно провал. Проверка идёт по журналу действий, а не по финалу.

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

Три отдельные проверки вместо одной общей оценки. 1. G (цель): нужный результат получен? Нужно доказательство. 2. P (процесс): правила соблюдены на каждом шаге? Согласие на операцию было ДО неё? Минимальный остаток держался ВСЁ время? 3. F (защита): защищённое не тронуто, побочных эффектов нет? Успех только если все три ответа «да». Это как проверка на заводе. Мало, что деталь готова. Нужно, чтобы её сделали по технологии и не сломали соседний станок. Критерий из статьи: Успех = G ∧ P ∧ F.

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

У модели нет «счётчика». Она проверяет условие в момент решения и не следит за ним до конца процесса. Починенное нарушение в итоговой картине исчезает. Поэтому проверка только финала даёт ложные успехи. Жесть — у одной модели из 42% «успехов» чистыми остаются 32,7%. Полностью успешно во всех трёх прогонах проходит лишь около 40% задач. Ещё агенты делают на ~70% больше вызовов инструментов, чем нужно. Слабые модели много раз лезут в закрытые ресурсы. Если выписывать состояние после каждой операции, нарушение становится строкой в таблице, а не вопросом трактовки. Модель хорошо идёт по журналу и сверяет строки с чётким правилом. Но есть оговорка. Авторы проверяли агентов кодом, а не промптом. Шаблон ниже — перенос принципа, а не доказанный приём.

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

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

Мини-рецепт

1. Включи запись: пусть агент пишет каждое действие и состояние после него (баланс, статус заказа, остаток).
2. Разложи правила на три кучки: цель (G), процесс (P), защита (F). Не мешай их в одну фразу.
3. Раздели «всё время» и «до действия»: что должно держаться непрерывно, а что нужно согласовать заранее.
4. Отдай журнал аудитору: отдельный чат или другая модель, не сам агент.
5. Потребуй таблицу: шаг, операция, состояние, статус по каждому правилу.
6. Запрети прощать: нарушение фиксируется, даже если его потом исправили.
7. Проверь руками 2–3 строки: аудитор тоже может ошибиться.

Шаблон:
``

Ты — аудитор процесса. Проверяешь журнал действий агента по трём независимым критериям.
Исправление нарушения позже не отменяет самого нарушения.



P1. {обязательное_условие_на_всё_время_выполнения}
P2. {требование_согласования_до_операции}
F1. {что_нельзя_трогать_и_запрещённые_побочные_эффекты}



{цель_задачи}



{журнал_действий_агента_с_состоянием_после_каждого_шага}



1. G: достигнута ли цель? Укажи доказательство из журнала.
2. P: пройди по журналу шаг за шагом. После каждой операции выпиши состояние
и отметь соблюдение каждого правила P. Фиксируй любое нарушение, даже исправленное.
3. F: проверь защищённые объекты и побочные эффекты.
4. Итог: УСПЕХ только если G, P и F — все «да». Иначе ПРОВАЛ с указанием шага.

``

Примеры

[ПЛОХО] : Агент оплатил поставщику 65 000 ₽. Деньги сошлись? Проверь итог.
[ХОРОШО] : Проверь журнал агента по трём критериям. Цель: оплатить ООО «Ромашка» 65 000 ₽ до 25 числа. P1: остаток на счёте не ниже 50 000 ₽ после КАЖДОЙ операции. P2: платёж свыше 20 000 ₽ только с подтверждением владельца на эту сумму и этого получателя ДО платежа. F1: резерв на налоги не трогать, реквизиты не менять. После каждой операции выпиши баланс и статус P1 и P2. Нарушение фиксируй, даже если потом исправлено. Вердикт: УСПЕХ только если цель, процесс и защита — все «да». Журнал: {журнал_действий} В первом случае агент, который на минуту ушёл ниже 50 000 ₽, получит «всё хорошо». Во втором модель выдаст таблицу по шагам и честно напишет ПРОВАЛ с номером строки.
Источник: BizBench: Unveiling Hidden Challenges in Deploying Long-Horizon Agents for Real-World Business
ArXiv ID: 2610.20424 | Сгенерировано: 2026-10-15 08:00

Проблемы LLM

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

Методы

МетодСуть
Три независимые проверки журнала: цель, процесс, защитаРаздели проверку на три отдельных вопроса. G — цель достигнута? P — правила соблюдены на каждом шаге? F — защищённое не тронуто, побочных эффектов нет? Итог: Успех = G ∧ P ∧ F. Успех только если все три «да». В запросе попроси модель пройти по журналу строка за строкой. После каждой операции она выписывает состояние и отмечает соблюдение каждого правила. Любое нарушение фиксируется, даже исправленное. Почему работает: Модель плохо держит правило в голове до конца длинного процесса. Зато хорошо сверяет строку с чётким правилом. Выписанное состояние превращает нарушение в видимый факт, а не в вопрос толкования. Раздельные проверки не дают успеху по цели скрыть провал по процессу. Правила пиши однозначно. Например: «платёж свыше 20 000 ₽ требует подтверждения на эту сумму и этого получателя ДО операции». Общее «ок, делай» не считается. Когда применять: длинные процессы из многих шагов, есть жёсткие правила, есть полный журнал с состоянием после каждого шага. Когда не работает: одношаговая задача, журнала нет, правила размытые («действуй осторожно»). Осторожно: способ проверен только кодом, не промптом. Модель-аудитор сама может пропустить нарушение. Проверяй её выборочно вручную
📖 Простыми словами

BizBench: Unveiling Hidden Challenges in Deploying Long-HorizonAgentsfor Real-World Business

arXiv: 2610.20424

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

Это как нанять курьера отвезти бабушке торт, строго запретив нарушать ПДД. Он приехал вовремя, торт цел, но по пути чувак гнал по встречке и расколотил два светофора. Формально цель закрыта, результат на столе, но завтра к тебе постучится полиция с уголовным делом. В реальном бизнесе такой фокус не прокатит — критически важно не только то, куда агент пришел, но и сколько дров он наломал в процессе.

Чтобы вскрыть эту проблему, авторы собрали тест BizBench на 50 длинных сценариев из реальных платежей. Вместо слепой веры в финальный чекпоинт здесь внедрили жесткий аудит: формулу G ∧ P ∧ F. Агент побеждает, только если взял цель (Goal), соблюдал правила на каждом отдельном шаге (Process) и не прикасался к защищенным данным (Forbidden). Стоило включить поминутную проверку ограничений, как хваленые топовые модели начали массово сливать тесты.

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

Короче: хватит хлопать в ладоши, глядя на красивые итоговые отчеты — начинай логировать и валидировать каждый шаг. Если бот идеально свел дебет с кредитом, это не делает его гением; вполне возможно, он просто замел следы косяков. Навешивай проверку инвариантов на весь процесс, иначе однажды утром твоя автоматизация обернется разборками с налоговой.

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

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

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