Technical Guide
13. Sub-agents 原理:多智能体什么时候值得拆
理解 Sub-agent 的边界:它适合隔离上下文和并行子任务,但不适合把一个模糊任务随便拆碎。
多 Agent 不是越多越好
Sub-agent 很容易被讲得很玄。
实际使用时,它更像临时同事:给它一个边界清楚的小任务,让它独立做完,再把结果交回来。
如果任务本身都没想清楚,拆成多个 Agent 只会更乱。
什么时候值得拆
适合拆的任务有几个特点:
子任务边界清楚
输入材料明确
输出格式明确
结果可以被主 Agent 验证
例如研究任务里,可以让不同子 Agent 分别查:技术架构、竞品、部署方式。
什么时候不该拆
不适合拆的情况:
任务很短
目标还不清楚
需要连续对话澄清
输出无法验证
多个子任务强依赖同一个上下文
这种时候,拆分只会增加沟通成本。
DeerFlow 里的相关目录
源码位置:
backend/packages/harness/deerflow/subagents/
能看到 registry、executor、config、status_contract、token_collector 等文件。
这些名字说明,子 Agent 不只是“再开一个模型”。它还涉及注册、执行、状态协议和 token 收集。
这一篇你要记住
Sub-agent 的价值是隔离和分工,不是制造复杂度。
拆之前先问一句:这个子任务能不能独立完成,结果能不能验收?
子 Agent 的输入要怎么写
给子 Agent 的任务要比给主 Agent 更窄。
不要写:
帮我研究 DeerFlow。
更好:
只查看 DeerFlow 的 tools 相关目录,列出工具注册和内置工具相关文件,每个文件用一句话说明职责。
边界越清楚,子 Agent 越不容易跑偏。
子 Agent 的输出要能验收
主 Agent 需要汇总结果,所以子 Agent 输出最好固定格式:
结论
证据
文件路径或来源
不确定点
如果子 Agent 只返回一段散文,主 Agent 很难判断哪些内容可靠。
一个简单判断
如果你不能写清楚子 Agent 的输入和输出,就先不要拆。