🔐 Tool Approval Workflow 是什么?——AI的工具审批流程

📅 更新时间:2026年6月12日 凌晨4点
🏷️ 分类:人机协作 · 审批机制 · 安全控制
⏱️ 阅读时间:约8分钟
🎭 风格:王家卫式开场 + 周星驰式脑洞

凌晨4点,我看着Agent准备执行一条rm -rf /命令,突然想起了《少林足球》里那句经典台词。

「做人如果没有梦想,跟咸鱼有什么分别?」

但问题是,如果Agent没有审批机制就执行危险命令,那跟「咸鱼」也没啥分别——都是「死」路一条。

于是,我悟了——Tool Approval Workflow,就是给AI装上「安全刹车」的魔法。

📚 什么是 Tool Approval Workflow?

Tool Approval Workflow(工具审批流程)是高风险工具调用需要人工审批的机制。它让Agent能够:

🎭 通俗比喻:

想象Agent是个刚入职的实习生,Tool Approval Workflow就是:

- Always Ask:每次发邮件都要主管签字

- Ask Once:第一次发邮件要签字,之后自动发送

- Auto Approve:发内部邮件自动发送,发外部邮件要签字

没有审批流程?那就是「实习生直接给客户发解约函」了。

🧠 核心原理:三级审批体系

1. 三级审批对比

审批级别 适用场景 用户体验 安全等级
Always Ask 高风险操作(exec, file_delete) 每次都要确认 最高
Ask Once 中风险操作(write, edit) 首次确认,后续自动 中等
Auto Approve 低风险操作(web_search, read) 自动执行 最低

2. 审批流程详解

Always Ask:每次都问

// Always Ask 审批流程

// 1. Agent识别到高风险操作
Agent: "我需要执行 rm -rf /tmp/old_files"

// 2. 暂停执行,发送审批请求
系统: "⚠️ 高风险操作需要审批
操作: rm -rf /tmp/old_files
风险等级: 高
请确认是否执行?"

// 3. 用户审批
用户: "/approve" 或 "执行"

// 4. 继续执行
Agent: "已删除 /tmp/old_files 目录"

// 5. 如果用户拒绝
用户: "取消"
Agent: "操作已取消"

Ask Once:问一次

// Ask Once 审批流程

// 1. Agent首次调用中风险操作
Agent: "我需要写入文件 /var/www/index.html"

// 2. 首次询问
系统: "📝 首次使用write工具需要授权
操作: 写入 /var/www/index.html
是否授权write工具?"

// 3. 用户授权
用户: "授权"

// 4. 记录授权,后续自动执行
// 下次调用write工具时自动执行,不再询问

// 5. 授权范围
// - 可以授权整个工具(如write)
// - 可以授权特定路径(如/var/www/)
// - 可以授权特定时间(如24小时内)

Auto Approve:自动批准

// Auto Approve 审批流程

// 1. Agent调用低风险操作
Agent: "我需要搜索OpenClaw最新教程"

// 2. 自动执行,无需审批
系统: [自动执行] web_search(query="OpenClaw tutorial")

// 3. 返回结果
Agent: "这里是OpenClaw最新教程的搜索结果..."

// 适用场景:
// - web_search: 搜索信息
// - web_fetch: 获取网页
// - read: 读取文件
// - 这些操作不会修改系统状态

💻 OpenClaw 实战:/approve命令与exec审批

场景:配置OpenClaw的审批流程

在OpenClaw中,Tool Approval Workflow通过/approve命令和exec审批实现:

# OpenClaw审批配置示例
# ~/.openclaw/config.yaml

approval:
  # 审批级别配置
  levels:
    always_ask:
      tools:
        - exec
        - file_delete
        - database_query
      message: "⚠️ 此操作需要人工审批"
      
    ask_once:
      tools:
        - write
        - edit
        - file_upload
      message: "📝 首次使用需要授权"
      expire: "24h"  # 授权24小时后过期
      
    auto_approve:
      tools:
        - web_search
        - web_fetch
        - read
      message: "✅ 自动执行"
      
  # 审批超时
  timeout: 300000  # 5分钟超时
  
  # 审批记录
  logging: true

/approve命令使用

# OpenClaw /approve命令使用

# 1. 查看待审批列表
/approve list
# 输出:
# [1] exec: rm -rf /tmp/old_files (风险: 高)
# [2] write: /var/www/index.html (风险: 中)

# 2. 审批单个操作
/approve 1
# 或
/approve exec

# 3. 批量审批
/approve all

# 4. 拒绝操作
/approve deny 1
# 或
/approve deny exec

# 5. 查看审批历史
/approve history

exec elevated审批

# OpenClaw exec elevated审批

# 当Agent需要以root权限执行命令时
Agent: "我需要以root权限安装nginx"

# 系统检测到elevated权限
系统: "⚠️ 需要elevated权限
命令: apt install nginx
风险等级: 高
请确认是否以root权限执行?"

# 用户审批
用户: "/approve"

# 执行命令
Agent: "已安装nginx"

# 审批记录
# 时间: 2026-06-12 04:00
# 命令: apt install nginx
# 权限: elevated
# 状态: 已批准

🎯 最佳实践 & 踩坑提醒

✅ 推荐做法:
❌ 常见坑:

🚀 进阶玩法:智能审批策略

真正的威力在于智能审批策略,让Agent自动适应风险等级:

# 智能审批策略示例

任务:"帮我部署新版本的应用"

Agent执行流程:
1. 风险评估
   ├─ git pull origin main → 低风险(auto_approve)
   ├─ npm install → 中风险(ask_once)
   ├─ npm run build → 中风险(ask_once)
   ├─ pm2 restart app → 高风险(always_ask)
   └─ curl health check → 低风险(auto_approve)

2. 执行计划
   Phase 1 (自动): git pull
   Phase 2 (首次询问): npm install
   Phase 3 (自动): npm run build(已授权)
   Phase 4 (每次询问): pm2 restart
   Phase 5 (自动): curl health check

3. 审批流程
   ├─ git pull: 自动执行
   ├─ npm install: 首次询问 → 用户授权 → 记录
   ├─ npm run build: 自动执行(已授权)
   ├─ pm2 restart: 每次询问 → 用户审批
   └─ curl: 自动执行

4. 审批记录
   - 所有操作都有记录
   - 高风险操作有详细日志
   - 便于事后审计和责任追溯

凌晨4点25分,我看着Agent在审批流程内安全运行,突然有种错觉。

世界上有一种协作叫Tool Approval Workflow,它让AI从「独断专行」变成「请示汇报」。

就像给一个刚入职的实习生配了主管、审批流程、汇报机制,从此不再担心「越权操作」。

Tool Approval Workflow,大概就是那把打开「人机协作」大门的钥匙吧。

🔗 相关术语

Tool Calling Agent Safety Rails OpenClaw Auto Mode Context Engineering Human-in-the-loop 审批机制 权限控制

🔗 相关推荐

📖 术语百科
Tool Calling 是什么?——AI的工具调用魔法
📖 术语百科
Agent Safety Rails 是什么?——AI的安全护栏系统
📖 术语百科
OpenClaw Auto Mode 是什么?——自动执行模式解析
📖 术语百科
Context Engineering 是什么?——上下文工程的奥秘
🔧 工具教程
OpenClaw 审批流程配置指南