LangChain、LangGraph、Deep Agents、Managed Deep Agents:四个框架到底该选哪个?
这几年 AI Agent 越来越火,相关开发框架也开始扎堆出现。
如果你关注过 LangChain 生态,大概率见过这几个名字:
LangChain
LangGraph
Deep Agents
Managed Deep Agents
名字看起来像一家人,实际上也确实是一家人。但它们的定位并不相同。
有点像一家公司的四个岗位:有人负责提供工具,有人负责安排流程,有人负责带队完成复杂任务,还有人干脆把整套基础设施都给你准备好了。
问题来了:开发一个 Agent ,到底应该选哪个?
先别急着全部学一遍。我们一个一个来看。
一、先搞清楚:它们到底有什么区别?
先用一句话概括:
| 框架 | 核心定位 | 通俗理解 |
|---|---|---|
| LangChain | Agent Framework | 提供工具和积木 |
| LangGraph | Agent Runtime | 负责流程和状态管理 |
| Deep Agents | Agent Harness | 自带规划能力的智能团队 |
| Managed Deep Agents | 托管运行平台 | 连服务器和运行环境也帮你管 |
这里有一个容易误解的地方:四者不是完全平级的竞争关系。

LangGraph 更接近底层运行引擎,LangChain 提供开发抽象和集成能力,Deep Agents 则在此基础上封装出更完整的自主 Agent 能力。
Managed Deep Agents 又往前走了一步,解决的是 Agent 部署和生产运行的问题。
二、LangChain:给你一套积木,怎么搭自己决定
LangChain 可以说是这个生态里最容易入门的选择。
它提供了模型、 Prompt 、Tool、Retriever、Agent 等常用组件,让开发者不用每次都从零开始。
例如,你想开发一个能够查询天气、搜索 知识库 、调用第三方 API 的 Agent。
基本流程就是:
用户提出问题。
LLM 分析用户意图。
决定是否调用工具。
获取工具执行结果。
根据结果生成回答。
LangChain 已经帮你处理好了 Agent 与工具之间的基本循环。
它的优点是简单、灵活、集成丰富。
但它不会替你设计所有复杂业务流程。需要什么功能,自己组合;需要什么规则,自己添加。
适合什么场景?
RAG 知识库问答
简单 Tool Calling
数据查询 Agent
API 自动化
普通客服和助手
如果只是想做一个能调用工具的 AI 助手,没必要一上来就请出一支 Agent 军团。
三、LangGraph:不想让 AI 自由发挥?那就给它画张流程图
LangChain 让 Agent 自己决定下一步做什么,但有些业务可不能这么随意。
比如订单审批:
先检查订单信息。
再验证支付状态。
然后检查库存。
满足条件才能发货。
遇到异常还要人工审批。
这时候,如果把所有决定都交给 LLM ,就像让一个刚入职的实习生负责整个公司的财务审批。
勇气可嘉,风险也不小。
LangGraph 就是解决这类问题的。
它采用 Graph 的方式组织工作流,核心概念包括:
State:记录当前任务状态。
Node:执行具体任务。
Edge:定义执行顺序。
Conditional Edge:根据条件决定下一步。
Checkpoint:保存执行进度。
Interrupt:暂停任务,等待人工介入。
最大的特点就是:流程由开发者控制,LLM 只在需要智能判断的地方参与。
例如代码审核:
提交代码 → 静态检查 → 自动测试 → 判断结果 → 通过或返回修改。
哪一步必须执行、失败后如何处理、什么时候需要人工介入,都可以明确规定。
适合什么场景?
复杂业务工作流
多步骤审批
多 Agent 协作
需要暂停和恢复的任务
对执行顺序和可靠性要求较高的系统
一句话:如果业务流程比 AI 的自由发挥更重要,LangGraph 通常更合适。
四、Deep Agents:不只会调用工具,还要会自己安排工作
前面两个框架解决的是基础构建和流程控制问题。
但如果你希望 Agent 完成的任务是:
「帮我研究一下竞品,收集资料,分析优缺点,最后整理成一份报告。」
事情就不一样了。
这种任务没有固定的执行步骤。Agent 需要自己拆解目标、安排任务、搜索资料、分析结果,甚至在过程中调整计划。
这就是 Deep Agents 擅长的方向。
它可以理解为一个自带工作方法的高级 Agent Harness。
主要提供以下能力:
1. Planning:任务规划
把复杂目标拆分成多个小任务,并跟踪任务进度。
2. Subagents:子 Agent
可以把任务分配给不同的子 Agent。
例如研究 Agent 负责搜索资料,分析 Agent 负责对比数据,写作 Agent 负责生成报告。
主 Agent 最后整合结果。
3. Filesystem:文件系统
Agent 可以读写文件,保存研究资料、中间结果和最终报告。
4. Context Management:上下文管理
长任务容易遇到上下文越来越长的问题。Deep Agents 提供摘要压缩、工具结果卸载、子 Agent 上下文隔离等能力。
5. Skills 和 Memory:技能与记忆
可以让 Agent 按需加载技能说明,并在不同任务之间保留有用的信息。
这些能力组合起来,就能支持更复杂、更长时间的自主任务。
适合什么场景?
自主研究 Agent
Coding Agent
自动生成分析报告
多步骤数据分析
需要任务拆解和子 Agent 协作的应用
它有点像一个项目经理:你给它目标,它负责安排工作。
不过,项目经理也可能做出错误决策。Agent 越自主,越需要做好权限控制、执行验证和成本管理。
五、Managed Deep Agents:代码你写,服务器我来管
如果 Deep Agents 已经能帮你完成复杂任务,那么 Managed Deep Agents 解决的就是另一个问题:
Agent 开发完成后,怎么把它放到生产环境运行?
传统方式下,你不仅要写 Agent,还要考虑:
运行服务器
执行环境
持久化存储
任务调度
运行监控
部署和扩容
这些工作加起来,有时候 Agent 还没上线,运维工作已经先上线了。
Managed Deep Agents 就是为了减少这些工作。
它运行在 LangSmith Cloud 上,使用开源 Deep Agents Harness。你负责定义 Agent 的指令、工具和模型,平台负责托管运行环境及相关生产基础设施。
开发流程也比较直接:
mda dev:本地开发和调试。mda deploy:部署到 LangSmith。
它还提供持久化记忆、沙箱、定时任务等生产能力。
适合什么场景?
想快速把 Deep Agent 部署上线。
不想自己维护 Agent 运行基础设施。
需要长期运行、定时执行的 Agent。
希望把精力集中在业务逻辑上。
当然,托管不是免费的午餐。平台费用、数据安全、服务区域、供应商依赖等问题,还是需要提前考虑。
如果你希望完全掌控运行环境,也可以使用 Deep Agents SDK 自行部署。
六、四个框架横向对比
| 对比维度 | LangChain | LangGraph | Deep Agents | Managed Deep Agents |
|---|---|---|---|---|
| 核心定位 | 开发框架 | 运行引擎 | Agent Harness | 托管平台 |
| 抽象程度 | 中 | 低 | 高 | 高 |
| 流程控制 | Agent Loop | 自定义 Graph | Agent 自主规划 | 托管 Deep Agents |
| 任务拆解 | 自行实现 | 自行实现 | 内置能力 | 内置能力 |
| 子 Agent | 可组合实现 | Subgraph | 内置委派能力 | 内置委派能力 |
| 上下文管理 | 自行配置 | 自行配置 | 内置能力 | 内置能力 |
| 持久化执行 | 依赖运行层 | 核心能力 | 基于 LangGraph | 托管支持 |
| 部署方式 | 自行部署 | 自行部署 | SDK 自行部署 | LangSmith Cloud |
需要注意,表格中的「内置」不代表所有功能都不需要配置,实际能力还取决于所用版本、后端和具体集成。
七、实际项目中,应该怎么选?
给几个实际例子:
场景一:开发一个企业知识库问答系统
用户提问,系统检索 向量数据库 ,再由 LLM 整理答案。
推荐:LangChain。
这种场景不需要复杂的任务规划,简单的 Agent Loop 就能满足需求。
场景二:开发一个自动化订单审批系统
需要检查订单、验证支付、检查库存,并在异常时暂停等待人工处理。
推荐:LangGraph。
业务步骤明确,流程必须可控,不适合让 Agent 随意发挥。
场景三:开发一个自动竞品研究系统
用户只提供一个产品名称,Agent 自己搜索资料、分析市场、比较竞争对手,最后生成报告。
推荐:Deep Agents。
这种任务目标明确,但执行路径不固定,适合自主规划和子 Agent 协作。
场景四:把竞品研究 Agent 部署成一个长期运行的服务
需要定时执行、持久化记忆,又不想自己维护服务器。
推荐:Managed Deep Agents。
它可以减少生产环境基础设施的搭建工作。
八、最后总结:别为了用框架而用框架
四者并不是非此即彼的关系。
它们可以组合使用:
LangChain 提供模型、工具和开发抽象。
LangGraph 负责底层状态管理和流程编排。
Deep Agents 在上面增加规划、上下文管理和子 Agent 等能力。
Managed Deep Agents 则负责托管 Deep Agents 的生产运行。
实际开发时,也不需要把四个框架全部用上。
我的建议是:
| 你的目标 | 优先选择 |
|---|---|
| 快速开发普通 Agent | LangChain |
| 构建复杂、可靠的业务流程 | LangGraph |
| 开发自主性较强的复杂 Agent | Deep Agents |
| 快速部署和托管 Agent | Managed Deep Agents |
如果你刚开始学习 Agent 开发,可以先理解 LangChain 的基本机制,再学习 LangGraph 的状态和流程控制,最后体验 Deep Agents。
但如果现在就要开发一个自主研究、自动编程或者复杂任务执行 Agent,也可以直接从 Deep Agents 入手。
记住一个原则:简单任务别搞复杂,复杂任务别硬凑简单框架。