Human-in-the-Loop (HITL)¶
Раздел HITL — согласование критических операций ИИ-агентов человеком перед выполнением.
Маршрут: /hitl
Когда требуется HITL¶
HITL активируется когда:
- Политика
hitl.regoпомечает действие как критическое risk_scoreпревышает порог (по умолчанию 0.7)- Действие в списке критических:
delete_data,transfer_funds,modify_permissions - Обнаружена аномалия с высоким score
sequenceDiagram
participant Agent
participant API
participant Policy as OPA Policy
participant Human as Оператор
Agent->>API: policies/check
API->>Policy: Evaluate
Policy-->>API: required_approval=true
API-->>Agent: Ожидание согласования
Agent->>API: hitl/request
API-->>Human: WebSocket уведомление
Human->>API: hitl/approve
API-->>Agent: Разрешено
Очередь согласований¶
| Колонка | Описание |
|---|---|
| ID | UUID запроса |
| Агент | Имя и ID агента |
| Действие | Запрашиваемая операция |
| Ресурс | Целевой ресурс |
| Risk Score | Оценка риска |
| Статус | pending, approved, rejected, expired |
| Запрошено | Время создания запроса |
| Истекает | TTL запроса |
Согласование / отклонение¶
Через UI¶
- Откройте
/hitl - Выберите запрос со статусом
pending - Просмотрите контекст (действие, ресурс, reasoning агента)
- Нажмите Approve или Reject
- Укажите комментарий (опционально)
Через API¶
Статусы запросов¶
| Статус | Описание |
|---|---|
pending |
Ожидает решения оператора |
approved |
Согласовано, агент может выполнить действие |
rejected |
Отклонено |
expired |
Истёк TTL без решения |
TTL запросов
Запросы без решения автоматически переходят в expired. Агент должен повторить запрос.
Права доступа¶
| Действие | Минимальная роль |
|---|---|
| Просмотр очереди | Security Analyst |
| Согласование | Security Analyst |
| Отклонение | Security Analyst |
| Создание запроса (API) | Developer (через агента) |
Уведомления¶
- WebSocket: событие
hitl.pendingпри новом запросе - Счётчик на панели мониторинга (KPI «Ожидающие HITL»)
- Toast-уведомление в UI
Политика hitl.rego¶
Пример правила, требующего согласования: