LangChain 1.0 VS LangGraph 1.0:深度解析与迁移指南
在当今快速发展的 AI 领域,两个最受欢迎的 AI 框架正日益壮大并相互竞争:LangChain 1.0 与 LangGraph 1.0。
2025 年 10 月 22 日,LangChain 在其博客上宣布 LangChain 和 LangGraph 智能体框架均已达到 v1.0 里程碑。这一声明将 LangChain 与 LangGraph 1.0 的讨论推向了新的高度。
据红杉资本(Sequoia Capital)消息,LangChain 完成了 1.25 亿美元的 B 轮融资,并同步宣布了 LangChain v1.0,标志着其从原型工具向生产级平台的转型。融资和业务里程碑意味着该生态系统正在通过机构支持实现规模化。
本文将深入剖析这两个新版本,拆解其功能,强调关键差异,并就何时选择其中之一提供切实可行的指导。
目录
- 1. LangChain 1.0 与 LangGraph 1.0 的核心区别是什么?
- 2. LangChain 1.0 有什么新功能?
- 3. LangGraph 1.0 有什么新功能?
- 4. 工具对比表:LangChain 1.0 vs LangGraph 1.0
- 5. 实战用例:何时使用 LangChain 1.0 vs LangGraph 1.0
- 6. 用例对比表
- 7. 从 LangChain 迁移到 LangGraph 教程
- 8. 常见问题解答 (FAQs)
LangChain 1.0 与 LangGraph 1.0 的核心区别是什么?
LangChain 是一个高层框架,用于快速原型设计和部署基于大语言模型(LLM)的应用程序。它的设计重点在于为模型、工具和智能体(Agents)提供标准化的抽象。这种方法允许开发者构建复杂的 LLM 应用而无需被特定供应商锁定。新的 LangChain 1.0 版本在模块化、性能和生产级支持方面完善了这一愿景。
LangGraph 1.0 是一个底层编排引擎,以支持持久、有状态的智能体工作流而闻名。该工具旨在有效处理生产级、长运行智能体的复杂性。它利用基于图的执行模型(Graph-based execution models)取代了线性链(Linear Chains),并具备流式输出、人机交互(HITL)干预以及数据持久化支持等原生能力。它使 AI 智能体能够循环、分支、重访状态并做出动态决策。LangGraph 非常适合迭代推理、多智能体系统以及长运行、有状态的 AI 应用。
核心差异总结:
虽然两者都能帮助开发者快速构建生产级 LLM 应用,但它们在核心能力、设计理念、抽象层级和用例上有所不同。
- • LangChain 1.0 助力于快速、模块化的设置,通常涉及用于构建基础聊天机器人或检索增强生成(RAG)的线性管道。
- • LangGraph 1.0 则适用于需要显式状态管理和分支逻辑的非线性、自适应系统。
在工作流设计方面,LangChain 建立在 LCEL (LangChain 表达式语言) 之上,用于声明式链式调用。LangGraph 扩展了这一点,引入了支持循环、重试和条件边的图结构。
二者结合使用效果极佳。LangChain 提供高层易用性(Ergonomics),而 LangGraph 提供底层控制力,LangChain 的新智能体现在后台直接运行在 LangGraph 的运行时(Runtime)上。
LangChain 1.0 有什么新功能?
LangChain 1.0 从一个广泛的工具包演变为一个用于 AI 智能体开发的精简引擎。
2025 年 10 月发布的 LangChain 1.0 版本吸纳了社区反馈,引入了构建在 LangGraph 运行时之上的、经过改进的以智能体为中心的架构。它专注于生产就绪性,提供简洁性、灵活性和长期稳定性,且在 2.0 版本之前没有计划中的破坏性变更。
a) 新特性
向中心化智能体抽象的重大转变
LangChain 1.0 转向统一的智能体对象或模式,构建在 LangGraph 1.0 的运行时之上。
以下是使用 Python 调用天气智能体的示例:
通过 Pydantic 模型的结构化输出,确保了跨供应商的响应类型安全。
标准化的消息内容块 (Standard Content Blocks)
LangChain 1.0 引入了标准化的消息内容块,允许跨 LLM 供应商使用结构化数据(如推理轨迹、引用、工具调用)和多模态内容(如图像、音频和 PDF)。
例如:
- • 纯文本:
message.content_blocks[0].text - • 来源:
message.content_blocks[1].citation
在此之前,这被 OpenAI 的 JSON 模式和 Anthropic 的 XML 标签等碎片化处理。新版本提供了统一的、与供应商无关的接口,无需重写代码即可无缝切换模型。
JavaScript 端 API 简化
LangChain 1.0 简化了 API 管理。例如,像 createReactAgent 这样的旧模式已被 createAgent API 取代,简化了智能体的创建流程。
精简的包结构
核心 LangChain 包已被精简,仅保留必要的智能体抽象。JavaScript 中的遗留功能已被移至 @langchain/classic 包中。
改进的集成与向后兼容性
LangChain 1.0 增强了集成并改进了对向后兼容性的支持。例如,它通过标准化消息格式支持主流供应商。此外,内容块等工具也可在遗留消息类型上工作。
b) 设计与开发方法
LangChain 1.0 根据社区反馈,从“多种链或智能体模式”转向更少但更具导向性(Opinionated)的抽象。这种方法引导开发者走向生产就绪,而非仅仅停留在原型模式。
团队识别并剥离了诸如“厚重的抽象”和“过于宽泛的 API 表面积”等痛点。结果是一个更紧凑的命名空间,专注于核心智能体组件,而非详尽的原语。旧的实用工具被移至 langchain-classic。
开发重点转向企业级应用,强调跨 LLM 供应商的稳定性、标准化、可扩展智能体以及多模态工作流。版本控制策略表明,1.0 主版本可能包含破坏性变更和架构改进,并会提供迁移指南。
c) 新文档
LangChain 1.0 的一大更新是重新设计的文档中心,试图解决多年来关于指南分散的反馈。它首次将 Python 和 JavaScript 内容整合在一个统一的体验下。新文档包括概念指南、手把手教程(如构建 RAG 智能体)、统一的 API 参考以及从 v1 之前的版本过渡的迁移指南。
d) 学习曲线
API 更加精简,通过标准化的智能体抽象和简化的 createAgent API,新手可以受益于更一致的工作流。
缺点:如果是从旧的 v0.x 版本升级,会有一些破坏性变更或不同的抽象需要学习。特别是迁移到新的智能体模型、消息内容块,或从旧的链/智能体模式迁移时,存在一定的学习曲线。
e) 社区观点
开发者称赞其经过多年迭代后的成熟度。但也存在批评声音,部分用户认为抽象中存在“非必要的复杂性”,且对于初学者来说,升级类似于 Python 2 到 3 的转变,虽然稳定但门槛较高。
LangGraph 1.0 有什么新功能?
LangGraph 1.0 于 2025 年 10 月 22 日与 LangChain 1.0 同步推出。经过一年的生产环境打磨和社区驱动的改进,这一稳定版本巩固了 LangGraph 作为持久化智能体工作流骨干的地位。
其核心在于,LangGraph 暴露了一个基于图的运行时抽象,用于自定义控制流、分支逻辑、重试和多智能体协调。它允许通过混合确定性逻辑和智能体步骤(Agentic steps)来对执行图进行细粒度控制,从而优化延迟、成本和监督。
a) 新特性
LangGraph 1.0 扩展了其图驱动架构,通过节点(动作)、边(转换)和共享状态对工作流进行建模。这种方法提供了企业级的可靠性和弹性,同时保持实现的简单直观。
一个关键的增加是持久化状态管理 (Durable State Management)。它自动将每个执行步骤通过检查点(Checkpoints)保存到可配置的后端(如内存存储、SQLite 或 PostgreSQL)。因此,工作流可以在崩溃、重启或断开连接后无缝恢复。这使其非常适合处理耗时较长的异步流程,如多日审批。
以下是调用简单持久化图的代码示例:
LangGraph 还为短期工作记忆和持久长期状态提供了全面的内存处理,使其非常适合有状态的、多会话智能体。
b) 设计与开发
LangGraph 1.0 的设计旨在解决现有框架“易于开始但难以扩展或定制”的问题。随着 LangChain 1.0 的智能体现在由 LangGraph 运行时驱动,您可以从高层入手,并在需要时下钻进行定制,无需重写成本。
运行时设计将开发者 SDK/API 与执行引擎分离。它放弃了对 Python 3.9 的支持(EOL),并增加了 3.14 兼容性,采用**异步优先(Async-first)**的 API 以实现可扩展性。
新版本允许您混合结构化步骤(如 API 调用)和概率性步骤(如 LLM 决策),并通过边来强制执行确定性。例如,它可以在工具故障时重试,或根据置信度分数进行分支。这与可观测性要求一致,每个节点都会追踪到 LangSmith,确保大规模下的可调试性。
c) 新文档
docs.langchain.com 上的 1.0 文档整合了 LangGraph 和 LangChain 的资源,解决了内容碎片化问题,并提供了关于智能体图论的概念入门。值得注意的是,文档指出 LangGraph 专注于底层编排。如果您只是刚开始接触智能体,使用 LangChain 的高层 API 可能更合适。
d) 学习曲线
LangGraph 是底层且可扩展的,这意味着学习曲线陡峭。它提供了更大的控制权,但也需要更多的理解,因为您需要手动设计图、节点、边和状态流,而不是依赖现成的智能体模板。对于熟悉简单框架的团队来说,理解基于图的编排、状态管理和部署模式需要额外的努力。
e) 社区观点
用户普遍认为“从‘魔法编排’到‘显式状态图’的转变终于来了”,不再有神秘中断的黑盒智能体循环。如果不能画出智能体的状态转换,就无法调试它。但也有用户希望减少类似 AutoGen 的断崖式更新带来的痛苦。
工具对比表:LangChain 1.0 vs LangGraph 1.0
评估维度 | LangChain 1.0 | LangGraph 1.0 |
主要定位 | 用于快速原型设计和生产级 LLM 应用的高层智能体框架 | 用于持久、有状态和复杂智能体工作流的底层编排引擎 |
架构 | 基于 LCEL 的声明式链式调用 | 基于节点、边和持久状态构建的图运行时 |
执行控制 | 抽象化控制,追求简洁 | 细粒度控制,支持自定义分支、重试和检查点 |
持久性 | 短暂(Ephemeral)会话 | 跨会话的持久状态和可恢复执行 |
集成层级 | 即插即用集成(100+ 模型和 API) | 与 LangChain 1.0 运行时深度集成以执行图 |
学习曲线 | 较低,适合初学者和快速迭代 | 中等到高,需要理解状态图和运行时逻辑 |
人机交互 (HITL) | 通过高层封装支持 | 原生支持 暂停/恢复及人工验证 |
最佳适用场景 | 构建快速原型、聊天机器人、RAG 管道或工具增强型智能体 | 部署长运行、多智能体或人机交互系统 |
何时选择 | 快速构建并频繁迭代 | 弹性、生产级智能体编排 |
实战用例与迁移指南
什么时候使用 LangChain 1.0?
适合需要快速开发、配置最少的情况。
- • 用例:聊天机器人、简单的 RAG 管道、客户支持自动化。
- • 代码示例:利用
create_agent和中间件(Middleware)仅需约 20 行代码即可构建支持机器人的系统。
什么时候使用 LangGraph 1.0?
适合需要精确控制编排和弹性的开发者。
- • 用例:长运行/有状态智能体(如多阶段审批)、人机交互(HITL)系统、复杂多智能体协作。
- • 代码示例:通过
StateGraph和add_conditional_edges构建审批工作流,利用checkpointer实现状态持久化。
从 LangChain 迁移到 LangGraph 教程
对于许多开发者来说,从 LangChain 迁移到 LangGraph 并不是必须的,因为 LangChain 1.0 的 create_agent 已经在透明地使用 LangGraph。但是,对于需要循环(Cycles)、持久化或多角色编排的自定义工作流,迁移到 LangGraph 是明智的选择。
架构转变:
- • LangChain (旧版):顺序链(Sequential Chains),仅会话内内存,手动重试。
- • LangGraph 1.0:节点与边的图,持久化且可恢复的内存,内置检查点。
步骤 1:先决条件与设置
安装依赖:
设置 API Key 并开启 LangSmith 用于调试。
步骤 2:将简单链(Chains)迁移为基本图(Basic Graphs)
旧版的 LCEL 链是线性的。迁移到 StateGraph 意味着数据在步骤间共享。
迁移后 (LangGraph StateGraph):
关键变更:
- 1. 定义
State模式(如TypedDict)以强制类型安全。 - 2. 将逻辑封装在不可变地更新状态的节点函数中。
- 3. 编译并调用:API 与链类似,但更具扩展性。
步骤 3:将智能体迁移为配备工具的图
旧版的 AgentExecutor 是黑盒。LangGraph 将其暴露为用于重试和分支的显式节点。
迁移后 (LangGraph Agent Graph):
关键变更:
- 1. 使用 LangGraph 的
create_react_agent(或自定义构建)。 - 2. 使用
messages列表和包含thread_id的config进行调用。 - 3. 添加检查点器(如
MemorySaver),弃用旧的ConversationBufferMemory。
步骤 4:添加持久化和内存
使用 SqliteSaver 替换 MemorySaver 以实现生产级持久化。这允许在重启后通过相同的 thread_id 恢复状态。
步骤 5:集成人机交互 (HITL)
将隐式循环迁移为显式暂停。
这确保了在高风险任务中的错误减少。
常见问题解答 (FAQs)
Q: LangGraph 现在要取代 LangChain 吗?
A: 不是。LangGraph 不是替代品,而是 LangChain 的运行时扩展。LangChain 1.0 仍然提供构建智能体的高层抽象,而 LangGraph 1.0 在后台处理管理执行图、持久性和控制流的底层编排。
Q: 我需要重写我的 LangChain 项目来使用 LangGraph 1.0 吗?
A: 不一定! 许多现有的 LangChain 工作流无需更改即可继续工作。但是,如果您的项目需要状态持久化、长运行任务或分支逻辑,建议将特定组件迁移到 LangGraph。
Q: LangChain vs LangGraph 1.0:我应该先学哪个?
A: 如果您是 AI 智能体开发的新手,从 LangChain 1.0 开始。它提供了更简单的抽象。随后,您可以转向 LangGraph 1.0 以获得更深层的控制、可扩展性和自定义编排能力。



