第 2 课
给 n8n AI Agent 加工具调用审批:Human-in-the-loop 实战
只拦截发消息、改记录等高风险工具调用,让审核人查看参数后批准或拒绝,其余安全步骤继续自动执行。
课程目录第 2 / 2 课
学习位置仅保存在当前浏览器,有效期 180 天。
视频讲解
图文讲义
n8n 的 Human-in-the-loop 可以挂在指定 AI Agent 工具之前:当 Agent 准备执行受保护的工具时,工作流暂停,并把工具名称和参数发给审核人;只有明确批准后才继续执行。这样可以让搜索、读取和沙盒计算保持自动化,同时拦截发送消息、修改客户记录或删除数据等有外部影响的动作。本教程使用当前支持 Human-in-the-loop for tool calls 的 n8n 版本,并在测试环境与测试凭据中演练批准和拒绝两条路径。
复制一条可安全测试的 Agent 流程
从已有的 Chat Trigger、AI Agent、聊天模型和工具节点流程复制一个测试版本。准备至少一个只读或沙盒工具,以及一个会产生外部写入的高风险工具;使用专门的测试账号与凭据,避免审批配置错误时影响真实客户或生产数据。
只把高风险工具接入 Human review
在 AI Agent 的 Tools 连接中加入 Human review,并选择需要审批的具体工具,例如发消息、创建工单或修改记录。不要把所有工具一律阻塞:读取资料和无副作用的计算可以保持自动执行,让人工注意力集中在真正不可逆或会对外产生影响的操作。
配置审批通道与可核查消息
先用 n8n Chat 作为测试审批通道,再按团队需要切换到受支持的消息通道。审批消息至少包含 $tool.name 和序列化后的工具参数,例如 JSON.stringify($tool.parameters),让审核人能在批准前看清目标、内容和关键字段。
规定拒绝后的 Agent 行为
在 System Prompt 中明确写出:工具被拒绝后必须停止该外部动作、向用户说明未执行,并等待新的指令;不得改用另一个功能相近但未受保护的工具绕过审批。提示词是行为约束,不替代连接层的工具保护,二者都要配置。
用同一请求测试批准与拒绝
对同一个会触发高风险工具的请求分别执行两次。批准路径应只产生一次预期外部动作,拒绝路径应产生零次外部动作,并返回清楚的停止说明;同时检查执行记录,确认审核前工作流确实暂停,工具参数与实际调用一致。
分离用户会话与团队审批
正式使用时,不要让终端用户所在的聊天通道同时充当内部审批通道。把审批通知发送给明确的团队审核人,检查连接凭据、可见范围、超时和失败处理,并定期审计哪些工具受保护;高风险增加时同步更新审批范围。