新闻详情

新闻详情

首页 / 资讯中心 / 详情

LangChain 1.0 和 LangGraph 到底谁封装谁?我把 pip 依赖表扒了一遍,答案全在里面

发布时间:2026/10/1 19:48:18来源:尧图网络
LangChain 1.0 和 LangGraph 到底谁封装谁?我把 pip 依赖表扒了一遍,答案全在里面
LangChain 1.0 和 LangGraph 到底谁封装谁我把 pip 依赖表扒了一遍答案全在里面一句话先给结论是 LangChain 封装了 LangGraph不是 LangGraph 封装 LangChain。2025 年 10 月 LangChain 1.0 发布之后create_agent底层跑的就是 LangGraph。我实测装了一遍依赖、看了一遍返回类型证据全在 pip 的依赖表里文末给面试三句金句和选型表。一、为什么这个关系总是被搞反后台收到不少私信问「LangGraph 是不是变成了 LangChain 的封装」我一开始没当回事直到自己也差点说反。搞反的原因有三个名字前缀LangGraph 挂着 Lang 前缀看起来像 LangChain 的附属品同一家公司LangGraph 就是 LangChain 团队写的大家默认「先有的包是底层」一次搬家事件被误读create_react_agent从 langgraph 搬进了 langchain很多人把「功能从 A 移到 B」读成了「A 变成了 B 的封装」。方向恰恰相反。这篇文章用三条实测证据把这事说死。二、三年演进时间线关系不是一天变成这样的时间事件当时的定位2022.11LangChain 诞生LCEL 链式编排 AgentExecutor线性串联2024.01LangGraph 发布图编排StateGraph、节点、条件边、循环目标是取代 AgentExecutor2025.07DeepAgents 发布建在 agent 之上的「深度任务」harness思路来自 Claude Code2025.10LangChain 1.0 LangGraph 1.0 同步发版create_agent明确构建在 LangGraph 之上LangGraph 退回纯运行时定位注意最后一行LangChain 1.0 把旧功能挪进langchain-classic整个包聚焦在create_agent middleware 上——而create_agent官方原话是 We built this implementation on top of langgraphto take advantage of the underlying agent runtime。三、最容易被误读的「搬家事件」LangGraph 1.0 的唯一显著变化是langgraph.prebuilt模块废弃create_react_agent这个预制件搬进了langchain.agents变成create_agent。很多人看到「功能从 langgraph 移到 langchain」就得出「langgraph 变成了 langchain 的封装」——方向完全反了以前langgraph.prebuilt.create_react_agent ← agent 预制件住在 langgraph 家 现在langchain.agents.create_agent ← 预制件搬进了 langchain 家 但发动机始终是 langgraph没换过搬完之后LangChain 这层壳底下跑的还是 LangGraph。预制件搬家 ≠ 发动机搬家这是理解整个关系的关键。四、实测证据全在 pip 依赖表里光说概念没用我直接装了最新的包langgraph 1.2.12 / langchain 1.4.3 / deepagents 0.7.20用importlib.metadata把依赖关系扒出来import importlib.metadata as md for p in [langgraph, langchain]: reqs [str(r) for r in md.requires(p) or []] print(p, [r for r in reqs if langgraph in r.lower() or langchain in r.lower()])实测输出langgraph 依赖 - [langchain-core2,1.4.7, langgraph-checkpoint..., langgraph-prebuilt..., langgraph-sdk...] langchain 依赖 - [langchain-core..., langgraph1.3.0,1.2.11, langchain-openai, langchain-anthropic, ...]看清楚这两行langgraph 不依赖 langchain——它只依赖 langchain-core基础类型和自己家的 checkpoint/prebuilt/sdklangchain 依赖 langgraph1.2.11——实锤被依赖的是底层。证据二返回类型。用create_agent创建一个 agent看它返回什么from langchain.agents import create_agent agent create_agent(modelollama:qwen3:0.6b, tools[], system_prompthi) print(type(agent)) # class langgraph.graph.state.CompiledStateGraph类型名里的 module 是langgraph.graph.state——create_agent返回的就是一个 LangGraph 编译图。证据三LangGraph 裸图独立可跑。不写任何 agent 逻辑纯图from langgraph.graph import StateGraph, START, END from typing_extensions import TypedDict class S(TypedDict): text: str def node_a(state: S): return {text: state[text] A} def node_b(state: S): return {text: state[text] B} g StateGraph(S) g.add_node(a, node_a); g.add_node(b, node_b) g.add_edge(START, a); g.add_edge(a, b); g.add_edge(b, END) print(g.compile().invoke({text: })) # {text: AB}PyPI 官方描述原话LangGraph is built by LangChain Inc, the creators of LangChain,but can be used without LangChain。五、现在的完整分层把三条证据合起来2026 年的分层就是一张图DeepAgents 规划 / 文件系统 / 子 agent / skills强观点 harness ↓ 依赖 LangChain create_agent middleware标准 agent 抽象 ↓ 构建在其上 LangGraph 图运行时持久化执行、streaming、checkpoint、human-in-the-loop ↓ 共享基础类型 langchain-core Message、Tool 等基础抽象记忆方法只有一句封装方向永远是高层包低层——DeepAgents 包 LangChainLangChain 包 LangGraph。六、面试怎么答三句金句面试官问「LangChain 和 LangGraph 什么关系」时按这三句答关系句「方向是 LangChain 封装 LangGraph不是反过来。同一家公司但 LangGraph 可以脱离 LangChain 独立用——单独pip install langgraph就能跑。」演进句「create_react_agent从 langgraph.prebuilt 搬进了 langchain.agents社区使用习惯收敛到标准 agent loopLangGraph 退回纯运行时专注持久化执行和 HITL。」选型句「简单工具调用用create_agent要精确控制流程直接写 LangGraph 图长周期多步任务用 DeepAgents。」七、选型结论表场景用什么理由标准 tool-calling agentlangchain.agents.create_agent最快middleware 可定制精确控制流程分支、审批、确定性步骤混排直接写 LangGraphStateGraph图编排的原生能力长周期多步任务deep research、代码类DeepAgents自带规划、文件系统、子 agent纯工作流无 LLM 决策LangGraph 裸图或普通代码别为了用框架而用框架写在最后这个关系的判断其实不靠记忆靠一条可验证的规则看依赖表。被依赖的是底层封装的是上层。下次再有新的 Lang 系包出来先pip show一下依赖方向立刻清楚。如果这篇文章帮你理清了关系点个收藏对分层有不同理解欢迎评论区交流。原创声明本文为原创文章实测数据基于 langgraph 1.2.12 / langchain 1.4.3 / deepagents 0.7.20转载请注明出处。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Microsoft Edge主页被劫持?四层控制机制深度解析 2026/10/1 20:36:33

Microsoft Edge主页被劫持?四层控制机制深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
macOS安装Redis实操:配置、持久化与避坑指南 2026/10/1 20:36:32

macOS安装Redis实操:配置、持久化与避坑指南

先说个我自己的经历。刚转行做后端那会儿,领导扔给我一台Mac电脑,第一件事就是"把Redis装上,配好,项目要用了"。我当时觉得很简单,brew install redis一条命令跑完,再brew services start redis&…

阅读更多 →
openrig:基于4040铝型材的DIY模拟驾驶舱搭建全攻略 2026/10/1 20:36:32

openrig:基于4040铝型材的DIY模拟驾驶舱搭建全攻略

1. 为什么会有 openrig:从“想玩但又买不起成品”开始先交代一下背景。我长期玩模拟类游戏,从模拟飞行到拉力赛到 F1 赛季模式都会碰,家里原来一直用办公椅配入门方向盘,玩久了腰疼、踏板乱滑、显示器距离怎么调都不对。看了一圈市…

阅读更多 →
飞书实习面试全流程复盘:从简历到HR面的关键经验 2026/10/1 20:36:32

飞书实习面试全流程复盘:从简历到HR面的关键经验

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
一键开关机芯片选型全攻略:功耗、时序、拓扑与调试 2026/10/1 20:36:19

一键开关机芯片选型全攻略:功耗、时序、拓扑与调试

1. 一键开关机芯片到底在解决什么问题 1.1 一键开关机芯片是个什么东西 先聊一个最基础的认知。很多人第一次接触"一键开关机芯片"这个分类的时候,都会以为它就是一个电子版的机械自锁开关:按一下导通、再按一下断开。实际完全不是这么回事。…

阅读更多 →
Xvisor设备虚拟化三要素:区域、模拟器与MMIO陷出 2026/10/1 20:36:05

Xvisor设备虚拟化三要素:区域、模拟器与MMIO陷出

1. 项目概述:从裸机视角看设备虚拟化的底层逻辑Xvisor 是一个开源的 Type-1(裸金属)虚拟机监控器(Hypervisor),它的设计哲学非常硬核——不依赖任何宿主操作系统,直接运行在物理硬件之上。当你看…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉