跳到主要内容
Deep agents 是开始构建基于 LLM 的代理和应用程序的最简单方法——内置了任务规划、上下文管理的文件系统、子代理生成和长期记忆功能。您可以将 deep agents 用于任何任务,包括复杂的多步骤任务。 我们认为 deepagents 是一个 “代理框架”。它与其他代理框架相同的核心调用循环,但具有内置工具和功能。 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

当您希望构建能够
  • 处理复杂的、多步骤的任务,需要规划和分解
  • 管理大量上下文,通过文件系统工具
  • 委派工作 给专门的子代理,以实现上下文隔离
  • 持久化记忆 在对话和线程之间
对于构建更简单的代理,请考虑使用 LangChain 的 createAgent 或构建自定义 LangGraph 工作流。 当您希望在命令行上使用交互式 deep agent 进行编码或其他任务时,请使用 Deep Agents CLI
  • 自定义 具有技能和记忆的代理。
  • 教导 代理在您使用它们时了解您的偏好、常见模式和自定义项目知识。
  • 执行代码 在您的机器上或在沙盒中。

核心功能

规划和任务分解

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

上下文管理

文件系统工具(lsread_filewrite_fileedit_file)允许代理将大型上下文卸载到内存或文件系统存储中,从而防止上下文窗口溢出并能够处理变长工具结果。

子代理生成

内置的 task 工具使代理能够生成专门的子代理以实现上下文隔离。这保持了主代理的上下文清晰,同时深入研究特定的子任务。

长期记忆

使用 LangGraph 的 Memory Store 扩展具有线程间持久记忆的代理。代理可以保存和检索以前对话中的信息。

入门


将这些文档连接到 Claude、VSCode 等,以获得实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.