在构建基于 LangGraph 的多智能体(Multi-Agent)系统时,开发者常陷入一种错觉:只要把每个 Agent 写好,用图连起来,系统就能自动协同工作。然而现实往往骨感——Agent 之间“失联”、状态不一致、上下文丢失、消息乱序等问题频发,导致整个系统行为不可预测。
本文将深入剖析LangGraph 多 Agent 架构中的核心通信问题,并提供可落地的解决思路。
一、LangGraph 的通信本质:状态驱动,而非消息驱动
LangGraph 的核心抽象是有向图(Directed Graph),其中:
- 节点(Node)= Agent 或函数
- 边(Edge)= 控制流或条件跳转
- 状态(State)= 全局共享数据对象
⚠️ 关键认知:LangGraph不直接传递消息,而是通过读写共享状态实现协作。
这意味着:所有 Agent 必须围绕同一个 State 结构进行设计。一旦 State 定义模糊或字段冲突,通信即告崩溃。