简介
LangChain 1.0作为高层框架,专注于快速原型设计和LLM应用部署;LangGraph 1.0作为底层编排引擎,擅长持久化、有状态的智能体工作流。LangChain适合简单聊天机器人、RAG管道;LangGraph适合长运行任务、多智能体系统。两者可结合使用,LangChain提供高层易用性,LangGraph提供底层控制力。开发者可根据项目需求选择合适框架,LangGraph运行时已成为LangChain 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,标志着其从原型工具向生产级平台的转型。融资和业务里程碑意味着该生态系统正在通过机构支持实现规模化。
本文将深入剖析这两个新版本,拆解其功能,强调关键差异,并就何时选择其中之一提供切实可行的指导。
目录
- LangChain 1.0 与 LangGraph 1.0 的核心区别是什么?
- LangChain 1.0 有什么新功能?
- LangGraph 1.0 有什么新功能?
- 工具对比表:LangChain 1.0 vs LangGraph 1.0
- 实战用例:何时使用 LangChain 1.0 vs LangGraph 1.0
- 用例对比表
- 从 LangChain 迁移到 LangGraph 教程
- 常见问题解答 (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 调用天气智能体的示例:
from langchain.agents import create_agentfrom langchain.agents.structured_output import ToolStrategyfrom pydantic import BaseModelclassWeather(BaseModel): temperature: float condition: strdefweather_tool(city: str) -> str: """获取某城市的天气。""" returnf"It's sunny and 70 degrees in {city}"agent = create_agent( "openai:gpt-4o-mini", tools=[weather_tool], response_format=ToolStrategy(Weather))result = agent.invoke({ "messages": [{"role": "user", "content": "What's the weather in SF?"}]})print(repr(result["structured_response"]))# 输出: Weather(temperature=70.0, condition='sunny')通过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 的转变,虽然稳定但门槛较高。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
三、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)。因此,工作流可以在崩溃、重启或断开连接后无缝恢复。这使其非常适合处理耗时较长的异步流程,如多日审批。
以下是调用简单持久化图的代码示例:
from langgraph.graph import StateGraph, ENDfrom langgraph.checkpoint.sqlite import SqliteSaverfrom typing import TypedDict, Annotatedimport operatorclassState(TypedDict): messages: Annotated[list, operator.add] count: intdefincrement(state: State) -> State: return {"count": state["count"] + 1}workflow = StateGraph(State)workflow.add_node("increment", increment)workflow.add_edge("increment", END)workflow.set_entry_point("increment")memory = SqliteSaver.from_conn_string(":memory:")app = workflow.compile(checkpointer=memory)config = {"configurable": {"thread_id": "abc123"}}result1 = app.invoke({"count": 0}, config)result2 = app.invoke({"count": 0}, config) # 从检查点恢复print(result2["count"]) # 输出: 2LangGraph 还为短期工作记忆和持久长期状态提供了全面的内存处理,使其非常适合有状态的、多会话智能体。
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:先决条件与设置
安装依赖:
pip install langchain langgraph langchain-openai langsmith设置 API Key 并开启 LangSmith 用于调试。
步骤 2:将简单链(Chains)迁移为基本图(Basic Graphs)
旧版的 LCEL 链是线性的。迁移到StateGraph意味着数据在步骤间共享。
迁移后 (LangGraph StateGraph):
关键变更:
- 定义
State模式(如TypedDict)以强制类型安全。
- 定义
- 将逻辑封装在不可变地更新状态的节点函数中。
- 编译并调用:API 与链类似,但更具扩展性。
from typing import TypedDictfrom langgraph.graph import StateGraph, ENDfrom langchain_openai import ChatOpenAIclassState(TypedDict): text: str summary: strdefsummarize(state: State) -> State: model = ChatOpenAI(model="gpt-4o-mini") prompt = f"Summarize the following: {state['text']}" response = model.invoke(prompt) return {"summary": response.content}workflow = StateGraph(State)workflow.add_node("summarize", summarize)workflow.set_entry_point("summarize")workflow.add_edge("summarize", END)app = workflow.compile()result = app.invoke({"text": "LangChain is a framework for LLM apps."})print(result["summary"])步骤 3:将智能体迁移为配备工具的图
旧版的AgentExecutor是黑盒。LangGraph 将其暴露为用于重试和分支的显式节点。
迁移后 (LangGraph Agent Graph):
关键变更:
- 使用 LangGraph 的
create_react_agent(或自定义构建)。
- 使用 LangGraph 的
- 使用
messages列表和包含thread_id的config进行调用。
- 使用
- 添加检查点器(如
MemorySaver),弃用旧的ConversationBufferMemory。
- 添加检查点器(如
from langgraph.prebuilt import create_react_agentfrom langgraph.checkpoint.memory import MemorySaver# ... 定义工具和 LLM ...memory = MemorySaver() # 短期内存agent_executor = create_react_agent(llm, tools, checkpointer=memory)config = {"configurable": {"thread_id": "abc123"}}# 调用方式变为传递 messages步骤 4:添加持久化和内存
使用SqliteSaver替换MemorySaver以实现生产级持久化。这允许在重启后通过相同的thread_id恢复状态。
步骤 5:集成人机交互 (HITL)
将隐式循环迁移为显式暂停。
# 在自定义图中...def route_decision(state): if "high_risk" in state["messages"][-1].content: return "human_review" return "continue"workflow.add_conditional_edges("agent", route_decision, {"human_review": "human_node", "continue": END})这确保了在高风险任务中的错误减少。
七、常见问题解答 (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 以获得更深层的控制、可扩展性和自定义编排能力。
八、如何学习AI大模型?
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
第一阶段:从大模型系统设计入手,讲解大模型的主要方法;
第二阶段:在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段:大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段:大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段:大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段:以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段:以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案
大模型全套视频教程
200本大模型PDF书籍
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集
大模型产品经理资源合集
大模型项目实战合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓