Q102: LangChain LangGraph DeepAgent
https://docs.langchain.com/oss/python/concepts/products
这个文章核心内容是
好的,以下是该文章核心内容的中文总结。
这篇文章的核心是将 Agent 开发栈分为三个不同的层次:Agent 框架(Agent Frameworks)、Agent 运行时(Agent Runtimes) 和 Agent 工具包(Agent Harnesses)。文章用 LangChain 生态的工具作为主要例子,帮助你根据项目复杂度和需求选择正确的工具。
🧱 三个核心层次对比
| 层次 | 是什么 | 核心功能与价值 | 适用场景 | 典型工具 |
|---|---|---|---|---|
| 🤖 Agent 框架 | 简化 LLM 应用开发的高级抽象 | - 易用的抽象接口 - 广泛的模型和工具集成 - 标准化的 Agent 循环 | - 快速上手 - 构建相对简单的 Agent - 保持团队开发一致性 | LangChain Vercel AI SDK CrewAI |
| ⚙️ Agent 运行时 | 运行复杂、有状态 Agent 的生产级基础设施 | - 持久化执行(故障后可恢复) - 人机协作(HITL) - 状态流式传输与持久化 - 细粒度控制 | - 长时间运行、有状态的工作流 - 混合逻辑与 AI 的复杂任务 - 需要底层精细控制 | LangGraph Temporal Inngest |
| 🧰 Agent 工具包 | 高度预设、开箱即用的框架,面向复杂 Agent | - 内置规划能力(待办清单) - 子 Agent 任务委派 - 集成文件系统访问 - 高级 Token 管理 | - 需要长时间自主运行的 Agent - 处理复杂多步任务 - 希望直接使用预置工具和提示词 | Deep Agents SDK Claude Agent SDK |
🔗 层次之间的关系
- LangChain 构建于 LangGraph 之上:LangChain 框架实际上是以 LangGraph 运行时为基础的。这意味着你可以只使用 LangChain 的抽象接口,而无需直接操作 LangGraph。这也方便你未来从简单项目平滑过渡到复杂项目。
- 目标相似,控制粒度不同:不同层次可以实现类似的功能,区别在于控制粒度和集成深度。Deep Agents 这类工具包提供最丰富的开箱即用功能,而 LangGraph 这类运行时则给你最精细的控制权。
💡 如何选择合适的层次
根据项目的复杂度来决定:
- 从框架开始:如果你是新手,或者项目比较简单,推荐从 LangChain 开始,因为它最简单易用。
- 需要可靠性时选用运行时:当你的 Agent 需要持久化执行(比如故障恢复)或管理复杂的长时间运行状态时,应当考虑直接使用 LangGraph 来获得底层控制能力。
- 追求高级自主能力时选用工具包:如果你需要构建长时间高度自治的 Agent,并且希望直接拥有内置的规划、子任务管理等能力,那么 Deep Agents SDK 是更合适的选择。
如果想深入了解其中某个层次或工具的更多细节,欢迎继续提问。