生产环境我没有实战过多Agent执行方面的内容,最近看了一下OpenClaw的信息,收获还是挺多的。以前了解的都比较碎片化,但人家设计的已经比较系统了。
一、前置核心结论
隔离是协作的前提
所有 Agent 天然完全隔离,杜绝文件冲突、上下文污染、权限越界;正因 Agent 互相隔绝,才需要 Spawn/Registry/Control/Announce 四大模块搭建通信桥梁,实现安全可控的多智能体协同。
二、三层 Agent 隔离体系(协作安全底座)
2.1三层强制隔离边界
- Workspace 工作空间隔离:每个 Agent 专属独立文件目录,Shell 工具强制路径校验,禁止跨目录访问敏感配置,限制子 Agent 的数据访问范围。
- agentDir 私有目录隔离:独立存储运行状态、密钥凭证、缓存配置,多 Agent 并行运行时状态互不干扰,杜绝密钥泄露。
- tools/model 能力配置隔离:遵循最小权限,不同 Agent 绑定专属模型、工具集;翻译子 Agent 仅开放读取 / 搜索能力,禁止 Shell 执行。
2.1配置隔离规则
依靠 resolveAgentConfig() 实现配置解析:
显式配置 > 父配置继承 > 系统默认配置;
子 Agent 可继承父模型配置、单独覆盖工具权限,兼顾复用与定制。
三、Subagent 四大核心模块(协作完整生命周期)
整体流转链路:Spawn 创建子 Agent → Registry 登记户籍 → Control 运行调控 → Announce 结果回传

3.1 Spawn 模块:Subagent 生成器(负责「诞生」)
核心职责:安全创建隔离子 Agent,管控创建权限,防止资源雪崩。
两种运行模式
- Run 模式(任务型):子 Agent 执行单次任务,结束立刻销毁,适合代码分析、文档翻译。
- Session 模式(会话型):子 Agent 长期存活,支持多轮交互,适合持续监控、多轮问答。
两类沙箱权限策略
- Inherit:继承父 Agent 全部权限,父子任务联动场景使用。
- Require:子 Agent 必须主动申请权限,严格最小权限,安全性更高。
9 步生成流程
参数校验 → 嵌套深度校验 → 子 Agent 数量校验 → 白名单校验 → 解析配置 → 搭建隔离沙箱 → 实例化工具 → Registry 注册 → 启动运行
三道安全防线
maxSpawnDepth(限制嵌套层级)、maxChildrenPerAgent(限制单父最大子 Agent 数量)、allowAgents类型白名单,避免递归创建耗尽算力。
3.2 Registry 模块:户籍生命周期中心(负责「登记管理」)
核心职责:统一记录所有子 Agent 状态、父子关系,自动清理孤儿 Agent。
- 三大生命周期接口:
- 注册新建子 Agent
- 标记任务完成、留存结果
- 释放内存、目录等物理资源
持久化机制:状态增量落盘,进程崩溃重启后可恢复 Agent 生命周期。
孤儿清扫机制:定时 Sweeper 扫描,父 Agent 宕机则判定子 Agent 为孤儿,自动终止并回收资源,避免僵尸进程。
3.3 Control 模块:运行调度中枢(负责「运行干预」)
父 Agent 运行时管控子 Agent 的五大能力:
- list:查询子 Agent 状态、内存、耗时,支撑运维面板;
- kill:级联终止,杀掉父 Agent 时递归销毁所有子孙 Agent;
- steer:软干预,插入引导指令,不中断当前任务、修正后续行为;
- send:仅用于 Session 模式,追加消息实现多轮对话;
- resolveTarget:兼容 ID、命名、层级路径三种寻址方式,简化跨 Agent 调用。
3.4 Announce 模块:通信通知枢纽(负责「结果上报」)
核心职责:子 Agent 完成任务 / 报错后,异步将消息推送父 Agent,实现 Fork-Join 并行汇总。
3 种消息投递通道
- Queue 异步队列:进度推送、状态上报,非阻塞;
- Steer 引导投递:下发后续任务指令,驱动父 Agent 流转流程;
- Direct 同步投递:阻塞等待确认,用于全部子任务完成后的汇总节点。
关键机制:后代休眠唤醒
父 Agent 派发子任务后休眠,全部子 Agent 执行完毕再由 Announce 唤醒父 Agent 汇总结果,省去轮询巡检,节省 CPU 资源。
四、四大模块完整流转关系
- 父 Agent 调用 Spawn 生成隔离 Subagent;
- Spawn 完成安全校验后,将子 Agent 注册写入 Registry;
- 父 Agent 通过 Control 模块随时查看、管控正在运行的子 Agent;
- 子 Agent 执行结束,经由 Announce 模块把结果推送父 Agent;
- Registry 识别已完成 / 孤儿 Agent,执行资源清理,生命周期闭环。
五、整体架构逻辑总结
- 底层依靠三层隔离保证各个 Agent 相互独立、安全隔离;
- 上层四大模块分工串联子 Agent 全生命周期,打通隔离边界实现有序协作;
- 隔离底座 + 模块化协作,既不会出现状态污染,又能完成复杂任务拆解并行执行。