公司动态
LangChain-AI应用开发框架(6) - 认识 LangGraph : 面向复杂工作流的图式架构以及技术特点
目录一、LangGraph面向复杂工作流的图式架构LangGraph 介绍LangChain 的局限性LangGraph解决痛点二、LangGraph 的技术特点三、LangGraph 的起源与发展四、学习路径与课程目标一、LangGraph面向复杂工作流的图式架构LangGraph 介绍LangChain 的局限性LangGraph 是 LangChain 生态系统中晚些出现的一个框架其诞生背景与大型语言模型应用日益增长的复杂性密切相关。随着开发者尝试构建更高级的 AI 代理和多轮对话系统传统链式结构的局限性逐渐显现链式流程通常是线性的、预先定义好的步骤难以处理需要循环、分支或长期状态维护的复杂场景。此外在构建多智能体协作、需要人工介入Human‑in‑the‑loop或长时间运行的任务时需要更灵活的工作流管理和状态持久化支持。举个例子假设我们要构建一个 AI 代理来自动处理用户提交的客服工单例如退货请求、产品咨询、投诉等。一个理想的流程是分类 → 信息收集 → 处理与验证 → 人工介入 → 总结与关闭。如果用传统的Chain A → Chain B → Chain C的线性结构来构建会遇到以下具体问题问题 1难以处理循环和分支无法动态路由和多次询问在 “信息收集” 阶段用户第一次可能提供了一个不完整的订单号。但是链式流程是单向的它无法自动 “跳回” 上一步再次请求用户补充信息。结果只能让整个链失败或者生成一个僵硬的错误消息用户体验非常差。无法实现 “只要信息不完整就持续询问直到完整” 这样的逻辑。问题 2状态维护困难无法长时间运行和记忆上下文客户服务对话通常是多轮的可能持续几分钟、几小时甚至几天。传统的链在每次调用时都是 “无状态” 的。结果状态管理记忆的重担完全落在了开发者身上需要依赖外部数据库或缓存来手动存储和读取对话状态代码会变得非常臃肿和脆弱。问题 3难以融入人工介入Human‑in‑the‑loop当 AI 无法处理时需要无缝地转交给人。在链式流程中这意味着链的执行到此中断。无法优雅地实现暂停 AI 流程等待人工处理完毕再将结果返回继续执行后续自动化步骤。结果整个流程会断裂成两半AI 部分和人工部分。需要构建另外的系统来通知人工、接收人工处理结果并重新触发后续的链这完全破坏了工作流的完整性和可管理性。问题 4僵化的流程无法根据条件动态跳转不同的用户意图需要完全不同的子流程。例如判断用户意图是 “投诉”。我们的链可能预先设计为走 A‑B‑C 路径。是 “产品咨询”可能需要走 A‑D‑E 路径。在链式结构中实现这种条件分支非常笨拙通常需要编写一个巨大的 “主链”内部用一系列 if‑else 语句来调用不同的子链。结果流程图的逻辑变成了代码中的控制流语句而不是清晰可见的图形化结构。这使得工作流难以设计、调试和可视化。LangGraph解决痛点为了解决这些问题LangChain 团队于 2024 年推出了 LangGraph 框架旨在提供一种图结构的、状态化的方式来构建复杂的 AI 代理应用。LangChain 团队将 LangGraph 定位为 “低层次的编排框架”用于构建可控、可靠的 AI 代理工作流。目前LangGraph 已经在一些生产环境中得到应用例如 LinkedIn、Uber、GitLab 等公司据报道使用 LangGraph 来构建复杂的生成式 AI 代理系统。例如我们将上述链式结构改成图架构:在客服工单这个图结构示例当中可以定义图状态用来存储流程中的临时数据和决策点例如intent用户意图字符串如 returninquirycomplaint。collected_info字典存储收集到的信息如订单号、问题描述。needs_human布尔值表示是否需要人工介入默认 False。is_verified布尔值表示信息是否已验证默认 False。is_complete布尔值表示流程是否完成默认 False。message_history列表存储对话历史用于多轮交互。LangGraph 并不是要取代 LangChain而是对 LangChain 的扩展和补充。LangGraph 底层大量复用了 LangChain 的组件如模型接口、工具、记忆等开发者可以在 LangGraph 的节点中直接使用 LangChain 的链或代理作为子流程。因此LangGraph 与 LangChain 是互补关系对于简单的线性任务LangChain 的链式结构已经足够高效对于需要复杂控制流、长期状态和多智能体的场景LangGraph 提供了更强大的支持。二、LangGraph 的技术特点LangGraph 将应用逻辑建模为图Graph结构其中节点表示操作或状态边表示节点之间的转移和数据流。这种图式架构相比 LangChain 的链式结构更加灵活主要体现在循环与分支LangGraph 中的节点Node可以连接到其他任何节点包括自己。你可以轻松设置一个 “信息收集” 节点如果信息不完整就让流程再次循环回这个节点本身直到条件满足为止。动态路由通过条件边可以根据当前状态的值动态决定下一个要执行的节点。例如在 “分类” 节点之后可以根据分类结果自动路由到 “处理退货”、“处理咨询” 或 “处理投诉” 等完全不同的子图中去。状态维护LangGraph 有一个核心的状态对象在整个图的执行过程中自动持久化和传递。每个节点都可以读取和修改这个状态。这意味着用户的对话历史、已收集的信息都会自动保留轻松支持长时间运行的任务。持久执行构建能够经受住故障并能长时间运行的代理自动从上次中断的地方恢复。人机协作通过在执行过程中的任何时刻检查和修改代理状态无缝融入人工监督。全面记忆创建真正具有状态的代理兼具用于持续推理的短期工作记忆和跨会话的长期持久记忆。使用 LangSmith 进行调试借助可视化工具深入洞察复杂代理行为这些工具可追踪执行路径、捕获状态转换并提供详细的运行时指标。生产级部署借助专为处理有状态、长时间运行工作流的独特挑战而设计的可扩展基础设施自信地部署复杂的代理系统。总结来说构建 AI 代理应用时如果用传统链式结构构建会变成一个僵硬、脆弱、难以维护的 “面条代码”。而 LangGraph 则能将其建模为一个灵活、可靠、可视化程度高、且支持复杂逻辑 (循环、分支、人工) 的工作流图这正是它为了解决日益复杂的 LLM 应用而诞生的价值所在。三、LangGraph 的起源与发展LangChain 团队于 2024 年推出了 LangGraph 框架旨在提供一种图结构的、状态化的方式来构建复杂的 AI 代理应用。LangGraph 最初作为 LangChain 0.1.0 版本的一部分被引入标志着 LangChain 从链式架构向图式架构的扩展。在 2024 年初LangGraph 作为实验性功能发布随后在 2024 年中开始独立演进。LangChain 团队为 LangGraph 建立了专门的文档和代码仓库并逐步将其打造为一个独立于 LangChain 主框架的工具集。在 2024 年中发布的版本中LangGraph 引入了 Checkpoint检查点机制允许将执行状态定期保存以便故障恢复和审计。2024 年下半年LangGraph 发布了多个版本如 0.2.x、0.3.x 等不断改进其核心功能和稳定性。2024 年底的版本增强了对异步执行和并发的支持并提供了更完善的类型定义和错误处理。2025 年LangGraph 发布了 0.4.x、0.5.x 等版本发展出完善的 Python 和 JavaScript 实现并推出了 LangGraph Platform 等配套产品用于简化复杂代理应用的部署和管理。2025 年 6 月LangGraph 发布了 0.6 版本并启动了 LangGraph v1.0 的路线图计划收集社区反馈以确定正式版的功能特性。2025 年 8 月0.7 版本发布重点强化Checkpoint 检查点存储生态官方原生支持 Redis、PostgreSQL 持久化后端不再完全依赖内存存储状态大幅优化子图subgraph能力支持子图独立封装、复用方便做模块化多智能体开发同时完善 MCP 工具协议对接统一外部工具调用入口。2025 年 10 月LangGraph 1.0 正式稳定版发布API 冻结大版本 2.0 之前不再做破坏性变更完整对齐 Python 与 JS/TS 双版本能力官方正式确立定位LangGraph 是生产级 Agent 编排框架简单线性任务继续用 LangChain Chains复杂 Agent、循环分支、长时任务优先 LangGraph。配套的 LangGraph Platform 企业版能力补齐支持云端托管部署、流式 API、多租户隔离。2026 年 3 月LangGraph v1.1 版本上线。主打类型安全增强invoke、流式stream全部支持 Pydantic 强类型校验改进事件流协议统一各类节点、工具调用的事件输出格式Checkpoint 机制做性能优化大状态读写开销降低官方开源 Deep Agents 示例套件提供子 Agent 嵌套、任务规划、虚拟文件系统等复杂 Agent 模板。LangSmith 同步深度打通 LangGraph图可视化调试、状态回溯、单步重试能力大幅增强。2026 年 5‑6 月迭代 1.2.x 系列。优化长时间运行任务的超时、重试策略支持图的动态修改可以运行时动态增删节点与边增强人机交互 Human‑in‑the‑loop 体验支持中间状态回滚、局部修改状态后继续执行强化错误边界单个节点异常不会直接摧毁整个图会话。2026 年 7‑8 月当前 1.3.x 版本。迭代 stream_events v3 事件协议Agent 流式输出更加规范持续修复 checkpoint 并发读写 bug进一步完善多模态输入输出支持生态层面持续弱化旧 Chain 的复杂 Agent 方案官方文档全部优先推荐 LangGraph 实现智能体LangGraph Platform 增加自动扩缩容、会话生命周期管理等生产运维能力。可以预见LangGraph 将在未来继续演进成为构建高级 AI 代理和复杂工作流的重要框架。版本发布langchain · GitHubGitHub is where langchain builds software.https://github.com/langchain‑ai/langgraph/releases四、学习路径与课程目标所以我们想要从入门到精通的掌握 LangChain 和 LangGraph 框架。需要经过三个阶段LangChain 核心精通深入掌握 LangChain 的核心组件和思想。LangGraph 进阶突破学习用 LangGraph 构建复杂、有状态的应用程序。项目实战与持续学习通过综合项目巩固知识并保持对生态发展的关注。这条路径遵循循序渐进的原则从核心概念到高级应用并包含了大量的实践项目两个框架的深度知识系统掌握 LangChain 和 LangGraph 的核心概念与最佳实践。解决实际问题的能力能够从零开始独立设计、构建可处理复杂任务的智能 AI 代理与多步工作流应用。具备将复杂业务需求转化为 AI 解决方案的架构能力。对开发者来说掌握 AI 开发框架不仅意味着习得一项新技术更是对自我能力与职业路径的一次战略投入。其核心价值可归纳为【技术实现】与【个人成长】两大维度。技术实现价值: AI 开发框架通过提供标准化的工具库和抽象机制显著降低了开发、部署和运维 AI 应用的复杂度使开发者能够更专注于业务逻辑与创新。个人成长价值: 学习 AI 开发框架不仅是掌握工具的使用更推动思维模式的升级与技术视野的开阔。吸收行业最佳实践框架凝聚了领域专家的设计智慧与成熟方法帮助开发者快速掌握构建可靠 AI 系统的经验与范式。培养系统架构思维AI 应用开发是涵盖数据处理、模型调优、API 设计理解框架有助于形成全链路认知提升系统设计与把控能力。增强职业竞争力熟练掌握主流 AI 开发框架已成为 AI 工程师的关键能力这不仅拓宽职业可能性也有助于在技术演进中把握先机争取更具前景的发展机遇。