LangGraph
面向 stateful agent 和 workflow 的图式运行时,负责节点、状态、分支、checkpoint 和人类介入等控制流。
#tech / ai
#resource / langgraph
#type / resource
#status / growing
[!info] related notes
- 相关主题: Agent Runtime, Orchestration, Agent 执行闭环
- 相关 MOC: AI MOC, Agent MOC, Python 大模型应用开发 MOC
- 相关资源: langchain, langsmith, crewai
- 关系笔记: LangChain、LangGraph 与 CrewAI 的定位对比, LangChain、LangGraph 与 LangSmith 的分层
LangGraph
这是什么
LangGraph 是面向 agent 和 workflow 的图式运行时。它把系统建模成 state、nodes、edges 和条件分支,重点解决多步执行、状态持久化和长运行流程控制。
它在系统里主要管什么
LangGraph 更偏运行时而不是上层“应用语法糖”。它主要负责:
- 在节点之间传递共享 state
- 控制串行、并行、循环和条件分支
- 做 checkpoint、恢复执行和 durable execution
- 支持 streaming 和 human-in-the-loop
- 给 agent loop 提供更显式、更可追踪的执行骨架
核心抽象
- state:贯穿整张图的共享对象
- node:一个执行步骤,可以是模型、工具或确定性代码
- edge:从一个步骤跳到下一个步骤
- conditional edge:根据状态决定下一步
- checkpoint:中断、恢复、人工介入时的状态保存点
- thread:一条持久执行轨迹,用来关联多次恢复和继续运行
- interrupt:在关键节点暂停,等待人或外部系统给出下一步输入
- streaming:把图运行中的 token、节点更新和进度实时暴露出来
为什么它重要
很多 LLM 应用在 demo 阶段只需要“调一下模型”,但一到生产就会遇到:
- 中途失败后怎么恢复
- 需要人工审核时怎么暂停
- 多步流程怎么保持状态一致
- 哪些步骤必须由代码硬控
LangGraph 的价值就在于把这些“运行时问题”从 prompt 里抽出来,显式建模。
它和 Agent 系统架构的关系
如果把 agent 当成“会调工具的状态机”,LangGraph 更像这台状态机的内核层:
- 它不主要负责定义工具语义,而是负责安排节点怎么流转
- 它不主要负责提升模型能力,而是负责保证长流程能暂停、恢复、分支和继续
- 它也不主要负责观测平台;这部分更接近 langsmith
因此在 LangChain 生态里,经常会形成这样的分工:
和 LangChain、CrewAI 的关系
- 和 langchain 的关系:LangChain 更偏开发框架,LangGraph 更偏底层执行骨架
- 和 crewai 的关系:CrewAI 更强调角色、任务和团队协作心智模型;LangGraph 更强调状态图与运行时控制
常见用途
- 复杂 agent workflow
- 需要 durable execution 的长任务
- 有审批点、恢复点、状态检查点的生产系统
- 混合“确定性代码 + agent 决策”的系统