Skip to main content
开始构建由大语言模型驱动的智能体和应用程序的最简单方式——内置任务规划、用于上下文管理的文件系统、子代理生成以及长期记忆等功能。 你可以将 deep agents 用于任何任务,包括复杂的多步骤任务。 我们将 deepagents 视为一种”智能体框架”。它与其他智能体框架的核心工具调用循环相同,但内置了工具和功能。 deepagents 是一个基于 LangChain 智能体核心构建模块并使用 LangGraph 工具在生产环境中运行智能体的独立库。 deepagents 库包含:
  • Deep Agents SDK:一个用于构建能够处理任何任务的智能体的包
  • Deep Agents CLI:一个基于 Deep Agents SDK 构建的终端编码智能体
  • ACP 集成:一个 Agent Client Protocol 连接器,用于在 Zed 等代码编辑器中使用 deep agents
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 }) => `${city} 总是阳光明媚!`,
  {
    name: "get_weather",
    description: "获取指定城市的天气",
    schema: z.object({
      city: z.string(),
    }),
  },
);

const agent = createDeepAgent({
  tools: [getWeather],
  system: "你是一个有用的助手",
});

console.log(
  await agent.invoke({
    messages: [{ role: "user", content: "东京的天气怎么样?" }],
  })
);
请参阅快速入门自定义指南,开始使用 Deep Agents 构建你自己的智能体和应用程序。
使用 LangSmith 来追踪请求、调试智能体行为并评估输出。设置 LANGSMITH_TRACING=true 和你的 API 密钥即可开始使用。

何时使用 Deep Agents

当你想要构建能够实现以下功能的智能体时,请使用 Deep Agents SDK
  • 处理复杂的多步骤任务,这些任务需要规划和分解
  • 通过文件系统工具和自动摘要管理大量上下文
  • 切换文件系统后端,以使用内存状态、本地磁盘、持久化存储、沙箱你自己的自定义后端
  • 在使用沙箱后端时,通过 execute 工具执行 shell 命令
  • 将工作委派给专门的子代理以实现上下文隔离
  • 跨对话和线程持久化记忆
  • 通过人在回路工作流,对敏感操作要求人工批准
  • 使用任何支持工具调用的模型——在领先模型和开源模型之间提供商无关
对于构建更简单的智能体,可以考虑使用 LangChain 的 createAgent 或构建自定义的 LangGraph 工作流。 当你需要一个基于 Deep Agents SDK 构建的命令行编码智能体时,请使用 Deep Agents CLI
  • 交互式或非交互式运行——将 CLI 用作聊天式编码智能体,或使用 -n 管道传输任务以实现可编写脚本的无头执行。
  • 使用技能和记忆自定义智能体。
  • 在使用过程中教导智能体了解你的偏好、常见模式和自定义项目知识。
  • 在你的机器或沙箱中执行代码
  • 通过外部模型上下文协议服务器的 MCP 工具进行扩展

核心功能

规划和任务分解

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

上下文管理

文件系统工具(lsread_filewrite_fileedit_file)允许智能体将大量上下文卸载到内存或文件系统存储中,防止上下文窗口溢出,并支持处理可变长度的工具结果。自动摘要功能在上下文窗口变长时压缩较早的对话消息,使智能体在长时间会话中保持高效。

Shell 执行

当使用沙箱后端时,智能体会获得一个 execute 工具来运行 shell 命令,用于测试、构建、git 操作和系统任务。沙箱后端提供隔离,使智能体能够执行代码而不会危及你的主机系统。

可插拔的文件系统后端

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

子代理生成

内置的 task 工具使智能体能够生成专门的子代理以实现上下文隔离。这可以保持主代理的上下文清洁,同时仍能深入处理特定的子任务。

长期记忆

使用 LangGraph 的记忆存储扩展智能体,实现跨线程的持久化记忆。智能体可以保存和检索先前对话的信息。

人在回路

使用 LangGraph 的中断功能为敏感工具操作配置人工批准。控制哪些工具在执行前需要确认。

技能

使用可重用的技能扩展智能体,这些技能提供专门的工作流、领域知识和自定义指令。

智能默认值

附带预设的系统提示,教导模型如何有效使用其工具——先规划后行动、验证工作并管理上下文。根据需要自定义或替换默认值。

开始使用

SDK 快速入门

构建你的第一个 deep agent

自定义

了解 SDK 的自定义选项

模型

配置模型和提供商

后端

选择和配置可插拔的文件系统后端

人在回路

为敏感操作配置批准流程

CLI

使用 Deep Agents CLI

参考文档

查看 deepagents API 参考