当单个 LLM 调用无法可靠完成复杂任务时,工程师会本能地把问题拆成多个"专家",让它们协作。这个直觉是对的,但也是最容易翻车的地方:多 Agent 系统的失败,很少来自某个模型不够聪明,而几乎全部来自协调(orchestration)层做得不严谨。上下文如何在 Agent 之间传递?谁有权决定下一步?失败了谁能兜底?这些问题如果不显式建模,最终得到的往往不是"协作",而是一群各自为政的 Agent 把 token 和延迟烧光后返回一份缝合怪结果。
本文不打算再复述"多 Agent 很酷"的陈词滥调,而是从工程视角拆解两个本质问题:控制流应该由图来显式表达,还是让 Agent 自主协商;以及 LangGraph 如何把状态、条件边、人机回环这三件事落到可调试、可恢复的生产代码里。
2025/12/13大约 10 分钟