LangGraphJS 核心架构概述
LangGraph 是低级别 Agent 编排框架:用有向图描述节点与边,在 超步(superstep) 内批量执行节点,通过 Channels 读写共享状态,可选 Checkpointer 持久化与 interrupt 做人机协同。
1. 核心能力
| 能力 | 说明 |
|---|---|
| 可控流程 | 节点 + 条件边,非黑盒 Agent 循环 |
| 持久化 | checkpoint 恢复、多轮对话 |
| Human-in-the-Loop | 暂停、改 state、再 resume |
| 流式 | values / updates / messages 等多模式 stream |
2. 四层架构(自下而上)
text
Graph 层 StateGraph、compile → Pregel 实例
Pregel 层 超步调度、执行任务、写 Channels
Checkpointer 序列化 checkpoint、thread_id
Channels 层 LastValue、Topic 等,状态与消息| 层 | 职责 |
|---|---|
| Channels | 节点间不直连,经 channel 读/写 |
| Checkpointer | 每超步(或配置点)快照 |
| Pregel | BSP 执行引擎 |
| Graph | 开发者面向的构图 API |
3. Pregel / BSP 心智模型
- Superstep:一轮「并行跑一批节点 → 同步屏障 → channel 更新可见于下一步」。
- 节点:函数,读 channel 快照、返回 state 更新或 Command。
- 边:由 channel 订阅关系 + 图结构决定下一批激活谁。
- Checkpoint:某超步结束时的可恢复快照。
与 MapReduce/Pregel 论文一致:适合图状控制流 + 批量并行,而非任意实时消息网。
4. 与 LangChain 关系
- 节点内常用 LangChain Runnable / LLM;LangGraph 管编排与状态。
langgraphnpm 包核心在langgraph-core。
5. 阅读顺序
02 Channels → 03 Checkpointer → 04 Pregel → 05 Graph → 06 Stream → 07 HITL。
总结
记牢:Channels 存状态、Pregel 按超步跑、Checkpointer 可续跑、Graph 用来声明图。