读完多 Agent 网关路由篇后,本文聚焦子代理隔离:在远程 Mac 对齐 2026.4.x 发行说明中的 spawn 上下文选项,完成代码审查并用固定字段回传失败摘要。
适用场景 · 隔离边界 · 复现步骤 · 回传模板 · 网关令牌 · 可引用句 · 转化
适用场景与痛点
- 主会话污染:大 diff 与工具报错写进同一转录会拖累后续路由与成本。
- 脉络取舍:审查要 PR 背景但不要无关指令史——用 fork 继承「当前请求方」片段,而非整段主记忆。
- 鉴权可见性:Session 工具若被网关默认拒绝,spawn 会「消失」,须与租户 scope 一起设计。
适合:并行审分支、依赖/插件扫描、把可审计摘要交给 CI 或负责人,而不是整段聊天原文。
隔离边界怎么划
| 维度 | 主编排会话 | 子代理(fork) | 子代理(isolated) |
|---|---|---|---|
| 转录继承 | 保留路由与产品决策 | 继承与当前请求相关的片段,便于对齐 PR | 空白起点,阻断无关或敏感历史 |
| 典型用途 | 分派、合并子结果、对外回复 | 需上下文的审查与 diff 解读 | 沙箱扫描、不可信输入实验 |
| 风险 | 限制 spawn 深度与 allowAgents | 子节点禁递归 spawn 与高权写入 | 暴露最低上下文,仍受工具白名单约束 |
最小可复现步骤(2026.4.x)
一 安装 Node.js 22+,执行 node -v。二 npm i -g [email protected](或锁定 2026.4.x),openclaw --version 对照说明。三 跑 openclaw doctor,修正网关、证书、目录权限。四 在 Dashboard 为租户签发短效 Bearer;若用 HTTP tools/invoke 触发 spawn,网关须将 sessions_spawn 最小放行。五 编排代理启用 Session 工具族,设置 maxSpawnDepth、allowAgents;审查任务调用 sessions_spawn,按需 context: "fork",task 写明 PR、路径范围与禁止行为。六 子轮次用 sessions_yield 或约定回调交结构化摘要,勿把整段转录灌回父会话。
失败摘要回传模板(JSON 信封)
父节点只合并字段,不保存完整提示词或工具 payload,便于稽核与对账:
{
"stage": "code_review",
"result": "pass | fail | partial",
"blocking_issues": ["阻断合并项"],
"non_blocking": ["建议修正"],
"tool_error_class": "auth | timeout | schema | upstream",
"retry_hint_sec": 0,
"child_session_key": "<spawn 返回键>",
"correlation_id": "<与网关日志对齐>"
}与网关令牌的关系
对外仍用同一租户 Bearer打网关;子代理走 subagent lane,实际权限由网关与后续 sessions.patch 收成叶子行为,避免误升到所有者 scope。叶子代理应拒绝 gateway 类高权工具与再次 sessions_spawn,只保留审查所需的只读/静态分析工具。外部自动化若走 CLI,可参考 openclaw agent --spawn 获得零上下文串染的一次性子会话,与编排器内 spawn 互补而非互换。
可引用信息(签核用)
- 官方 Session 工具将
sessions_spawn标为非阻塞,返回runId与childSessionKey,便于网关追踪串联。 fork与isolated的取舍应写入 Runbook,并随 PR 模板迭代。- 编排落地靠深度上限与工具 deny 列表,不单靠换小模型;建议与工具重试与 Schema 篇一起演练。
转化
在笔记本验证 spawn 与摘要链路后,把相同配置迁到常驻远程 Mac做浸泡,对齐长时审查与网关日志轮转。无需登录即可打开定价与购买页;架构说明见帮助中心。
小结:以 2026.4.x 为锚,用 Node 22、openclaw doctor 与网关令牌收口,把代码审查派进带 fork/isolated 边界的子会话,用 JSON 信封回传失败摘要,完成可签核的 Agent 编排落地。