模式矩阵 /模式白皮书/C1
C1 · Hierarchical Delegation · 层级委派
| 字段 | 值 |
|---|---|
| 双轴坐标 | 协作 Collaboration × 层级 Hierarchy(分) |
| 成本档 | ③(3-15× 单 agent 调用) |
| 课程对应 | 07-02 |
| 目录归属 | 全集 33 模式之一 · 协作模块 5 模式之一 |
| 一句话 | 一个 supervisor agent 动态拆分任务、派给 N 个 worker agent 执行、再把结果合并,是经典的多 agent 主管-工人协作。 |
它解决什么问题
单个 agent 同时干查资料、写正文、配图、出报告,每一项都不专精,长流程里 context 还会越积越长。更隐蔽的问题是:当一个 agent 顺序处理多个子任务时,前面任务的执行细节会一直留在它的 context 里,跑到第三、第四个任务时推理质量就开始下滑。
层级委派把"一个全能 agent"换成"一个 supervisor 加多个专门 worker"。Supervisor 负责拆任务、监控进度、合并产出;每个 worker 只干自己擅长的一类活,跑在自己独立的 context 里。这样既让每一段工作由合适的模型和提示来处理,又把 supervisor 的 context 从执行细节里解放出来,让它专注协调。代价是 token 消耗成倍上升,所以它只适合任务价值能覆盖这个倍数的场景。
为什么坐标是「协作 × 层级」
- 纵轴 · 协作:这是真正的多 agent 角色分化——supervisor 和 worker 是不同的 agent,承担不同的职责,不是一个 agent 内部的工程抽象。Researcher、Writer、Visualizer 各自对应一种专业能力,这种按职业能力切分的分工是经典的多 agent 协作形态。
- 横轴 · 层级:拓扑是一棵树。Orchestrator 在上,多个 worker 在下,worker 之间不直接通信,要交换信息必须经过 supervisor。这是天然的层级结构,区别于并行的扇出聚合、对抗的评审循环、顺序的交接链。
核心机制
一次层级委派由三段组成:
- 动态拆分:supervisor 根据具体输入决定拆几个 worker、每个 worker 干什么。研究 AI 行业和研究咖啡行业拆出的子任务结构不一样,拆分必须跟输入相关,不能写死。
- 隔离执行:每个 worker 跑在独立 context 里,不继承 supervisor 的 history,只收到自己的 system prompt、具体的 task instruction、自己的 tool set。worker 之间能并行的尽量并行。
- 中心化综合:supervisor 只看 worker 返回的结构化 artifact,不看 worker 的 raw trajectory,基于这些精炼摘要做整体判断和最终合并。
Supervisor 和 worker 通常用不同的模型。Supervisor 做拆分和综合,需要深度推理,用强模型;worker 做专门化执行,用更便宜的模型。这和 Plan-and-Execute 把 planner 与 executor 分家是同一套思路,只是从单 agent 内部扩展到了多个 agent 之间。
worker 返回的 artifact 建议至少三层结构:
| 字段 | 作用 |
|---|---|
| verdict(success / partial / failure) | 让 supervisor 一眼判断这份产出能不能直接用 |
| top findings(3-5 条) | worker 工作结论的精炼,覆盖大部分信息 |
| confidence(0-1) | 多个 worker 输出冲突时的仲裁信号 |
适合的生产场景
- 专业分工明确的长流程任务:行业研究报告生成、投研分析、新药研发流程,每个环节需要不同专业能力。
- 批量同类任务的隔离处理:合同审阅、简历筛查、文档合规扫描,每份独立交给一个 worker,避免相互污染和 context 爆炸。
- 价值高到能覆盖 token 倍数的任务:多 agent 至少 2-3 倍 token 是常态,Anthropic 实测复杂研究任务可达 15 倍换 90% 胜率,只有高价值任务才划算。
容易出错的地方
- 有派工的形、没隔离的神:supervisor 看到 worker 的完整执行过程而不是 schema artifact,跑几个任务后 context 被前面任务的细节占满,推理质量断崖式下降。worker 必须 reduce 成结构化 artifact 返回。
- worker 之间直接通信:为了省事让 worker A 调 worker B,会把树结构变成网状结构,cascade failure 风险飙升。层级委派的本质是树,破坏树结构就是破坏隔离。
- worker 失败没有边界:一个 worker 抛异常没被捕获,supervisor 收到的是 raw exception 而不是 failure artifact,整个任务被打断。每个 worker 要有 timeout 加异常包裹。
- 并行 worker 数量过多:超过 5 个并行 worker,supervisor 综合时会出现取舍困难,第 6 个 worker 的边际价值开始下降。复杂度上限不在算力,在模型综合的认知带宽。
- Collaboration Light 场景误用:如果系统里并没有真正的多种角色,只是工程层面的抽象切分(比如同一个 agent 换几个 prompt),不该套层级委派。它要求真有专业分化的多个 agent。
关键指标
- 协作开销占比(健康区 < 30%):supervisor 和 worker 来回通信消耗的 token 占总 token 的比例。超过一半说明真正干活的预算所剩无几,要让 artifact 更严格地 schema 化、协作消息走轻量 channel。
- worker 失败级联率(健康区 < 5%):一个 worker 失败拖垮其他 worker 的概率。这是最该优先压的指标,它高了会带动其他三个指标一起恶化。
- artifact 合规率(健康区 > 95%):worker 返回符合 schema 的比例。worker 偶尔输出自由文本绕过 schema 会触发重派和延迟。
- token 倍数(健康区 < 5×):多 agent 比单 agent 多花的 token 倍数。15× 是高价值任务的可接受上限,普通业务 5× 已经偏高,不匹配就退回单 agent。
最小骨架
SupervisorAgent.execute(task):
plan = decompose(task) # 动态拆分,跟输入相关
artifacts = 并行 gather( # 并发上限设 5
IsolatedSubAgent(worker).execute(subtask)
for worker, subtask in plan
)
return synthesize(task, artifacts) # 只看 artifact,不看 raw trajectory
IsolatedSubAgent.execute(subtask):
本地 messages = [system_prompt, subtask] # 不继承 parent history
try: raw = wait_for(llm(messages, tools), timeout) # 失败 boundary
except: return Artifact(verdict="failure", ...)
return reduce_to_artifact(raw) # 强制压缩成 verdict/findings/confidence
四个工程要点:每个 worker 独立 context 起跑;worker 强制 reduce 成 schema artifact;每个 worker 用 timeout 加异常包裹隔离失败;用信号量控制并发上限,worker 之间不共享 state。
企业落地一例
某律所的合同审阅 Agent,第一版主 agent 派 sub-agent 扫描 50 份合同找异常条款,sub-agent 跑完把每份 3000 字的详细分析全部回传,主 agent 接到 15 万字后 context 完全爆炸,后续推理质量断崖式下降。工程团队复盘后想清楚一件事:主 agent 不该看 sub-agent 的 raw 工作过程,只该看结论——就像律所的 PM 不会要求每个律师汇报每份合同读了哪一行,只看"50 份里有 3 份异常加它们的关键问题清单"。第二版给每份合同分配一个独立 worker,每个 worker 跑在隔离 context 里,返回前必须 reduce 成固定 schema 的 artifact(contract_id、risk_level、top_3_concerns、recommendation,外加 contract_hash 防篡改)。50 份合同的 artifact 加起来不到 1 万字,主 agent 看着轻松。配套的工程纪律还包括:HIGH 以上风险合同强制进律师 review 队列,不允许 agent 自动放行;每个 worker timeout 收紧到 180 秒,失败时返回 failure artifact 而不是炸掉全局;portfolio report 落文件作为审计留痕。改完之后 50 份合同 1 小时跑完,15 万字爆炸的故事不再发生。
与其他模式的关系
- 子代理隔离(C5):实现核心。层级委派是招式(supervisor 派 worker),子代理隔离是内功(worker 隔离 context 加 schema artifact 加失败 boundary)。没有隔离的层级委派必定 context 爆炸加 cascade failure,两者必须配套。
- 扇出聚合(C2):同为一对多,但分工逻辑不同。层级委派是一对多分专业(每个 worker 干不同的事),扇出聚合是一对多分量(多个 worker 同时干同一类活的不同部分)。
- 交接链(C4):层级委派有 supervisor 作为稳定锚点,交接链没有主管、每一棒都是 peer。
- Plan-and-Execute(行动模块):层级委派是它在多 agent 层的扩展,把"一个 agent 内 plan-execute 分家"扩展成"多个 agent 分家"。
一句话记住它
层级委派的本质不是把任务拆开派出去,而是把人类金字塔组织 50 年沉淀的信息分层纪律编码进 agent 系统——supervisor 只看下一层的精炼结论,是这套纪律的工程载体。
本页属于 ADPS 33 模式白皮书。返回 模式矩阵与白皮书目录, 或查看配套 可运行代码目录。