三、LangGraph:面向复杂工作流的图式架构
1. LangGraph 介绍
1.1 LangChain 的局限性
随着开发者尝试构建更高级的 AI 代理和多轮对话系统,传统链式结构的局限性逐 渐显现:
• 链式流程通常是线性的、预先定义好的步骤,难以处理需要循环、分支或长期状态维护的复杂场 景。
• 此外,在构建多智能体协作、需要人工介入(Human-in-the-loop)或长时间运行的任务时,需要 更灵活的工作流管理和状态持久化支持。
1.2 LangGraph:解决痛点
提供一种图结构的、状 态化的方式来构建复杂的 AI 代理应用。
LangChain 团队将 LangGraph 定位为"低层次的编排框架",用于构建可控、可靠的 AI 代理工作 流。目前,LangGraph 已经在一些生产环境中得到应用,例如 LinkedIn、Uber、GitLab 等公司据报 道使用 LangGraph 来构建复杂的生成式 AI 代理系统。

LangGraph 与 LangChain关系
LangGraph是对 LangChain 的扩展和补充。LangGraph 底层大量复用 了 LangChain 的组件(如模型接口、工具、记忆等),开发者可以在 LangGraph 的节点中直接使用 LangChain 的链或代理作为子流程。
因此,LangGraph 与 LangChain 是互补关系:
• 对于简单的线性任务,LangChain 的链式结构已经足够高效;
• 而对于需要复杂控制流、长期状态和多智能体的场景,LangGraph 提供了更强大的支持。
1.3 LangGraph 的技术特点
LangGraph 将应用逻辑建模为图(Graph)结构,其中:
**• 节点:**表示操作或状态
**• 边:**表示节点之间的转移和数据流。

这种图式架构相比 LangChain 的链式结构更加灵活,主要体现在:
**• 循环与分支:**LangGraph 中的节点(Node)可以连接到其他任何节点,包括自己。你可以轻松设 置一个"信息收集"节点,如果信息不完整,就让流程再次循环回这个节点本身,直到条件满足为 止。
**• 动态路由:**通过条件边,可以根据当前状态的值,动态决定下一个要执行的节点。例如,在"分 类"节点之后,可以根据分类结果,自动路由到"处理退货"、"处理咨询"或"处理投诉"等完 全不同的子图中去。
**• 状态维护:**LangGraph 有一个核心的状态对象,在整个图的执行过程中自动持久化和传递。每个节 点都可以读取和修改这个状态。这意味着用户的对话历史、已收集的信息都会自动保留,轻松支持 长时间运行的任务。
**• 持久执行:**构建能够经受住故障并能长时间运行的代理,自动从上次中断的地方恢复。
**• 人机协作:**通过在执行过程中的任何时刻检查和修改代理状态,无缝融入人工监督。
**• 全面记忆:**创建真正具有状态的代理,兼具用于持续推理的短期工作记忆和跨会话的长期持久记 忆。
**• 使用 LangSmith 进行调试:**借助可视化工具深入洞察复杂代理行为,这些工具可追踪执行路径、 捕获状态转换并提供详细的运行时指标。
**• 生产级部署:**借助专为处理有状态、长时间运行工作流的独特挑战而设计的可扩展基础设施,自信 地部署复杂的代理系统。
总结:
构建 AI 代理应用时,如果用传统链式结构构建,会变成一个僵硬、脆弱、难以维护的"面 条代码"。而 LangGraph 则能将其建模为一个灵活、可靠、可视化程度高、且支持复杂逻辑(循环、 分支、人工) 的工作流图,这正是它为了解决日益复杂的 LLM 应用而诞生的价值所在。