Skip to main content
Deep agents 是开始构建由 LLM 驱动的智能体和应用程序的最简单方法——具有用于任务规划、用于上下文管理的文件系统、子智能体生成和长期记忆的内置功能。 你可以使用 deep agents 处理任何任务,包括复杂的多步骤任务。 我们将 deepagents 视为一个 “智能体工具集 (agent harness)“。它与其他智能体框架具有相同的核心工具调用循环,但具有内置的工具和功能。 deepagents 是一个独立的库,建立在 LangChain 的智能体核心构建块之上,并使用 LangGraph 的工具在生产环境中运行智能体。 deepagents 库包含:
  • Deep Agents SDK: 一个用于构建可以处理任何任务的智能体的包
  • Deep Agents CLI: 一个构建在 deepagents 包之上的终端编码智能体
LangChain 是为你的智能体提供核心构建块的框架。 要了解更多关于 LangChain、LangGraph 和 Deep Agents 之间的区别,请参阅 框架、运行时和工具集

创建一个 deep agent

import * as z from "zod";
// npm install deepagents langchain @langchain/core
import { createDeepAgent } from "deepagents";
import { tool } from "langchain";

const getWeather = tool(
  ({ city }) => `It's always sunny in ${city}!`,
  {
    name: "get_weather",
    description: "Get the weather for a given city",
    schema: z.object({
      city: z.string(),
    }),
  },
);

const agent = createDeepAgent({
  tools: [getWeather],
  system: "You are a helpful assistant",
});

console.log(
  await agent.invoke({
    messages: [{ role: "user", content: "What's the weather in Tokyo?" }],
  })
);
请参阅 快速开始自定义指南 以开始使用 deep agents 构建你自己的智能体和应用程序。
使用 LangSmith 来追踪请求、调试智能体行为并评估输出。设置 LANGSMITH_TRACING=true 和你的 API 密钥即可开始。

何时使用 Deep Agents

当你想要构建具有以下能力的智能体时,请使用 Deep Agents SDK
  • 处理复杂的多步骤任务,这些任务需要规划和分解
  • 通过文件系统工具 管理大量上下文
  • 交换文件系统后端 以使用内存状态、本地磁盘、持久存储、沙盒你自己的自定义后端
  • 将工作委托 给专门的子智能体以进行上下文隔离
  • 跨对话和线程 持久化记忆
对于构建更简单的智能体,请考虑使用 LangChain 的 createAgent 或构建自定义 LangGraph 工作流。 当你想要在命令行上使用交互式 deep agent 进行编码或其他任务时,请使用 Deep Agents CLI
  • 使用技能和记忆 自定义 智能体。
  • 在使用过程中 教导 智能体关于你的偏好、常见模式和自定义项目知识。
  • 在你的机器上或沙盒中 执行代码

核心功能

规划和任务分解

Deep agents 包含一个内置的 write_todos 工具,使智能体能够将复杂任务分解为离散步骤,跟踪进度,并随着新信息的出现调整计划。

上下文管理

文件系统工具 (ls, read_file, write_file, edit_file) 允许智能体将大型上下文卸载到内存或文件系统存储中,防止上下文窗口溢出,并能够处理可变长度的工具结果。

可插拔的文件系统后端

虚拟文件系统由 可插拔后端 提供支持,你可以根据用例进行交换。从内存状态、本地磁盘、用于跨线程持久化的 LangGraph 存储、用于隔离代码执行的 沙盒 (Modal, Daytona, Deno) 中进行选择,或通过组合路由组合多个后端。你也可以实现自己的自定义后端。

子智能体生成

内置的 task 工具使智能体能够生成专门的子智能体以进行上下文隔离。这使得主智能体的上下文保持干净,同时仍然深入研究特定的子任务。

长期记忆

使用 LangGraph 的 Memory Store 扩展具有跨线程持久记忆的智能体。智能体可以从以前的对话中保存和检索信息。

开始使用