HITL 人机交互

wesgine HITL(Human-in-the-Loop)机制:Agent 主动交互、审批流与超时处理。


核心 API

方法路径说明
GET/hitl/pending待处理请求列表(?run_id=)
POST/hitl/{reqID}/respond响应请求

SDK API

cell.HITL().ListPending(ctx, runID)
cell.HITL().Respond(ctx, reqID, decision)

HITL 的触发来源

HITL 仅用于 Agent 主动交互,治理链不产生 HITL。

触发场景

来源场景
ask_user 工具Agent 主动向用户提问
browser_wait_for_user浏览器等待用户操作(AlwaysOn)
CycleDetector循环检测第二阶段,问用户"怎么办"
ErrorStreakDetector伪进展检测 HITL 超时

不产生 HITL 的


请求-响应流程

Agent Loop 阻塞
  ↓
HITL 请求创建
  ↓
SSE 事件推送到前端
  ↓
用户在同一会话内响应
  ↓
Agent Loop 继续

超时行为


CycleDetector 两阶段协议

阶段触发行为
自愈首次 CycleTerm注入 system 纠正消息 + 重置 counter
HITL第二次 CycleTermHITL 问用户,超时终止

Actor 边界

HITL 请求绑定到创建它的 Run 的 Actor。


browser_wait_for_user

Cell boot 无条件注册的 HITL 安全阀。

当 Agent 需要用户在浏览器中完成操作(如登录、验证码)时:

  1. Agent 调用 browser_wait_for_user
  2. Agent Loop 阻塞
  3. 用户在浏览器中完成操作
  4. 用户点击"继续"
  5. Agent Loop 恢复

相关文档