Перейти к основному содержимому

✋ Подтверждения оператора

Что это. Механизм, при котором агент не выполняет опасный навык сам, а останавливается и спрашивает разрешения у сотрудника.

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

Это не подтверждения ИИ-клиентов

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

Подтверждение включается тумблером «Спрашивать подтверждение оператора» в карточке навыка-блока, а у инструмента MCP — режимом: «Каждый вызов», «Один раз за разговор» или «Без подтверждения». Для части вызовов — навыка «HTTP запрос», инструментов MCP с персональными данными в запросе и других — оно обязательно. Такой вызов обрывает пачку действий агента: прогон паркуется, а запрос уходит в очередь подтверждений проекта.

📷 Скриншот: врезка «Агент ждёт вашего решения» над полем ввода (будет добавлен).

Где находится​

Что видноЧто означает
Янтарная метка «Агент ждёт» у чата в списке диалоговПодсказка — «Агент ждёт решения оператора — откройте диалог»
Врезка «Агент ждёт вашего решения» над полем ввода в перепискеЗдесь принимают решение. Карточки отсортированы по сроку истечения
Статус «Ждёт подтверждения» и сегмент «ждёт подтверждения оператора» на вкладке «Трейс» страницы запускаПрогон стоит на подтверждении; само решение принимается в диалоге

Очередь обновляется сама примерно раз в 15 секунд и показывает до 200 записей.

Что написано в карточке​

Что видноЧто означает
«Агент хочет выполнить» и название блокаКакое действие предлагает модель
«Агент хочет выполнить» и «сервер · инструмент»Навык — инструмент MCP: например, «CRM · find_customer»
Бейдж «внешний сервис»Инструмент стороннего MCP-сервера. Подсказка — «Вызов уйдёт во внешний сервис: проверьте аргументы — в них могут оказаться данные клиента.»
«Псевдоним навыка»Имя, под которым навык выдан агенту
«Аргументы»С какими значениями будет вызван навык. Длинный список сворачивается кнопками «Показать целиком» и «Свернуть»
«В запросе персональные данные: телефон, email…»В аргументах вызова внешнего сервиса нашлись телефон, email, номер карты, паспорт, СНИЛС или IBAN. Такой вызов оператор подтверждает всегда, в любом режиме навыка
«Агент уже получил в этом разговоре ответ внешнего сервиса — …»После чужого текста в разговоре каждый такой вызов подтверждает оператор, см. ниже
Кнопка «Разрешить до конца разговора» вместо «Подтвердить»Навык с режимом «Один раз за разговор». Подсказка — «Разрешение действует до конца этого разговора: дальше агент вызывает этот навык без вопросов, с любыми аргументами. Запросы с персональными данными клиента всё равно придут на подтверждение.»
«Без аргументов»Навык вызывается без параметров
«Аргументы не удалось прочитать»Модель прислала значения, которые не разбираются
«Истекает через …» и «запрошено …»Сколько осталось до истечения срока и когда пришёл запрос. За 5 минут до истечения таймер краснеет
«Комментарий»Необязательное поле над кнопками, подпись — «Комментарий увидит нейросеть»
«После решения модель выбирает действие заново — навык может не выполниться»Ключевая оговорка, см. ниже
«Решать может редактор проекта и выше»Видно вместо поля комментария и кнопок тем, у кого роль ниже «Редактора»
«Запрос больше не существует» и кнопка «Обновить»Запрос удалён, пока карточка была открыта

Как принять решение​

  1. Откройте диалог с меткой «Агент ждёт».
  2. Прочитайте карточку во врезке «Агент ждёт вашего решения»: какой навык и с какими аргументами предлагает вызвать модель.
  3. При желании заполните в карточке поле «Комментарий» — его увидит нейросеть и при подтверждении, и при отказе.
  4. Нажмите «Подтвердить», если действие уместно. Появится сообщение «Подтверждено — решение отправлено агенту». У навыка с режимом «Один раз за разговор» кнопка называется «Разрешить до конца разговора», а сообщение — «Разрешено до конца разговора — решение отправлено агенту».
  5. Нажмите «Отклонить», если нет. Откроется окно «Отклонить вызов навыка» с обязательным полем «Причина отказа» — до 2000 символов, туда переносится текст комментария. Пока причина пустая, кнопка «Отклонить» неактивна, а подсказка объясняет зачем: «Без причины модель не поймёт, что было не так».
  6. Подтвердите отказ. Появится сообщение «Отклонено — решение отправлено агенту».

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

Что происходит после решения​

Решение — это не команда «выполнить»

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

Подтверждение действует только на вызов с теми же аргументами: если модель вызовет навык с другими значениями, появится новый запрос. У инструмента MCP оно ещё и привязано к версии инструмента: если сервер успел изменить инструмент, разрешение на старую версию не сработает.

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

Что реально произошло, видно в трассе прогона: шаг «Подтверждение» показывает запрос и решение, а следующий шаг «Ход модели» — что агент выбрал после него.

Если никто не ответил​

Срок ожидания задаёт лимит «Ждать подтверждения оператора» в настройках агента: по умолчанию 1 час, потолок — 4 часа.

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

Запрос помечается истёкшим (проверка идёт раз в минуту), карточка подписана «Истекло — агент продолжил без подтверждения», а кнопки на ней становятся неактивны. Если решение отправили в последний момент, появится «Решение не применено: запрос истёк» и кнопка «Обновить».

Если решают двое одновременно​

Запрос принимает ровно одно решение. Если два сотрудника нажали кнопки одновременно, применится решение того, кто успел первым, а второй увидит «Решение не применено: на этот запрос уже ответили» и кнопку «Обновить». Перезапрашивать и переигрывать ничего не нужно — решение уже ушло агенту.

Когда подтверждение требуется принудительно​

Навык «HTTP запрос» уходит на подтверждение независимо от того, что выбрано в тумблере, если:

  • метод запроса — любой, кроме GET;
  • в запросе есть авторизация;
  • модели открыты поля метода, заголовков или типа авторизации.

У инструмента MCP режим подтверждения не опускается ниже допустимого для инструмента: например, инструмент, который сервер пометил как удаляющий, — не ниже «Один раз за разговор», а действие Fixorix, которое увидит клиент, подтверждается каждый раз.

Кроме того, оператор подтверждает именно этот вызов — в любом режиме навыка и даже после «Разрешить до конца разговора», — если:

ПричинаПочему нужен человек
В аргументах вызова внешнего сервиса — телефон, email, номер карты, паспорт РФ, СНИЛС или IBANДанные клиента уходят в чужую систему — это решает человек. Карточка называет, что нашлось
Агент в этом разговоре уже получил ответ внешнего сервиса, а инструмент работает с секретом проекта или меняет данные в FixorixМодель прочитала чужой текст, который мог содержать указания, и не должна сама распоряжаться доступом проекта

Вызов, которому нужен оператор, не уходит в сервис, пока оператор его не подтвердит. Отключить подтверждение для таких вызовов нельзя.

Если подтверждения выключены на сервисе

Очередь подтверждений управляется настройкой всего сервиса и по умолчанию включена. Если её выключат, навык с включённым тумблером «Спрашивать подтверждение оператора» (у MCP-навыка — с режимом, отличным от «Без подтверждения») невозможно будет опубликовать, а навык, которому подтверждение нужно принудительно, во время прогона модели не предлагается: агент его просто не видит.

Ограничения​

  • Решение по запросу принимается один раз и не отменяется.
  • Подтверждение не гарантирует выполнения: модель выбирает действие заново.
  • Подтверждение одного вызова привязано к аргументам: вызов с другими значениями потребует нового решения. Разрешение до конца разговора к аргументам не привязано, но не покрывает вызовы с персональными данными в запросе.
  • Если клиент напишет, пока запрос висит, агент ответит ему в обычном порядке. Запрос при этом остаётся в очереди, и решение по нему агент получит позже.
  • Максимальный срок ожидания — 4 часа.
  • «Причина отказа» обязательна; и причина, и комментарий — не длиннее 2000 символов.
  • Настроить, кому именно приходит запрос, нельзя: он виден всем участникам проекта.

Кто что может​

ДействиеМинимальная роль
Видеть метку «Агент ждёт», врезку и карточки запросовПо умолчанию
Нажимать «Подтвердить» и «Отклонить», писать комментарийРедактор
Включать и выключать «Спрашивать подтверждение оператора» у навыкаРедактор
Выбирать режим подтверждения MCP-навыка не ниже, чем на сервереРедактор
Ставить MCP-навыку режим ниже, чем на сервереАдминистратор
Менять режим подтверждения инструмента на сервереАдминистратор
Менять лимит «Ждать подтверждения оператора»Редактор
Аргументы вызова видны всем участникам

Карточка показывает аргументы дословно, а среди них могут оказаться данные клиента — имя, контакты, содержимое обращения. Видеть карточку может любой участник проекта, даже с уровнем «По умолчанию»; ограничить круг тех, кто видит запросы, нельзя. Учитывайте это, когда открываете модели поля с персональными данными.


→ Агентский режим · Навыки агента · MCP-серверы для агентов · Участники и роли · Работа с обращениями