Approval Workflow
Approval Workflow 是管理高风险操作审批流程的机制,包括审批请求发起、审批人通知、审批决策和审批后执行。
#type / concept
#status / evergreen
#tech / ai
#tech / architecture
[!info] related notes
Approval Workflow
一句话定义
Approval Workflow 是管理高风险操作审批流程的机制。Agent 请求执行删除操作 → 发起审批 → 通知审批人 → 审批人批准 → 执行操作。
核心原理
审批流程
Agent 请求执行高风险操作
│
▼
创建审批请求
│
├─→ 通知审批人(Webhook、邮件、即时通讯)
│
▼
等待审批
│
├─ 批准 → 执行操作
├─ 拒绝 → 通知 Agent 操作被拒绝
└─ 超时 → 自动拒绝
Python 实现
class ApprovalWorkflow:
async def request_approval(self, tool_call, context) -> ApprovalResult:
# 创建审批请求
request = ApprovalRequest(
id=generate_id(),
tool_call=tool_call,
requester=context.user_id,
created_at=datetime.now(),
expires_at=datetime.now() + timedelta(minutes=5),
)
await self.store.save(request)
# 通知审批人
await self.notify_approvers(request)
# 等待审批(带超时)
try:
result = await asyncio.wait_for(
self.wait_for_decision(request.id),
timeout=300, # 5 分钟超时
)
return result
except asyncio.TimeoutError:
return ApprovalResult(decision="rejected", reason="timeout")
常见坑
- 不做超时: 审批人不响应,Agent 永远等待
- 审批信息不足: 审批人看不到完整操作内容
- 不做审批记录: 无法审计谁批准了什么