先这样答
单 Agent 能处理的任务有边界。工具越多,模型越难快速选出合适的工具。中间产物不断进入上下文,也会占用有限空间。一个 Agent 同时负责多个专业方向时,回答效果往往不如各自专精的 Agent。
拆成多个 Agent,可以让每个 Agent 只处理自己的专业方向。每个 Agent 都有独立的上下文和工具集,不必在所有工具和中间产物之间同时做选择。这样也能把不同方向的处理过程分开。
调度方负责把任务交给合适的 Agent,再拿回结果摘要。它不需要把每个 Agent 的全部中间产物都放进自己的上下文。我的判断依据是任务是否跨多个专业方向,以及单个 Agent 是否已经受到工具选择、上下文容量或专业能力的限制。如果任务范围集中,单 Agent 仍然可以处理;出现这些限制时,再考虑拆分。
面试官会怎么追问
- 「工具多了为什么会让模型选得更慢?」 工具数量增加后,模型每次需要从更多选项里判断该用哪个。工具集过大,会降低选择效率。拆分后,每个 Agent 只面对自己的工具集。
- 「上下文被撑爆具体是怎么发生的?」 Agent 处理任务时会产生中间产物。单 Agent 持续处理多个环节时,这些产物会占用上下文空间。拆分后,各 Agent 使用独立上下文,调度方只拿结果摘要。
- 「把不同方向交给不同 Agent,为什么效果会更好?」 一个 Agent 兼顾多个专业方向时,效果不如各自专精。拆分后,每个 Agent 只处理自己的方向,并使用对应的工具集。调度方负责汇总各 Agent 的结果摘要。
回答的坑
- 只说“多 Agent 更强”会漏掉原因,应该说清工具选择、上下文容量和专业方向这三重限制。
- 把调度方说成接收所有过程细节,会偏离做法;它只拿结果摘要。
同系列的题
—— 本题完 ——