3,583 papers
arXiv:2609.03438 76 3 сент. 2026 г. FREE

ConflictGuard: как заставить AI-агента остановиться, если команда нелогична

КЛЮЧЕВАЯ СУТЬ
AI-агент пишет в своих рассуждениях «данных за 2023 год нет» — и через строку всё равно выполняет команду. Успех на обычных задачах выше 70%, на противоречивых падает ниже 10%. Метод feasibility-verification позволяет агенту самому остановиться перед невозможной командой вместо слепого исполнения. Фишка: разбить проверку на два конкретных вопроса — логика команды и соответствие контексту — и требовать жёсткий формат отказа «СТОП: причина», а не расплывчатое «я не уверен».
Адаптировать под запрос

TL;DR

ConflictGuard — исследование того, что AI-агенты (программы, которые кликают по экрану, заполняют формы, выполняют команды за вас) почти никогда не останавливаются, даже когда инструкция бессмысленна или противоречит тому, что видно на экране. Учёные выяснили это на агентах, управляющих интерфейсами приложений, но механика касается любых агентных сценариев — от кастомных ассистентов с функциями до Claude Computer Use и ChatGPT Operator.

Главная находка жёсткая: на обычных задачах агенты справляются в 70-80% случаев, а вот заметить, что задача невыполнима — например, «нажми красную кнопку», когда на экране только синие — они смогли меньше чем в 10% случаев. Хуже того: иногда агент пишет в рассуждениях «здесь нет такой кнопки», а потом всё равно тыкает куда-то — то есть понимание проблемы никак не связано с решением действовать. Это называют разрывом между осознанием и действием.

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


🔬

Схема метода

ШАГ 1: Проверить логику инструкции → противоречит ли она сама себе / своей цели? (да/нет)
ШАГ 2: Проверить контекст → подтверждается ли инструкция тем, что видно сейчас на экране? (да/нет)
ШАГ 3: Если хоть один "нет" → СТОП. Не выполнять действие, а сообщить, в чём именно конфликт.
Если оба "да" → выполнять действие как обычно.

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


🚀

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

Задача: вы используете агентный режим (Claude Computer Use, ChatGPT Operator или аналог) для автоматической обработки возвратов в личном кабинете Wildberries или Ozon.

Промпт (системная инструкция агенту):

Перед тем как выполнить любое действие на экране (клик, ввод текста, отправка формы),
сначала проверь:

1. Логика: не противоречит ли текущая команда своей собственной цели или другой части инструкции?
2. Контекст экрана: подтверждается ли команда тем, что реально видно на экране прямо сейчас?

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

Задача пользователя, отправленная агенту: «Найди заказ #48213 и отклони возврат, чтобы вернуть деньги клиенту».

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


🧠

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

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

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

Метод работает именно за счёт порядка: сначала вывод явной верификации, потом — и только потом — решение о действии. Это меняет структуру генерации так, что найденное противоречие реально влияет на выбор, а не остаётся комментарием в стороне.

Рычаги управления: - Формулировку «останови и сообщи о конфликте» можно заменить на «спроси уточнение у пользователя» — если вам важнее диалог, а не жёсткая остановка. - Можно добавить третий пункт проверки под свою задачу (например, «не противоречит ли действие правилам компании») — структура «проверка → условие → стоп/действие» останется той же. - Если задачи в основном простые и конфликты редки — не нужно ставить эту проверку перед каждым действием, достаточно один раз на старте многошаговой задачи.


📋

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

Перед тем как выполнить любое действие ({тип_действий}), сначала проверь:

1. Логика: не противоречит ли текущая команда своей собственной цели
   или другой части инструкции пользователя?
2. Контекст: подтверждается ли команда тем, что реально доступно/видно
   в текущей ситуации ({источник_контекста})?

Если хотя бы один пункт не проходит проверку — НЕ выполняй действие.
Вместо этого останови работу и объясни точно, в чём противоречие.
Только если оба пункта пройдены — переходи к выполнению.

Задача: {задача}

Подставляй: {тип_действий} — что делает агент (клики, отправка писем, редактирование таблицы); {источник_контекста} — что считать «реальностью» (текущий экран, содержимое файла, данные CRM); {задача} — сама инструкция пользователя.

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

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

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

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


⚠️

Ограничения

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

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

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


🔗

Ресурсы

Do GUI Agents Know When Not to Act? Enabling Conflict-Aware Termination for Multimodal GUI Agents — Zhaoyuan Huang, Tianjie Ju, Pengzhou Cheng и др., Shanghai Jiao Tong University и Ant Group. Код и датасет CONFLICTGUI: github.com/serein356/ConflictGuard.


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

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

AI-агент пишет в своих рассуждениях «данных за 2023 год нет» — и через строку всё равно выполняет команду. Успех на обычных задачах выше 70%, на противоречивых падает ниже 10%. Метод feasibility-verification позволяет агенту самому остановиться перед невозможной командой вместо слепого исполнения. Фишка: разбить проверку на два конкретных вопроса — логика команды и соответствие контексту — и требовать жёсткий формат отказа «СТОП: причина», а не расплывчатое «я не уверен».

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

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

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

Модель может заметить противоречие — написать «данных за 2023 год нет» — и через строку всё равно присвоить статус первой попавшейся строке. Это разрыв между «осознать проблему» и «остановиться из-за неё» — сам факт проговаривания не гарантирует, что модель на него отреагирует. Жёсткий формат «СТОП: причина» вместо мягкого «я не уверен» фиксирует решение крепче — модели сложнее проскочить дальше, если она обязана выдать конкретный отказ, а не расплывчатое сомнение.

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

AI-агенты и автоматизации на базе ChatGPT или Claude → для работы с документами, таблицами, календарями, особенно когда данные могут не совпадать с командой. Не подходит как единственная защита для критичных операций — промпт снижает, но не убирает случаи, когда модель осознаёт проблему и всё равно действует.

Мини-рецепт

1. Раздели проверку на два вопроса: не спрашивай общее «всё ли ок», задай отдельно «логика команды без противоречий?» и «подтверждается ли это контекстом — данными, экраном, документом?»
2. Задай жёсткий формат отказа: никакого «возможно, стоит уточнить» — только СТОП: [конкретная причина]
3. Запрети модели чинить команду: добавь явно «не пытайся угадать, что я хотел, не исправляй сам»
4. Проверь на конфликтном кейсе: дай команду, которая точно противоречит контексту (просит данные, которых нет) — если модель всё равно действует вместо отказа, формулировка слишком мягкая

Примеры

[ПЛОХО] : Найди строку с максимальным доходом за 2023 год и присвой клиенту статус Премиум
[ХОРОШО] : Прежде чем действовать, проверь: 1) логика команды без противоречий? 2) подтверждается ли данными таблицы ниже? Если хоть один пункт не выполняется — ответь СТОП: [причина], не исправляй сам. Команда: найди максимальный доход за 2023 год и присвой статус Премиум. Данные: [таблица только за 2022 год]
Источник: Do GUI Agents Know When Not to Act? Enabling Conflict-Aware Termination for Multimodal GUI Agents
ArXiv ID: 2609.03438 | Сгенерировано: 2026-09-04 04:33

Проблемы LLM

ПроблемаСутьКак обойти
Агент выполняет невозможные или противоречивые командыДаёшь агенту задачу, которая противоречит сама себе или не подтверждается реальными данными (нет нужной строки в таблице, нет элемента на экране). Агент не останавливается. Берёт первое похожее и выполняет действие. На нормальных задачах успех выше 70%. На противоречивых — ниже 10%Разбей запрос на два явных шага перед действием: проверь логику команды и проверь, подтверждают ли её текущие данные. Если хоть один пункт не проходит — потребуй явный отказ, а не выполнение

Методы

МетодСуть
Двухшаговая проверка осуществимости перед действиемПопроси модель ответить на два вопроса до выполнения задачи: не противоречит ли команда сама себе, и подтверждается ли она тем что реально есть в контексте (данные, экран, документ). Если хоть один ответ «нет» — модель пишет строгий отказ в фиксированном формате: «СТОП: [причина]», без попыток угадать намерение или подменить задачу похожей выполнимой. Почему работает: модель по умолчанию стремится выполнить хоть что-то, а не признать невозможность. Разделение «сначала проверка, потом действие» на два явных шага заставляет её зафиксировать вывод отдельно от исполнения, вместо того чтобы смешать рассуждение и действие в одном потоке. Когда работает: задачи с данными, документами, экраном — там где есть проверяемый контекст. Когда не работает: субъективные задачи без чёткого критерия «подтверждено/не подтверждено» — там проверка превращается в формальность

Тезисы

ТезисКомментарий
Осознание противоречия не гарантирует остановку действияМодель может явно написать в своих рассуждениях «здесь что-то не так» — и тут же выполнить это «что-то не так». Одной просьбы «подумай сначала» не хватает: разрыв между тем что модель поняла и тем что она сделала, промптом устраняется только частично. Применяй: не полагайся на свободную формулировку сомнения — требуй жёсткий формат отказа («СТОП: причина») и явный запрет модели самой «исправлять» невыполнимую команду. Это фиксирует решение сильнее, чем расплывчатое «я не уверен»
📖 Простыми словами

Do GUIAgentsKnow When Not to Act? Enabling Conflict-Aware Termination for Multimodal GUIAgents

arXiv: 2609.03438

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

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

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

Тестировали на интерфейсах, но принцип универсален. Это критично для любых автономных систем: от Claude Computer Use и ChatGPT Operator до ботов, оформляющих возвраты на маркетплейсах. Без тормозов такой агент при малейшем сбое верстки запросто спишет деньги не туда или удалит важные данные. Умная остановка важнее тупого исполнения.

Короче: агент без тормозов — это граната с выдернутой чекой в твоей системе. Пока модели не научат вовремя говорить "нет", пускать их в реальные интерфейсы с деньгами и базами клиентов — чистое безумие. Настоящий интеллект — это не умение кликать до победного, а способность вовремя остановиться.

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

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

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