多 Agent 拓扑 · 分工与协调
很多人做多 Agent 系统第一反应是"分得越细越好"——一个 Agent 调研、一个写、一个审、一个发。结果协调成本爆炸,主 Agent 大部分时间在转发消息。
多 Agent 的代价:每多一层 Agent,多一次 LLM 调用、多一轮上下文传递、多一个出错点。协调成本随 Agent 数线性涨,收益却边际递减。所以分多少 Agent,要看任务能不能真的并行——能并行才分,强串行就别硬分。
smolagents 的 managed_agents 给了优雅方案:主 Agent 像调用工具一样调用子 Agent,子 Agent 有自己的工具和上下文,干完返回结果。主 Agent 上下文不被子 Agent 的中间步骤污染——隔离上下文是多 Agent 的核心价值,不是"分工"本身。
选任务类型,看该用 串行 / 并行 / 层级 哪种拓扑。
一个常见坑:把强串行任务硬拆成并行,结果子 Agent 拿不到前置信息瞎猜。先画任务依赖图:能并行的才并行,强串行就老老实实串行或单 Agent。