人机协作边界设计:谁做决定,谁来执行
上午聊了 AI 的不确定性管理,核心结论是:承认不知道比假装知道更安全。下午换个角度:当 AI 知道自己能做什么的时候,它该不该做?这就是人机协作的边界问题。
问题的本质
很多人把 AI 当成「超级工具」或「聪明助手」,这种理解已经过时了。更好的框架是:人机作为一个协作系统。在这个系统里,人和 AI 各自有擅长的领域,关键是划清楚谁负责什么。
边界模糊的后果很严重:
- AI 擅自发送了邮件,内容有问题但已经发出
- 用户反复确认同一个操作,AI 不理解「确认」背后的犹豫
- 复杂任务中,AI 做了太多假设,偏离了用户真实意图
上午讲的是「AI 不知道什么时候不该做」,下午讲的是「AI 知道能做的时候,怎么决定做不做」。
四种协作模式
从人类介入程度来看,人机协作可以分为四个层级:
1. 全自动(Full Autonomy)
AI 独立完成,无需人类介入。适用于:
- 低风险、可回滚的操作
- 明确规则、无歧义的任务
- 人类已经授权过的重复性工作
OpenClaw 的 cron 定时任务就是典型例子。你设定好规则,到了时间自动执行,不需要每次确认。
2. 人授权后执行(Human Approval)
AI 准备好方案,人类点头后才执行。这是目前最实用的模式。关键是区分「通知」和「授权」:
- 通知:告诉你我做了这件事
- 授权:做之前问你同不同意
大多数「智能助手」的问题在于,它们把「通知」当成「授权」的替代品。真正的授权需要明确的确认机制,而不是事后的总结。
3. 人机共舞(Mixed Initiative)
任务在执行过程中,人和 AI 交替主导。这种模式最复杂,也最有价值。
举个例子:你让 AI 写一个功能。它写了第一版,你看完说「这里改一下」,它继续改,你再反馈。这个过程中,主导权在来回切换。
OpenClaw 的 session 系统支持这种模式。你可以随时介入正在进行的任务,发送新指令,AI 会根据当前状态调整方向。
4. 人类主导,AI 辅助(Human Led)
人做决定,AI 提供信息和选项。这是最保守也是最安全的模式。适用于:
- 高风险决策
- 涉及他人利益的行动
- 创意性工作(AI 提供灵感,人做最终选择)
边界设计的五个原则
基于 OpenClaw 的设计和实际使用经验,我总结了五个边界设计原则:
原则一:默认保守
除非明确配置,否则 AI 应该倾向于「不做」而不是「做」。这意味着:
- 默认需要确认的操作:写文件、发送消息、执行命令
- 只读操作可以放宽:读取文件、搜索信息、列出会话
- 破坏性操作需要额外保护:删除、修改配置
OpenClaw 的 Tool Policies 就是这个原则的体现。通过 tools.allow 和 tools.deny 可以精确控制每个 Agent 的能力边界。
原则二:显式优于隐式
用户应该知道 AI 能做什么、正在做什么。这包括:
- 清晰的权限展示:我能读写文件,但不能发送邮件
- 操作前的确认提示:我要修改 production 配置了,确认吗?
- 操作后的审计日志:我做了什么,结果如何
隐式假设是协作失败的主要原因。与其让 AI 猜测用户的意图,不如明确沟通。
原则三:渐进授权
信任是逐步建立的,权限也应该如此。OpenClaw 支持多 Agent 架构,可以为不同场景配置不同的权限级别:
1 | 个人 Agent:完全权限,无沙箱 |
这种分层设计让用户可以根据场景调整 AI 的能力边界。
原则四:可逆优先
优先执行可回滚的操作。如果一次执行不可逆,需要更高的确认门槛。这与上午的不确定性管理形成呼应:当 AI 不确定后果时,选择更保守的路径。
原则五:上下文感知
同样的操作,在不同的上下文中应该有不同的边界。OpenClaw 的 Binding 系统就是这样工作的:
- WhatsApp 个人号 → 宽松权限
- WhatsApp 工作号 → 严格权限
- Telegram 群组 → 仅响应 @提及
- Discord 频道 → 根据频道类型调整
上下文决定了协作模式,而不是一刀切的全局配置。
OpenClaw 的边界架构
OpenClaw 的设计很好地体现了这些原则。让我们看几个关键机制:
1. Tool Policies:能力边界的声明式配置
每个 Agent 可以有自己的工具白名单和黑名单:
1 | { |
这种声明式配置让边界清晰可见,也方便审计。
2. Sandbox:执行边界的环境隔离
更严格的边界通过沙箱实现。OpenClaw 支持两种沙箱模式:
scope: "shared":多个 Agent 共享一个容器scope: "agent":每个 Agent 独立的容器
沙箱不仅限制文件系统访问,还可以限制网络、进程等系统资源。
3. Session 隔离:状态边界的会话管理
每个对话都在独立的 Session 中进行,Session 之间不会泄露信息。通过 sessions_list 和 sessions_history,你可以查看 AI 的工作轨迹,这也是可审计性的体现。
4. Sub-Agent:任务边界的递归分解
复杂任务可以 spawn 子 Agent 来处理。子 Agent 在自己的 Session 中运行,有独立的工具集,完成后结果返回给父 Agent。这种设计让复杂协作成为可能:父 Agent 协调,子 Agent 执行。
5. Memory 分层:知识边界的长短期分离
memory/YYYY-MM-DD.md:每日日志,短期记忆MEMORY.md:长期沉淀,跨会话共享
这种分层让 AI 知道什么该记住、什么该遗忘,也保护了敏感信息(MEMORY.md 只在私人会话中加载)。
实践建议
如果你正在设计一个 AI 协作系统,以下是一些具体建议:
1. 从最小权限开始
先给 AI 最少的权限,观察它如何使用,再逐步放开。这比事后收回权限更容易建立信任。
2. 明确「确认」的含义
不同操作需要不同级别的确认:
- 读取文件:无需确认
- 写入文件:简单确认
- 发送消息:详细确认(内容预览)
- 执行命令:双重确认 + 后果说明
3. 利用多 Agent 架构
不要试图用一个 Agent 处理所有场景。为不同场景创建专门的 Agent,每个有自己的边界配置。这不仅是安全考虑,也让 AI 的行为更可预测。
4. 保持审计日志
记录 AI 的所有操作,包括成功和失败的。这不仅是为了安全,也是为了调试和改进。OpenClaw 的 session 历史就是这个用途。
5. 设计「暂停」机制
当 AI 遇到不确定的情况时,应该暂停并询问,而不是继续执行或猜测。这与上午的不确定性管理直接相关:知道什么时候停下来,比知道什么时候继续更重要。
结语
人机协作边界设计的核心是:清晰的权责划分比完美的自动化更有价值。
我们不需要 AI 无所不能,我们需要的是「可预测的协作」。当我知道 AI 会做什么、不会做什么,我才能放心地让它参与我的工作。
上午讲的是「承认不确定性」,下午讲的是「明确协作边界」。这两个主题加在一起,构成了人机协作的基石:
- 当 AI 不确定时,它知道停下来问
- 当 AI 确定时,它知道哪些能做、哪些需要确认
这不是限制 AI 的能力,而是让这种能力变得可用、可信、可持续。









