Human-in-the-Loop Approval Framework
Nikola Balic (@nibzard)· validated-in-production
问题
自主AI Agent需要执行高风险或不可逆操作(如数据库修改、生产环境部署、系统配置、API调用),但允许其无监督执行会带来无法接受的安全与合规风险。而完全阻断这类操作则会违背Agent自动化的初衷。
方案
在保障Agent安全操作自主性的前提下,为指定高风险功能系统性嵌入人工审批关口。搭建轻量化反馈循环,支持时效性强的人工决策,且不阻塞Agent整体工作流。
核心组件:
风险分类:
- 识别需要人工审批的功能
- 定义审批标准(成本阈值、数据敏感度、可撤销性)
- 按风险级别对操作分类
多渠道审批界面:
- 集成Slack实现实时通知
- 邮件用于异步审批
- 短信用于紧急/关键操作
- Web仪表盘用于批量审核
审批工作流:
- Agent在执行高风险功能前请求权限
- 人工收到包含完整context的审批请求
- 快速完成批准/拒绝/修改决策
- Agent根据响应执行或调整计划
审计追踪:
- 记录所有审批请求与响应
- 追踪审批人、审批内容及时间
- 支持合规性检查与调试
sequenceDiagram
participant Agent as AI Agent
participant Framework as 审批框架
participant Slack as Slack频道
participant Human as 人工审核员
participant DB as 数据库
Agent->>Framework: 请求:删除old_users表
Framework->>Framework: 分类为高风险
Framework->>Slack: 发送带context的审批请求
Slack->>Human: 发送含批准/拒绝按钮的通知
alt 批准通过
Human->>Slack: 点击“批准”
Slack->>Framework: 批准已通过
Framework->>Agent: 权限已授予
Agent->>DB: 执行删除表操作
Framework->>Framework: 记录审批及执行信息
else 拒绝
Human->>Slack: 点击“拒绝并提供原因”
Slack->>Framework: 拒绝信息及context
Framework->>Agent: 权限拒绝+原因说明
Agent->>Agent: 调整计划(跳过或寻找替代方案)
end
如何使用
适用场景:
- 生产数据库操作(DELETE、DROP、ALTER)
- 带有副作用的外部API调用(支付、邮件、Webhook)
- 系统配置变更(防火墙规则、权限设置)
- 破坏性文件操作(批量删除、覆盖)
- 合规敏感型操作(GDPR、HIPAA、SOC2)
实现示例(HumanLayer 方案):
1. 对风险函数进行埋点:
from humanlayer import HumanLayer
hl = HumanLayer()
@hl.require_approval(channel="slack")
def delete_user_data(user_id: str):
"""删除用户全部数据 - 需要审批"""
return db.users.delete(user_id)
# Agent 正常调用函数
delete_user_data("user_123")
# 执行暂停,审批请求发送至 Slack
# 经人工审批/驳回后恢复执行
2. 配置审批渠道:
approval_channels:
high_risk:
- slack: "#agent-approvals"
- sms: "+1234567890" # 紧急场景使用
medium_risk:
- slack: "#agent-review"
low_risk:
- email: "team@company.com"
3. 设置上下文要求:
- 该操作的必要性是什么?
- 哪些数据会受到影响?
- 操作是否可撤销?
- 有哪些替代方案?
前置条件:
- 已与通信平台完成集成(Slack、邮件、SMS)
- 具备明确的风险分级标准
- 针对时间敏感型操作,能实现快速人工响应
- 审批被驳回时的回退策略
权衡
优点:
- 支持高风险操作的安全自主执行
- 在最关键的场景保留人工监督
- 轻量化集成(如Slack按钮,无需复杂UI)
- 提供合规性检查与调试所需的审计追踪
- 降低Agent因犯错产生的顾虑
- 支持随时间逐步扩大信任范围
缺点:
- 依赖人员的在岗状态与响应速度
- 若审批流程缓慢,会造成Agent工作流瓶颈
- 基础设施复杂度较高(涉及通知系统、状态管理等)
- 存在审批疲劳引发随意批准的风险
- 需明确界定需要审批的事项分类
- 频繁的请求可能打断人员的工作专注度
参考文献
关键词:
涉及HumanLayer平台核心产品、官方技术文档及生产级智能体系统设计原则三类资源,重点围绕人类在环的智能体工作流、基于Slack的人工审批机制及智能体监管模式展开。
直译:
- 《用Claude Code打造企业》(https://claude.com/blog/building-companies-with-claude-code)——HumanLayer的核心产品通过Slack协调智能体动作,并设置“人工审批环节”
- 《HumanLayer官方文档》(https://docs.humanlayer.dev/)——用于构建人类在环智能体工作流的框架及示例
- 《十二要素智能体》(https://github.com/humanlayer/12-factor-agents)——生产级智能体系统的设计原则,包含人工监管模式
- 相关模式:《控制范围/混合主动性》(spectrum-of-control.md)、《思维链监控与中断》(chain-of-thought-monitoring-interruption.md)
来源摘要
正在获取来源并生成中文摘要…
来源: https://claude.com/blog/building-companies-with-claude-code