Session 06
Orchestration / Multi-Agent
多 agent 不是更多智能,而是更多边界。真正的问题是:什么时候需要 subagent、manager-worker、multi-agent routing、delegation 或 harness 级编排。
1. 训练目标
本页要练会:能判断单 agent、subagent、multi-agent routing、manager-worker、harness 编排分别适合什么任务,并知道 handoff 和状态隔离怎么设计。
主要依据:Claude Agent SDK subagents / OpenClaw multi-agent routing / Hermes learning path。
2. 三项目对照
| 维度 | Claude Code | OpenClaw | Hermes Agent |
|---|---|---|---|
| 多 agent 形态 | Claude Code / SDK 可用 subagents、parallel sessions、background agents。 | OpenClaw 支持多个 isolated agents,每个有 workspace、agentDir、session history,并通过 channel binding 路由。 | Hermes 支持 delegation、bots、automation、不同场景路径。 |
| 隔离边界 | subagent 通过任务和工具范围隔离。 | agentDir / workspace / auth profiles / session store 隔离。 | terminal backend、provider、memory、tools 和 bot channel 隔离。 |
| 适用场景 | 代码审查、研究、并行修复、专门角色。 | 多 persona、多 channel、多用户 Gateway。 | 自动化任务、消息 bot、长期助手、工具化 agent。 |
3. 组件机制
| 机制 | 解释 |
|---|---|
| Delegation | 主 agent 把子任务交给专门 agent,并接收结构化结果。 |
| Routing | 根据 channel、用户、任务类型把消息送到对应 agent。 |
| Handoff payload | 传递任务目标、约束、证据、状态摘要,而不是全量上下文。 |
| Merge / arbitration | 多个结果回来后如何合并、冲突处理、验证和最终决策。 |
4. 失败模式
| 失败模式 | 为什么危险 |
|---|---|
| 多 agent 互相污染 | 共享记忆、工具或 workspace 导致上下文串线。 |
| handoff 丢状态 | 下游 agent 不知道约束、来源或风险,做出错误动作。 |
| 成本爆炸 | 多个 agent 并行运行但没有 budget、step limit 和观测。 |
5. 架构练习
- 设计一个“代码审查 + 修复 + 测试”多 agent 流程,说明每个 agent 的工具范围。
- 解释 OpenClaw channel binding 为什么是 routing,不是简单多会话。
- 判断一个任务是否真的需要 multi-agent。
6. 知识展开
上面的卡片是索引,点击后跳到对应的详细解释。阅读时不要只记名词,要同时记住组件边界、为什么需要它、三个项目怎么体现,以及你能用什么问题自检。
Single agent
一个 agent 独立完成任务,自己检索、规划、调用工具和交付。
Subagent
主 agent 派生一个专门上下文的小 agent 处理子任务。
Manager / Worker
Manager 负责任务拆分、路由、验收,Worker 负责执行专门任务。
Handoff
任务或上下文从一个 agent 转交给另一个 agent 的过程。
Routing policy
决定任务交给哪个 agent、何时升级、何时合并结果的策略。
Detailed Concepts
| 概念 | 是什么 | 为什么重要 | 项目对照 | 自检问题 |
|---|---|---|---|---|
| Single agent | 一个 agent 独立完成任务,自己检索、规划、调用工具和交付。 | 多数任务不需要多 agent,过早拆分会增加同步和状态成本。 | Claude Code 常以单 coding agent 解决;Hermes 也适合本地单 agent automation;OpenClaw 可运行单 agent runtime。 | 单 agent 的上下文窗口、工具权限和任务复杂度是否足够? |
| Subagent | 主 agent 派生一个专门上下文的小 agent 处理子任务。 | subagent 能隔离上下文和专业流程,但需要明确输入、输出和回收。 | Claude Code 有 subagents;OpenClaw 有 isolated agents;Hermes 有 delegation/agent 协作能力。 | subagent 的结果如何验证,不被主 agent 盲信? |
| Manager / Worker | Manager 负责任务拆分、路由、验收,Worker 负责执行专门任务。 | 适合长任务、多技能、多环境或需要人工协作的系统。 | HiClaw 是典型 harness 参照;OpenClaw multi-agent routing 可映射;Claude/Hermes 可作为 worker runtime。 | Manager 是否有权限边界和验收标准? |
| Handoff | 任务或上下文从一个 agent 转交给另一个 agent 的过程。 | handoff 最容易丢状态、丢权限、丢错误和重复工作。 | OpenClaw 通过 channel/agentDir/session 管理更显性;Claude subagent 需要清晰 prompt;Hermes delegation 要定义 artifact。 | handoff payload 是否包含目标、约束、证据、待办和失败状态? |
| Routing policy | 决定任务交给哪个 agent、何时升级、何时合并结果的策略。 | 路由不能只靠“模型觉得谁合适”,需要类型、能力、权限、负载和风险判断。 | OpenClaw 的 multi-agent 概念最适合学 routing;HiClaw 学控制面;Claude/Hermes 学 worker 能力边界。 | 路由错误如何发现和回滚? |