Agent Engineering

Series progress

04 / 08

50%
Agent EngineeringAgent 工作流实践8 min

SubAgent 不是越多越好

多 Agent 系统的关键不是数量,而是边界、调度成本和结果汇总质量。

SubAgentMulti-AgentWorkflow

很多人第一次接触 SubAgent,会自然地想把所有任务都拆出去。

这很危险。SubAgent 不是越多越好,多 Agent 系统真正困难的地方不是并发,而是边界、调度成本和结果汇总。

什么时候适合拆 SubAgent

我会优先拆三类任务:

  • 边界清晰:输入输出明确,不需要频繁来回确认
  • 可以并行:多个任务之间没有强依赖
  • 结果可验证:子任务完成后能被主 Agent 或工具检查

比如代码库调研、资料搜集、竞品页面分析、独立模块实现,都比较适合拆。

什么时候不该拆

下面这些任务不适合随便拆:

  • 架构决策还不清楚
  • 文件写入范围高度重叠
  • 任务之间有强顺序依赖
  • 需要持续和用户对齐
  • 成败判断依赖全局上下文

这类任务如果硬拆,会制造更多协调成本。

主 Agent 的职责

多 Agent 系统里,主 Agent 不应该只是转发消息。

主 Agent 应该负责:

  • 判断任务是否值得拆
  • 设计子任务边界
  • 控制每个子 Agent 的工具权限
  • 汇总结果并消除冲突
  • 做最终验证和交付说明

也就是说,主 Agent 更像调度者和责任人,而不是一个消息路由器。

子 Agent 的职责

子 Agent 应该窄而深。

一个好的子任务应该能用一句话说清楚:

你负责什么,不负责什么,最终交付什么。

如果这个边界说不清楚,说明任务还不适合拆。

多 Agent 的真实成本

多 Agent 会带来几个成本:

  • 上下文复制成本
  • 指令对齐成本
  • 结果冲突成本
  • 汇总判断成本
  • 工具权限风险

只有当并行收益明显高于这些成本时,SubAgent 才值得用。

我在 OpenClaw 里的倾向

我更倾向于做少量高质量专业 Agent,而不是堆一堆模糊角色。

比如:

  • 产品经理 Agent:调研、需求拆解、文档输出
  • 设计 Agent:视觉探索、素材生成、风格建议
  • 工程 Agent:代码修改、测试、提交说明
  • 搜索 Agent:网页检索、资料归纳、来源整理

每个 Agent 都应该有清楚的工具边界和输出格式。

判断标准

我会用一个简单标准判断是否要拆:

如果拆出去能让主流程更快、更清楚、更可验证,就拆。 如果拆出去只是显得系统更复杂,就不要拆。

SubAgent 的价值不是数量,而是让复杂任务被更稳定地完成。