Skip to main content
LangChain 维护着几个开源软件包,帮助您构建代理。每个软件包在代理开发堆栈中都具有不同的用途。理解 代理框架代理运行时代理工具包 之间的区别有助于您选择最适合您需求的工具。
框架运行时工具包
价值添加
  • 抽象化
  • 集成
  • 持久执行
  • 流式传输
  • 人机交互
  • 持久性
  • 预定义工具
  • 提示模板
  • 子代理
何时使用
  • 快速开始构建
  • 标准化团队的构建方式
  • 低级控制
  • 长时间运行、状态化的工作流和代理
  • 更自主的代理
  • 面对复杂、非确定性任务的代理
选项
  • LangChain
  • Vercel 的 AI SDK
  • CrewAI
  • OpenAI 代理 SDK
  • Google ADK
  • LlamaIndex
  • LangGraph
  • Temporal
  • Inngest
  • Deep Agents SDK
  • Claude 代理 SDK
  • Manus

代理框架(如 LangChain)

代理框架提供了抽象化,使使用大模型构建代理变得更加容易。 LangChain 是一个代理框架,提供结构化内容块、代理循环和中间件等抽象。 LangChain 的抽象设计旨在易于快速开始使用,同时仍能为高级用例提供灵活性。 虽然 LangChain 建立在 LangGraph 之上,但您无需了解 LangGraph 即可使用 LangChain。 其他代理框架示例包括Vercel 的 AI SDKCrewAIOpenAI 代理 SDKGoogle ADKLlamaIndex 等。

使用 LangChain 的时机

使用 LangChain 时:
  • 您希望快速构建代理和自主应用程序。
  • 您需要标准的模型、工具和代理循环抽象。
  • 您希望使用易于使用的框架,同时仍能提供灵活性。
  • 您正在构建简单的代理应用程序,无需复杂的编排需求。

代理运行时(如 LangGraph)

代理运行时提供了在生产中运行代理所需的工具。 支持的工具可能包括:
  • 持久执行:代理在失败后仍然存在,并可以长时间运行,从上次中断的地方继续执行。
  • 流式传输:支持流式工作流和响应。
  • 人机交互:通过检查和修改代理状态来纳入人类监督。
  • 持久性:线程级和跨线程的持久性,用于状态管理。
  • 低级控制:直接控制代理编排,无需高级抽象。
LangGraph 是一个低级编排框架和运行时,用于构建、管理和部署长时间运行的状态化代理。 代理框架通常处于较高层次,并基于代理运行时运行。例如,LangChain 1.0 基于 LangGraph 构建。 其他代理运行时示例包括TemporalInngest 等持久执行引擎。

使用 LangGraph 的时机

使用 LangGraph 时:
  • 您需要对代理编排进行精细的低级控制。
  • 您需要为长时间运行的状态化代理提供持久执行。
  • 您正在构建结合确定性和自主步骤的复杂工作流。
  • 您需要为代理部署提供生产就绪的基础架构。

代理工具包(如 Deep Agents SDK)

代理工具包是具有内置工具和功能的意见性、开箱即用框架,用于构建复杂的长时间运行代理。 支持的工具可能包括:
  • 规划能力:通过待办事项列表跟踪多个任务。
  • 任务委派:分配工作并保持上下文干净使用子代理。
  • 文件系统:在不同的插件存储后端上读写访问文件。
  • 令牌管理:对话历史记录总结和大型工具结果移除。
Deep Agents SDK 基于 LangGraph 并添加了规划能力、用于上下文管理的文件系统、启动子代理的能力等。 Deep Agents 旨在处理需要计划和分解的复杂多步骤任务。 示例任务包括与搜索结果、脚本和其他状态化内容交互。 其他代理工具包示例包括Claude 代理 SDKManus 等其他编码 CLI。

使用 Deep Agents SDK 的时机

使用 Deep Agents SDK 时:
  • 您正在构建长时间运行的代理。
  • 您正在构建需要处理复杂多步骤任务的代理。
  • 您希望使用预定义工具,如文件系统操作、bash 执行和自动化上下文工程。
  • 您希望使用预定义提示和子代理。

功能比较

虽然您可以使用 LangChain、LangGraph 和 Deep Agents 完成类似的任务,但它们集成的层次有所不同:

更多信息