Skip to content

AI 工具调用的 Human-in-the-loop#

你可以在 AI Agent 执行特定工具前要求人工批准。当工具需要人工审核时,工作流会暂停并等待人工执行以下操作之一:

  • Approve 批准:工具按 AI 指定的输入执行。
  • Deny 拒绝:操作被取消且不会运行。

此功能允许在 AI 工作流中对工具使用进行选择性监督,更便于对高风险工具(如发送消息、修改记录或删除数据)进行额外审核。

何时使用人工审核#

Human-in-the-loop(HITL)审核适用于以下场景:

  • 工具执行不可逆操作:删除数据、发送对外通信或进行购买。
  • 存在合规要求:受监管行业可能要求某些自动化操作必须人工批准。
  • 涉及高价值决策:对业务影响较大的操作需要人工监督。
  • 建立对 AI 工作流的信任:先开启人工审核,随着信心提升再逐步减少审核。

你可以将 HITL 应用于连接到 AI Agent 节点的所有工具,也可以只对特定工具生效,从而实现更精细的控制,而不是对输出进行统一拦截。

工作原理#

  1. AI Agent 判断需要使用已启用人工审核的工具。
  2. 工作流暂停,并通过你配置的渠道(如 Slack、Telegram 或 n8n Chat 界面)发送审批请求。
  3. 审核人收到请求,看到 AI 想使用的工具及参数。
  4. 审核人批准或拒绝请求。
  5. 若批准,工具按 AI 指定输入执行;若拒绝,操作取消,并通知 AI 被拒绝。

不同的审批渠道

审核步骤可以通过与主交互不同的渠道完成。例如,用户通过 n8n Chat 界面与 AI 代理交互,但审批请求可以路由到 Slack 中的指定人员。

为工具设置人工审核#

第 1 步:打开 Tools Panel#

在工作流中,点击 AI Agent 节点上的 Tools 工具 连接器打开 Tools Panel 工具面板。

第 2 步:添加人工审核步骤#

  1. 在 Tools Panel 工具面板中找到 Human review 人工审核 部分。
  2. 从可用选项中选择你的审批渠道。
  3. 配置对应的凭据和设置。

第 3 步:将工具连接到审核步骤#

  1. 将需要审批的工具连接到人工审核步骤的工具连接器。
  2. 像平常一样配置每个工具。

可用的审批渠道#

你可以使用以下服务作为人工审核渠道:

Channel 渠道 Description 描述
Chat n8n 内置聊天界面
Slack 将审批请求发送到 Slack 频道或私信
Discord 将审批请求发送到 Discord 频道
Telegram 通过 Telegram 发送审批请求
Microsoft Teams 将审批请求发送到 Teams 频道或聊天
Gmail 通过邮件发送审批请求
WhatsApp Business Cloud 通过 WhatsApp 发送审批请求
Google Chat 将审批请求发送到 Google Chat
Microsoft Outlook 通过 Outlook 邮件发送审批请求

在人工审核工具中使用表达式#

$tool 变量#

在配置人工审核步骤时,你可以使用 $tool 变量构建消息,为审核人提供 AI 的意图上下文。该变量包含两个属性:

属性 描述
$tool.name AI Agent 想调用的工具名称。这是 n8n 画布上的节点名称。
$tool.parameters AI Agent 在工具调用中要使用的参数。这包括工具输入 schema 中使用 $fromAI() 表达式配置的所有字段。

示例消息配置:

1
2
The AI wants to use {{ $tool.name }} with the following parameters:
{{ JSON.stringify($tool.parameters, null, 2) }}

这有助于审核人在批准或拒绝请求前准确了解 AI 的操作意图。

在人工审核工具中使用 $fromAI()#

$fromAI() 函数可与连接到人工审核步骤的工具配合使用。这意味着 AI 可以动态指定工具参数,而审核人看到并批准的内容正是这些由 AI 决定的值。

System prompt 最佳实践#

为了让 AI Agent 正确理解并处理被拒绝的工具调用,请在 system prompt 中包含人工审核的相关信息。

需要配置 system prompt

请确保在 system prompt 中包含工具设置和人工审核步骤的信息。这样可以帮助 AI 理解哪些工具需要批准,以及在工具调用被拒绝时如何优雅地响应。

建议包含:

  • 哪些工具需要人工批准
  • 当审批被拒绝时会发生什么
  • AI 应如何响应拒绝(例如通知用户、提供替代方案或请求澄清)

链式与子代理#

当将 AI Agent 作为另一个 AI Agent 的工具使用时,子代理中的人工审核步骤仍可正常工作。

相关资源#