Подтверждения
Механизм подтверждений (approvals) реализует паттерн human-in-the-loop — возможность приостановить выполнение AI-сценария (воркфлоу) и запросить решение человека перед продолжением.
Концепция
При выполнении воркфлоу могут возникать ситуации, когда автоматическое решение нежелательно или рискованно. Например:
- Отправка крупного платежа
- Удаление данных
- Публикация контента
- Принятие бизнес-решения
В таких случаях в воркфлоу добавляется нода подтверждения (approval node). Когда выполнение доходит до этой ноды, сценарий приостанавливается и создаётся запрос на подтверждение. Выполнение продолжится только после того, как человек одобрит или отклонит запрос.
Жизненный цикл подтверждения
Создание запроса → Ожидание (pending) → Одобрение / Отклонение / Тайм-аут
↓
Продолжение выполнения
Статусы
| Статус | Описание |
|---|---|
| Pending (В ожидании) | Запрос создан и ожидает решения |
| Approved (Одобрено) | Запрос одобрен, выполнение продолжается |
| Rejected (Отклонено) | Запрос отклонён, выполнение прерывается или идёт по альтернативной ветке |
| Timeout (Тайм-аут) | Время ожидания истекло, запрос автоматически отклонён |
Страница подтверждений
Раздел Подтверждения доступен в боковом меню внутри проекта, в секции текстовых агентов.
Фильтрация
В верхней части страницы расположена панель фильтров:
| Фильтр | Описание |
|---|---|
| Статус | Pending, Approved, Rejected |
| Сценарий | Воркфлоу, к которому относится запрос |
| Пользователь | Кто принял решение по запросу |
| Период | Диапазон дат создания запроса. Доступны быстрые пресеты: Сегодня, Вчера, 7 дней, 30 дней |
Фильтры применяются автоматически при изменении. Для сброса всех фильтров нажмите Сбросить.
Таблица запросов
Таблица отображает все запросы на подтверждение:
| Колонка | Описание |
|---|---|
| Approval ID | Уникальный идентификатор запроса |
| Сообщение | Текст запроса на подтверждение |
| Запуск | ID выполнения воркфлоу |
| Статус | Текущий статус запроса |
| Создано | Дата и время создания |
| Одобрено | Кто принял решение |
| Ответ | Дата и время ответа |
Кликните на строку, чтобы открыть панель с подробной информацией.
Просмотр деталей
Боковая панель деталей содержит полную информацию о запросе:
Информация о запросе
- Статус — текущий статус с цветовой индикацией.
- Сообщение — текст, с которым запрос был создан нодой подтверждения.
- Создано — точная дата и время создания.
- Ответ получен — когда было принято решение.
- Кем одобрено / отклонено — имя пользователя.
- Причина отклонения — если запрос был отклонён с указанием причины.
Контекст выполнения
- Воркфлоу — название сценария, в котором создан запрос.
- ID выполнения — идентификатор текущего запуска (см. раздел Трассировка).
- ID потока — идентификатор потока выполнения.
- Входные данные выполнения — JSON с данными, переданными в воркфлоу.
Детали шага
Если доступна информация о ноде:
- Название шага — имя ноды подтверждения.
- Тип ноды — тип ноды в воркфлоу.
- Вход шага — данные, поступившие на ноду.
- Выход шага — данные, возвращённые нодой.
Одобрение и отклонение
Для запросов в статусе Pending в нижней части панели деталей отображается форма ответа:
- (Необязательно) Введите сообщение ответа или причину отклонения в текстовое поле.
- Нажмите одну из кнопок:
- Одобрить — одобрить запрос, выполнение воркфлоу продолжится.
- Отклонить — отклонить запрос, выполнение будет прервано или пойдёт по альтернативному пути.
При отклонении рекомендуется указать причину — она будет сохранена и может быть полезна для анализа.
Подтверждение через API
Помимо интерфейса платформы, подтверждения можно обрабатывать программно через API. Это полезно для:
- Автоматизации процесса принятия решений.
- Интеграции с внешними системами (мессенджеры, email, CRM).
- Создания собственного интерфейса для обработки запросов.
Нода подтверждения настраивается в визуальном редакторе воркфлоу. Подробнее см. раздел Нода Подтверждение.
Тайм-аут
Для запросов на подтверждение можно настроить тайм-аут — максимальное время ожидания решения. Если за это время решение не принято, запрос автоматически получает статус Timeout и обрабатывается как отклонение.
Запросы в статусе Timeout нельзя повторно одобрить или отклонить. Если требуется повторное выполнение, необходимо запустить воркфлоу заново (см. раздел Запуск и тестирование).
Для отладки выполнений с подтверждениями используйте раздел Трассировка, где можно просмотреть контекст на каждом этапе выполнения.