← [ BACK_TO_NOTES ]

Approval Workflow

Approval Workflow 是管理高风险操作审批流程的机制,包括审批请求发起、审批人通知、审批决策和审批后执行。

#concept #evergreen #ai #architecture

[!info] related notes

Approval Workflow

一句话定义

Approval Workflow 管理需要新增授权的操作,从可审阅请求、审批决策到受约束的执行。已在用户授权和策略范围内的操作无需重复审批;审批不是提高被硬性禁止操作权限的通道。

核心原理

审批流程

Agent 请求执行高风险操作
    │
    ▼
创建审批请求
    │
    ├─→ 通知审批人(Webhook、邮件、即时通讯)
    │
    ▼
等待审批
    │
    ├─ 批准 → 执行操作
    ├─ 拒绝 → 通知 Agent 操作被拒绝
    └─ 超时 → 标记 expired,不产生授权

服务端协议(伪代码)

根据当前授权和策略判断:已获授权且在范围内则继续;禁止则拒绝;仅需审批时创建请求
创建持久审批请求:request_id、actor、tenant、规范化操作、目标版本、expires_at
通知失败可重试,不能因此丢掉已持久化的请求
接收决策时验证审批人身份、权限、请求版本与服务端截止时间
原子转换 pending → approved / rejected / expired,记录决策来源
把授权消费与稳定 operation_id 的持久执行任务在同一事务中写入(或使用事务 outbox)
执行时重新验证资源版本和权限;恢复同一任务不能创建第二次操作,记录执行结果

常见坑

  1. 不做超时: 审批人不响应,Agent 永远等待
  2. 审批信息不足: 审批人看不到完整操作内容
  3. 不做审批记录: 无法审计谁批准了什么
  4. 只让协程超时:wait_for 超时不自动把数据库请求标记过期,晚到的批准可能仍被接受
  5. 批准对象漂移:参数、目标版本或收件人变化后,旧批准不能复用
  6. 批准后盲目重试:批准不等于执行完成;用 工具幂等性 处理崩溃、重试和未知结果

参考资料

创建于 2026/6/30 更新于 2026/10/7
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本