多 Agent 协作实战:编排多个 Agent 完成复杂任务——主管+执行者模式
引言 "帮我看看昨晚订单服务为什么变慢了。" 这句话背后至少有三个动作:查日志里有没有异常堆栈、查监控里 CPU/延迟/QPS 的曲线、把两边的线索拼成一份事故结论。我们最初把所有 @Tool 挂在一个 Agent 上让它自己规划,跑了两周发现三个问题:工具越加越多(查日志、查指标、查链路、查发布记录……12 个工具)后模型开始选错;每个工具的返回值都进同一个上下文,日志片段和指标数据互相干扰;提示词里"日志专家"和"监控专家"的行为要求互相打架,模型谁的都不听。 解法是从"一个全能 Agent"换成"一个主管 + 多个专家":主管 Agent 只负责听懂需求、拆解任务、汇总报告,手底下没有具体工具;三个执行者 Agent 各自只带自己领域的工具、用自己的专家提示词,并行干活、结果上报。这篇文章用 LangChain4j 实现一个智能运维助手:主管拆解 → 日志/监控执行者并行调查 → 主管汇总成报告,并重点讲清单 Agent 的瓶颈、并行编排的确定性收敛(防止主管反复派活死循环)、以及新增 Agent 不改编排代码的注册表设计。 一、先想清楚:单 Agent 为什么不够用 1.1 ....