LangChain 维护多个开源包来帮助您构建代理。每一个在代理开发堆栈中都有不同的用途。了解 代理框架, 代理运行时、 代理测试工具 帮助您选择适合您需求的工具。
| 框架 | 运行时 | 测试工具 | |
|---|---|---|---|
| 附加价值 |
|
|
|
| 何时使用 |
|
|
|
| 选项 |
|
|
|
代理框架(如 LangChain)
代理框架提供抽象,使在使用 LLM 构建时更容易入门。
LangChain 是一个提供结构化内容块、代理循环和中间件等抽象的代理框架。
LangChain 的抽象设计易于入门,同时仍提供高级用例所需的灵活性。
虽然 LangChain 构建于 LangGraph之上,但您不需要了解 LangGraph 也能使用 LangChain。
其他代理框架示例包括 Vercel AI SDK, CrewAI, OpenAI Agents SDK, Google ADK, LlamaIndex等,还有更多。
何时使用 LangChain
在以下情况下使用 LangChain:
- - 您想要快速构建智能体和自主应用程序。
- - 您需要对模型、工具和智能体循环使用标准抽象。
- - 您需要一个易于使用但仍具灵活性的框架。
- - 您正在构建简单的智能体应用程序,无需复杂的编排需求。
智能体运行时(如 LangGraph)
智能体运行时提供了在生产环境中运行智能体的工具。 支持的工具可能包括:
- 持久执行:智能体可在失败后持久化,并可长时间运行,从中断处恢复。
- 流式传输:支持流式工作流和响应。
- Human-in-the-loop:通过检查和修改智能体状态来纳入人工监督。
- 持久化:用于状态管理的线程级和跨线程持久化。
- 底层控制:直接控制智能体编排,不受高级抽象限制。
LangGraph 是一个用于构建、管理和部署长时间运行、有状态智能体的底层编排框架和运行时。
智能体框架通常是更高级别的,并在智能体运行时上运行。 例如,LangChain 1.0 构建在 LangGraph 之上。
智能体运行时的其他示例包括 Temporal, Inngest以及其他持久执行引擎。
何时使用 LangGraph
在以下情况下使用 LangGraph:
- - 您需要对智能体编排进行细粒度的底层控制。
- - 您需要对长时间运行的有状态智能体进行持久执行。
- - 您正在构建复杂的工作流,结合确定性步骤和智能体步骤。
- - 您需要用于智能体部署的生产就绪基础设施。
智能体工具包(如 Deep Agents SDK)
智能体工具包是固执己见的、包含电池的框架,内置了用于构建复杂长时间运行智能体的工具和功能。 支持的工具可能包括:
- 规划能力:使用待办事项列表追踪多个任务。
- 任务委托:委托工作并使用子智能体保持上下文清晰。
- 文件系统:对不同可插拔存储后端的文件进行读写访问。
- 令牌管理:对话历史摘要和大型工具结果清除。
该 Deep Agents SDK 构建在 LangGraph 之上,并添加了规划能力、用于上下文管理的文件系统、生成子智能体的能力等。 Deep Agents 专为需要规划和分解的复杂多步骤任务而设计。
示例任务包括处理状态中的搜索结果、脚本和其他产物。
其他 Agent 框架示例包括 Claude Agent SDK, Manus以及其他编码 CLI。
何时使用 Deep Agents SDK
使用 Deep Agents SDK when:
- - 您正在构建长时间运行的 Agent。
- - 您正在构建需要处理复杂多步骤任务的 Agent。
- - 您想使用预定义工具,例如文件系统操作、bash 执行和自动上下文工程。
- - 您想使用预定义提示词和子 Agent。
功能对比
虽然您可以使用 LangChain、LangGraph 和 Deep Agents 完成类似任务,但它们的集成级别不同:
| 功能 | LangChain | LangGraph | Deep Agents |
|---|---|---|---|
| 短期记忆 | 短期记忆 | 短期记忆 | StateBackend |
| 长期记忆 | 长期记忆 | 长期记忆 | 长期记忆 |
| 技能 | 多 Agent 技能 | - | 技能 |
| 子 Agent | 多 Agent 子 Agent | 子图 | 子 Agent |
| 人工介入 | 人工介入中间件 | 中断 | interrupt_on 参数 |
| 流式输出 | Agent 流式输出 | 流式输出 | 流式输出 |