AI 工具调用中的人工审核
可以要求 AI Agent 在执行特定工具前获得人工批准。当工具需要人工审核时,工作流会暂停,等待审核者执行以下操作之一:
- Approve(批准):工具使用 AI 指定的输入执行。
- Deny(拒绝):取消操作,不执行工具。
此功能允许有选择地监督 AI 工作流中的工具使用,便于对发送消息、修改记录或删除数据等风险较高的工具增加审核。
何时使用人工审核
以下情况适合使用人工参与(HITL)审核:
- 工具执行不可逆操作:例如删除数据、对外发送消息或购买商品。
- 存在合规要求:受监管行业可能要求某些自动化操作获得人工批准。
- 涉及重要决策:对业务影响较大的操作适合增加人工监督。
- 正在建立对 AI 工作流的信任:先启用 人工审核,随着信心增强,再逐步减少监督。
可以对 AI Agent 节点连接的所有工具启用人工审核,也可以只对指定工具启用。相较于统一审核输出,这种方式提供更精确的控制。
工作原理
- AI Agent 判断需要使用一个已启用人工审核的工具。
- 工作流暂停,并通过配置的渠道发送审批请求,例如 Slack、Telegram 或 n8n Chat 界面。
- 人工审核者收到请求,查看 AI 想使用的工具及其参数。
- 审核者批准或拒绝请求。
- 批准后,工具使用 AI 指定的输入执行。拒绝后,操作取消,并告知 AI 请求已被拒绝。
信息
使用不同的审批渠道
审核步骤可以使用与主要交互不同的渠道。例如,用户通过 n8n Chat 界面与 AI 智能体交互,而审批请求发送给 Slack 中的指定人员。
为工具设置人工审核
第 1 步:打开工具面板
在工作流中,点击 AI Agent 节点的 **Tools(工具)**连接端,打开工具面板。
第 2 步:添加人工审核步骤
- 在工具面板中找到 **Human review(人工审核)**部分。
- 从可用选项中选择所需的审批渠道。
- 为审批渠道配置相应凭据和设置。
第 3 步:将工具连接到审核步骤
- 将需要审批的工具添加到人工审核步骤的工具连接端。
- 按通常方式配置每个工具。
可用审批渠道
可以使用以下任意服务作为人工审核渠道:
| 渠道 | 说明 |
|---|---|
| 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() 表达式配置的字段。 |
消息配置示例:
AI 希望使用 {{ $tool.name }},参数如下:
{{ JSON.stringify($tool.parameters, null, 2) }}
这样可帮助审核者在批准或拒绝之前,准确理解 AI 想执行的操作。
在人工审核工具中使用 $fromAI()
$fromAI() 函数适用于连接到人工审核步骤的工具。这意味着 AI 可以动态指定工具参数,人工审核者看到并批准的就是这些由 AI 决定的值。
系统提示词最佳实践
要让 AI Agent 正确理解和处理被拒绝的工具调用,请在系统提示词中说明人工审核的设置。
注意
需要配置系统提示词
请在系统提示词中包含工具设置和人工审核步骤,帮助 AI 理解哪 些工具需要批准,以及工具调用被拒绝时应如何妥善回应。
可以包含以下内容:
- 哪些工具需要人工批准。
- 审批被拒绝后会发生什么。
- AI 应如何应对拒绝,例如告知用户、提出替代方案或请求澄清。
链式调用与子智能体
将 AI Agent 作为另一个 AI Agent 的工具时,子智能体中的人工审核步骤仍可正常工作。
相关资源
本文为社区中文翻译。查看对应英文原文