人工介入工具:让 Agent 在高风险步骤暂停
本文基于 OpenRouter 公告翻译整理,保留原文语义并结合 GlobalRouter 的内容结构重新排版。
OpenRouter Agent SDK 新增了第四类工具:human-in-the-loop(HITL)工具。它的目标很明确:让 Agent 自动处理低风险、重复性的调用,同时在金额较大、合规风险较高或需要人工判断的步骤暂停,等待用户或运营人员确认。
这类工具的核心价值不在于“每次都弹出确认”,而在于把是否需要人工介入的判断逻辑集中到一个 hook 中。开发者可以根据金额、风险评分、内容策略、客户等级或内部审批规则决定是否自动放行。
工作方式
HITL 工具通过 onToolCalled hook 决定下一步:
- 返回一个结果:Agent 像调用普通工具一样继续执行。
- 返回
null:Agent 循环暂停,状态进入awaiting_hitl,应用层把待处理事项展示给人类。 - 人类给出结果后,应用再次调用模型,并把人工决策作为工具输出传回。
这种模式把暂停、恢复、状态追踪和 schema 校验交给 SDK 处理,业务侧只需要关注决策规则和审核界面。
适合哪些场景
- 支付、退款、额度调整等金融类动作。
- 删除、发布、发送外部邮件等不可逆操作。
- 命中内容安全、隐私或合规策略的任务。
- Agent 可以自动处理大多数情况,但少数边界需要人工判断的流程。
与固定审批的区别
固定审批适合“每一次都必须确认”的操作,例如删除数据库或发送正式邮件。HITL 更适合数据驱动的分流:低于阈值自动处理,高于阈值暂停审核。
对于 GlobalRouter 这类多租户模型聚合平台,HITL 思路可以延伸到成本治理和企业策略:例如当某次调用预计成本超过阈值,或路由到高价模型时暂停确认;当请求命中敏感标签时交给管理员复核。
对产品体验的启发
Agent 不应把所有责任都推给人,也不应完全绕开人。更好的设计是让系统解释为什么暂停、需要谁确认、确认后会产生什么影响。这样既保留自动化效率,也能让团队治理保持可审计。