人闸门确认机制
人闸门(Human Gate)是 DesireCore 的执行前确认机制。工具声明、风险等级和当前智能体的审批模式共同决定操作是直接执行、交给 AI 决策,还是暂停等待你确认。
什么操作会触发人闸门
以下操作常被标记为需要确认;是否实际显示审批卡取决于工具规则和审批模式:
| 操作类型 | 示例 | 风险等级 |
|---|---|---|
| 发送消息 | 发邮件、发消息给他人 | 中 - 高 |
| 修改文件 | 写入或删除文件 | 中 |
| 执行命令 | 运行脚本或系统命令 | 中 - 高 |
| 外部调用 | 调用第三方 API 或服务 | 中 - 高 |
| 财务操作 | 涉及支付、转账等 | 高 - 严重 |
| 发布/公开 | 发布内容到外部平台 | 高 |
| 删除操作 | 删除数据或资源 | 高 |
| 权限变更 | 修改访问权限 | 严重 |
读取文件、分析数据和生成草稿等只读操作通常不需要确认。另一方面,“外部工具审批”或“全部放行”会减少甚至跳过普通确认,但内置拒绝规则、文件范围和工具权限仍然生效。
问答卡与人闸门的区别
有时智能体只是需要你补充信息,例如“选择哪个方案”“是否要继续等待”“缺少哪个文件”。这类场景会使用结构化问答卡,而不是人闸门审批。
| 机制 | 目的 | 是否代表高风险 |
|---|---|---|
| 问答卡(AskUserQuestion) | 澄清需求、收集选择、等待补充信息 | 否 |
| 人闸门(Human Gate) | 在执行有影响的操作前请求授权 | 是 |
问答卡可以设置超时。无人值守时,智能体会按问题中定义的策略继续、跳过或等待;超时本身不等于任务失败。刷新或断线后,未回答的问题会在重连后继续显示。
确认对话框
当人闸门被触发时,你会看到一个确认对话框:
确认对话框包含的信息
| 信息 | 说明 |
|---|---|
| 操作类型 | 智能体想要执行什么操作 |
| 影响范围 | 这个操作会影响什么资源 |
| 风险等级 | 操作的风险程度(低/中/高/严重) |
| 来源追溯 | 为什么要执行这个操作,源自哪个任务 |
| 详情 | 具体的操作内容(可展开查看) |
可用选择
批准
确认执行这个操作:
你:[点击 ✓ 允许]
智能体:"好的,正在执行..."
对于支持记忆的命令审批,还可选择 “总是允许”。当前实现会记住这一次完整命令的精确规则,不会自动扩大为“同一目录”或“同一可执行文件”的全部操作。
拒绝
阻止这个操作:
你:[点击 ✗ 拒绝]
智能体:"好的,我不会执行这个操作。
我将调整计划:改为把报告内容展示在对话中,
而不是写入文件。继续吗?"
智能体会根据你的拒绝理由调整后续行为。
风险等级与确认频率
风险等级是工具是否需要确认的重要输入,但最终行为还受 Agent 审批模式影响:
| 风险等级 | 标识 | 确认策略 | 示例 |
|---|---|---|---|
| 低 | 🟢 | 默认自动允许 | 读取文件、搜索信息 |
| 中 | 🟡 | 默认询问,可设为自动允许 | 写入文件、运行安全命令 |
| 高 | 🟠 | 默认需要确认;AI 审批可在倒计时后自动决定 | 发送邮件、调用外部 API |
| 严重 | 🔴 | 应优先保持真人确认;仍须检查实际工具策略与 Agent 模式 | 删除数据、财务操作、权限变更 |
“全部放行”会跳过普通工具确认,“外部工具审批”会放行内置工具和 Shell 命令。因此对涉及财务、删除、发布或权限变更的智能体,应使用“每次确认”并限制其工具和文件范围;不要只依赖风险标签或提示词。
管理"记住"的规则
你可以在智能体的审批偏好中查看或删除已记住的命令规则。用户通过“总是允许”产生的新规则按完整命令精确匹配;管理员白名单和拒绝列表可以使用各自的模式。拒绝规则和代码级黑名单优先于允许规则。
刚开始使用智能体时,建议保持较多的确认。随着你对它的信任增加,再逐步放开自动允许的范围。这就像现实中带新人——先看着他做,确认没问题了,再慢慢放手。
当智能体完成任务后,会生成一份详细的执行回执。前往 执行回执 了解如何解读回执信息。