Skip to content

HITL — согласование человеком

HITL (Human-in-the-Loop) — очередь ручных решений по рискованным действиям агентов и шагам workflow.
Раздел: /hitl. Роль: Security Analyst+.

Когда появляется запрос

  • Политика вернула required_approval.
  • Высокий risk score / критичные операции (delete_data, export_phi и т.п.).
  • В шаге workflow включено Require approval.

Статус run workflow при этом: awaiting_approval.

Работа с очередью

  1. Toast hitl.requested или KPI Pending HITL на Dashboard.
  2. Откройте HITL.
  3. Изучите: Agent, Action, Resource, Reason, контекст.
  4. Решение:
  5. Approve — действие/шаг разрешён, агент продолжает (поллинг статуса);
  6. Reject — отклонено; обязательно укажите причину (reason).
Поле UI Смысл
Requested Время запроса
Status pending / approved / rejected
Approver Кто принял решение (имя можно задать в Settings)

Правила хорошей практики

  • Не копите pending: определите SLA (например, 15–60 минут в рабочее время).
  • Reject без комментария недопустим для расследований.
  • Критичные ресурсы (PII, PHI, массовое удаление) — эскалация Admin / владельцу данных.
  • В демо-режиме согласования могут быть отключены (read-only).

API (справка)

# Очередь
curl http://localhost:8001/api/v1/hitl/pending -H "Authorization: Bearer $JWT"

# Одобрить
curl -X POST http://localhost:8001/api/v1/hitl/approve/$ID \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{"approver": "ivan.petrov"}'

# Отклонить
curl -X POST http://localhost:8001/api/v1/hitl/reject/$ID \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{"approver": "ivan.petrov", "reason": "Недостаточно оснований для экспорта"}'

Подробнее (EN): HITL.