LangGraph 简介
LangGraph是LangChain生态系统中的一个重要扩展库,专门用于构建、管理、部署长期运行、有状态、多智能体的复杂工作流。它通过图结构来管理任务流,支持循环、条件分支和动态决策,适用于需要持久化上下文或多代理协作的场景。
- 持久执行:有容灾恢复能力,能长时间运行,当出现问题的时候,能从中断处自动恢复。
- 人机协同:执行过程的任何时候,通过检查和修改智能体状态,可以无缝地引入人类监督。
- 全面记忆:智能体既有用于持续推理的短期工作记忆,也有跨会话的长期持久记忆。
核心架构与概念
1. 状态机架构
- LangChain = 线性任务(如智能问答、文档处理)
- LangGraph = 复杂任务(如代理协作、动态流程、人机协同)
2. 核心组件
图 (Graphs):定义任务执行的逻辑流程,由节点和边组成
- 包含哪些工作步骤(节点)
- 这些步骤之间如何连接(边)
- 整个流程的走向
状态 (State):贯穿整个图执行过程的共享数据容器,由用户自定义结构,记录着当前程序运行到什么状态了
- 存储当前的信息和数据
- 在所有节点之间共享
- 可以被任何节点读取和更新
节点 (Nodes):图的基础执行单元,本质是函数,接收State作为输入并返回更新后的State
- 每个节点负责完成一个具体的任务
- 接收当前状态作为输入
- 处理完后返回更新的结果
- 本质上就是Python函数
边 (Edges):控制节点间的流转逻辑,分为普通边和条件边
- 普通边:固定路线,A完成后总是去B
- 条件边:根据情况选择路线,类似“如果...就去A,否则去B”

主要特性
循环和分支能力
- 支持条件语句和循环结构
- 可以根据状态动态决定执行路径
- 轻松实现复杂的对话流程控制
状态持久化
- 自动保存和管理状态
- 支持暂停和恢复执行
- 便于处理长时间运行的对话
人机协同支持
- 可以在执行过程中插入人工审核
- 支持编辑和修改状态
- 灵活的交互控制机制
多智能体协作
通过“状态驱动的图结构”实现:
- 明确的职责边界
- 可靠的通信协议
- 可观测的运行平台
- 架构设计
架构设计

应用场景
快时尚电商智能客服
- 意图识别代理判断用户问题类型
- 根据意图动态路由到专业代理
- 调用MCP工具处理复杂业务逻辑
多轮对话状态管理
在多轮对话系统中,用户需求往往跨越多个阶段,LangGraph通过状态驱动的图结构可以:
- 将每个对话阶段拆解为独立节点
- 显式管理意图、订单详情、补偿等级等状态信息
- 根据实时上下文自动路由请求
智能体系统
- 机器人控制系统
- 自动驾驶汽车
- 视频游戏AI
- 聊天机器人
技术优势
相比传统LangChain
- 显式的状态管理:每个节点只关心自己处理的那部分状态,降低耦合度
- 动态、灵活的代理路由:通过条件边和循环结构实现高度个性化的执行路径
- 易于扩展和维护:新增节点或调整路由只需局部修改
- 支持复杂的状态转换逻辑:无论是多轮对话、条件推理还是长流程任务
工程化支持
- 可视化:提供内置的图可视化方法,直观展示工作流逻辑
- 调试友好:状态在节点间流转并持续更新,便于追踪和调试
- 持久执行:支持检查点机制,可在故障后恢复
更多详细内容见 LangGraph Docs