OpenClaw 的 sessions_spawn 隔离机制

OpenClaw 的 sessions_spawn 隔离机制
核心概念sessions_spawn 是 OpenClaw 的子 Agent 隔离启动接口。每次调用会创建一个全新的独立 Session拥有自己独立的上下文窗口不会继承父 Session 的对话历史。sessions_spawn({ task: 任务描述, runtime: subagent, context: isolated // ← 关键isolated 完全独立上下文 })两种隔离模式模式含义适用场景context: isolated全新 Session无父会话历史子任务独立执行不需参考主对话context: fork复制父 Session transcript 到子 Session子任务需要当前对话上下文默认是 isolated也是防上下文腐败的核心——每次任务都从干净状态开始。为什么能防止上下文腐败主 Session负责规划/调度 ├── sessions_spawn(task A, isolated) → Session A独立上下文 │ └── 结果返回主 Session ├── sessions_spawn(task B, isolated) → Session B独立上下文 │ └── 结果返回主 Session └── sessions_spawn(task C, isolated) → Session C独立上下文 └── 结果返回主 Session任务并行/串行分发各子任务上下文互不污染主 Session 只保留最终结论子 Session 的中间噪声不会回流即使某个子任务上下文膨胀爆炸范围也限制在那个 Session 内配合使用的关键组件组件作用sessions_yield等待子 Agent 完成接收结果sessions_send向指定 Session 发消息/指令subagents(actionlist)查看当前子 Agent 状态实际防腐败流程示例用户提出复杂任务比如分析3家公司财务 ↓ 主 Session 规划拆分任务A、任务B、任务C ↓ sessions_spawn(taskA, isolated) → 独立 Session 分析公司A sessions_spawn(taskB, isolated) → 独立 Session 分析公司B sessions_spawn(taskC, isolated) → 独立 Session 分析公司C ↓ sessions_yield 等待三路结果 ↓ 主 Session 汇总结论只注入最终结果不是三家完整分析日志关键点子任务的中间过程工具调用日志、思考过程不会污染主 Session 的上下文。回到上下文腐败问题之前说的子 Agent 隔离就是这个思路。OpenClaw 的设计哲学之一就是不要让单一 Session 承担所有工作——让它变成调度者而不是执行者。这样即使单个任务很重也只会撑爆那个子 Session不会影响整体的稳定性和响应质量。