LangChain 维护了多个开源包,帮助你构建 agent。每个包在 agent 开发栈中都有不同用途。了解 agent 框架agent 运行时agent harness 之间的区别,可以帮助你为需求选择合适工具。
框架运行时Harness
价值
  • 抽象
  • 集成
  • 持久执行
  • 流式传输
  • HITL
  • 持久化
  • 预定义工具
  • Prompt
  • Subagent
何时使用
  • 快速入门
  • 标准化团队构建方式
  • 低层控制
  • 长时间运行的有状态 workflow 和 agent
  • 更自主的 agent
  • 面对复杂、非确定性任务的 agent
选项
  • LangChain
  • Vercel’s AI SDK
  • CrewAI
  • OpenAI Agents SDK
  • Google ADK
  • LlamaIndex
  • LangGraph
  • Temporal
  • Inngest
  • Deep Agents SDK
  • Claude Agent SDK
  • Manus

Agent 框架(例如 LangChain)

Agent 框架提供抽象,让你在使用 LLM 构建应用时更容易上手。 LangChain 是一个 agent 框架,提供结构化内容块、agent loop 和 middleware 等抽象。 LangChain 的抽象旨在帮助你轻松上手,同时仍为高级用例提供所需的灵活性。 虽然 LangChain 构建在 LangGraph 之上,但你不需要了解 LangGraph 就能使用 LangChain。 其他 agent 框架示例包括 Vercel’s AI SDKCrewAIOpenAI Agents SDKGoogle ADKLlamaIndex 等。

何时使用 LangChain

在以下情况下使用 LangChain:
  • 你想快速构建 agent 和自主应用。
  • 你需要模型、工具和 agent loop 的标准抽象。
  • 你想要一个易用且仍然灵活的框架。
  • 你正在构建不需要复杂编排的直接 agent 应用。

Agent 运行时(例如 LangGraph)

Agent 运行时提供在生产环境运行 agent 所需的工具。 支持的工具可能包括:
  • 持久执行:Agent 可以在故障后继续存在,并长时间运行,从中断处恢复。
  • 流式传输:支持 workflow 和响应的流式传输。
  • Human-in-the-loop:通过检查和修改 agent state 纳入人工监督。
  • 持久化:用于 state 管理的 thread 级和跨 thread 持久化。
  • 低层控制:在没有高层抽象的情况下直接控制 agent 编排。
LangGraph 是一个低层编排框架和运行时,用于构建、管理和部署长时间运行的有状态 agent。 Agent 框架通常位于更高层,并运行在 agent 运行时之上。 例如,LangChain 1.0 构建在 LangGraph 之上。 其他 agent 运行时示例包括 TemporalInngest 和其他持久执行引擎。

何时使用 LangGraph

在以下情况下使用 LangGraph:
  • 你需要对 agent 编排进行细粒度、低层控制。
  • 你需要为长时间运行的有状态 agent 提供持久执行。
  • 你正在构建结合确定性步骤和 agentic 步骤的复杂 workflow。
  • 你需要用于 agent 部署的生产就绪基础设施。

Agent harness(例如 Deep Agents SDK)

Agent harness 是带有明确设计取向、开箱即用的框架,内置工具和能力,用于构建复杂且长时间运行的 agent。 支持的工具可能包括:
  • 规划能力:使用 to-do list 跟踪多个任务。
  • 任务委派:使用 subagent 委派工作,并保持上下文整洁。
  • 文件系统:在不同可插拔存储后端上读写文件。
  • Token 管理:对话历史摘要,以及大型工具结果驱逐。
Deep Agents SDK 构建在 LangGraph 之上,并添加规划能力、用于上下文管理的文件系统、生成 subagent 的能力等。 Deep Agents 专为需要规划和分解的复杂多步骤任务而设计。 示例任务包括在 state 中处理搜索结果、脚本和其他 artifact。 其他 agent harness 示例包括 Claude Agent SDKManus 和其他 coding CLI。

何时使用 Deep Agents SDK

在以下情况下使用 Deep Agents SDK
  • 你正在构建需要长时间运行的 agent。
  • 你正在构建需要处理复杂多步骤任务的 agent。
  • 你想使用预定义工具,例如文件系统操作、bash 执行和自动化上下文工程。
  • 你想使用预定义 prompt 和 subagent。

功能对比

虽然你可以用 LangChain、LangGraph 和 Deep Agents 完成类似任务,但集成它们的层级不同:

延伸阅读