子代理编排
一句话总结:让主对话保持控制,把具体实现派给 Claude Code、Codex 或常规子代理;它们可独立运行、回流结果、被随时切回前台。
什么时候拆子代理
- 复杂工程任务,需要架构、实现、审查并行。
- 需要长时后台跑,但仍要看进度。
- 主对话不想被 implementation 细节淹没。
拉起一个子代理的最小步骤
- 选择 Orchestrator 类 Agent 或在任意 Agent 中启用「拉起子代理」工具。
- 主代理调用
claude_code/codex/create_subagent工具,按需命名。 - 子代理后台执行;主对话可随时切回查看,或继续接收消息。
- 子代理完成或等待输入时自动回流主对话。
三类子代理可以选
- Claude Code 子代理:调用 Claude Code SDK,适合架构 / Review / 多文件改造。
- Codex 子代理:调用 Codex CLI,适合代码生成 / 重构 / 测试。
- 常规子代理:在 Claw 内部跑一个迷你会话;可继续被接续(subagent transcript)。
命名约束与回流识别
子代理 name ≤ 30 字符,仅小写字母数字与连字符;这是 Conversation Agent 统一约定。
建议命名包含意图(例如 code-reviewer / architect-orderflow),便于回流时一眼识别。
前台 / 后台模式
主代理可指定子代理前台或后台执行:
- 前台:用户可直接和它对话(同一会话气泡内交错)。
- 后台:静默运行,完成或等待输入时回流主代理。
凭据继承顺序
子代理调用 LLM 时按以下顺序继承凭据:
- Agent 配置中为该工具显式指定的 Connection。
- 主代理的当前 LLM Connection。
- 用户默认 Connection。
Claude Code 子代理额外支持本机 reclaude 模式(见 LLM 与凭据)。
子代理可接续与 transcript
子代理保留 backingId,未来用户可显式从历史会话面板拉起继续执行。
完整消息记录可通过 Client 端「子代理详情弹层」查看,并支持以虚拟 transcript 路径 /.agent/{id}/transcript.txt 读取。
等待输入与 TASK_COMPLETE
- 子代理产生
ask_user_question时,主代理会被自动唤起到等待状态。 - 用户也可主动跳进子代理对话直接对话。
- 完成时附带的
TASK_COMPLETE信号会在 Client / Mobile 渲染为完成卡片。
当前已知限制
子代理命名违反约束会被拒
≤ 30 字符,纯英数与连字符。中文名会被拒。
后台子代理也会消耗 Token
长时静默运行的子代理可能在背景产生 LLM 调用;通过任务看板观察其状态。
主代理取消不会自动级联停子代理
当前版本:点「取消对话」只停主 runner,bash 后台任务与 conversation agent 不会自动级联停。后续会修复,临时方案:手工进入子代理详情停止。