[智能体-322]:LangGraph 是 LangChain 生态里的「有状态 Agent 编排框架」,把复杂 AI 流程(多轮对话、工具调用、循环思考、多智能体协作)建模成带状态的有向图。
LangGraph 是 LangChain 生态里的「有状态 Agent 编排框架」把复杂 AI 流程多轮对话、工具调用、循环思考、多智能体协作建模成带状态的有向图解决 LangChain 线性 Chain 做不了的分支、循环、持久记忆、人在回路问题。一、它是什么一句话定位LangChain 官方开源MIT的低级编排框架专注长时运行、有状态、可循环的智能体 / 工作流LangGraph。核心模型State状态 Node节点 Edge边 Graph图。读音/læŋɡrɑːf/朗 - 格拉夫。二、解决什么痛点为什么不用纯 LangChainLangChain 的 LCEL链适合线性、短流程Prompt → LLM → Tool → Output但真实 Agent 常需要循环思考→工具→再思考→再工具… 直到满足条件分支不同问题走不同工具链记忆多轮会话、跨轮状态保留断点 / 恢复中断后从上次状态继续人工介入中途要人审批、修正LangGraph 就是为这些「非线性、有状态」场景设计的。三、核心概念四大金刚1. State全局状态 记忆全图共享的强结构数据TypedDict/dataclass。所有节点读 / 写同一份 State天然带记忆。支持增量更新、序列化、持久化Checkpoint。示例python运行from typing import TypedDict, Annotated import operator class AgentState(TypedDict): query: str docs: list answer: str # 用 reducer 控制合并策略list 追加 messages: Annotated[list, operator.add]2. Node节点 执行单元图中的「圆圈」一个节点做一件事调用 LLM调用工具搜索 / 数据库 / API数据处理 / 格式化条件判断签名(state: State) → State输入状态返回更新后的状态。3. Edge边 控制流图中的「箭头」定义节点间怎么走普通边A → B固定顺序、无条件转化边条件边根据 State 字段动态选下一个节点分支循环边回到之前节点迭代4. Graph图 整体流程把 Node Edge 组装成可执行状态机。编译后支持invoke同步运行stream流式输出逐节点 / 逐 tokenainvoke/astream异步状态回溯、时间旅行四、关键能力LangChain Chain 做不到✅ 原生循环有环图支持「思考→工具→再思考」迭代Agent能自我反思、多轮修正。✅ 强状态管理 持久化全局 State 短期记忆Checkpoint 长期记忆Redis/Postgres支持断点续跑、崩溃恢复、会话持久LangGraph。✅ 人在回路Human-in-the-Loop可在任意节点暂停、等人工输入 / 审批、再继续LangGraph。✅ 复杂控制流分支、并行、异常路由、子图嵌套模块化。✅ 生产级可观测性与LangSmith深度集成可视化执行路径、状态变化、LLM 调用、工具日志LangGraph。五、典型架构示例极简 RAG AgentplaintextSTART ↓ [Node: 检索文档] → 查向量库写回 state[docs] ↓ [Node: LLM 生成回答] → 用 state[query][docs] 生成 answer ↓ [Conditional Edge: 是否需要多轮] → 不需要 → END → 需要 → 回到「检索/生成」节点循环六、与 LangChain 的关系LangChain连接 LLM 与数据 / 工具的链式框架线性为主。LangGraphLangChain 生态的图编排扩展专门做有状态、循环、多步骤 Agent。关系LangGraph完全兼容 LangChain 组件ChatModel、Tools、Prompts可混用LangGraph。七、适用场景对话机器人多轮、记忆、工具调用RAG 知识库检索→生成→反思→再检索自主 AgentAutoGPT 类任务规划、工具链执行多智能体协作多个 Agent 分工、状态共享长流程自动化报表生成、数据处理、审批流八、一句话总结LangGraph LangChain 的「状态机 循环引擎」把 LLM 应用从「线性脚本」升级为能思考、能记忆、能迭代、能持久运行的智能体系统。