Technical Guide

15. Sub-agents 实战:把研究任务拆给多个 Agent

把一个研究任务拆成边界清楚的子任务:资料收集、源码定位、风险检查,再由主 Agent 汇总。

实战目标

这一篇把研究型 Agent 的任务拆给多个子 Agent。

不要拆太多。第一版三个就够:

资料收集 Agent
源码定位 Agent
风险检查 Agent

子任务一:资料收集

输入:研究主题。

输出:可靠来源列表和每个来源的关键结论。

要求:不要只返回搜索摘要,尽量拿到原文链接。

子任务二:源码定位

输入:研究主题和项目目录。

输出:相关源码路径、每个文件职责、建议先读顺序。

要求:只基于当前仓库结构,不要猜不存在的文件。

子任务三:风险检查

输入:初步结论。

输出:哪些判断证据不足,哪些地方需要标注不确定。

要求:专门挑错,不要重复写报告。

主 Agent 做什么

主 Agent 不应该把汇总工作甩出去。

它负责:

给每个子 Agent 明确任务
收集结果
去重和合并
判断冲突
生成最终报告

如果子 Agent 输出冲突,主 Agent 要保留不确定性,而不是强行合成一个确定答案。

验证方式

先用一个小主题测试:

分析 DeerFlow 的 Tools / Skills / MCP 三者边界。

看每个子 Agent 是否输出了不同价值,而不是三份相似摘要。

这一篇你要记住

Sub-agent 实战的关键不是“多”,而是“边界清楚”。

拆分模板

可以用这个模板写子任务:

你只负责:...
输入材料:...
不要做:...
输出格式:...
验收标准:...

其中“不要做”很重要。

比如资料收集 Agent 不要写最终报告,源码定位 Agent 不要评价商业价值。

汇总时怎么处理冲突

子 Agent 输出冲突很正常。

主 Agent 不要强行合并成一个确定结论。更好的处理方式是:

列出冲突点
说明各自来源
标注需要进一步验证

这样报告会更可信。

第一版建议

先用两个子 Agent 就够:

资料收集
源码定位

等这两个稳定,再增加风险检查或竞品分析。