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

# pip install -qU deepagents
from deepagents import create_deep_agent

def get_weather(city: str) -> str:
    """获取指定城市的天气。"""
    return f"{city} 总是阳光明媚!"

agent = create_deep_agent(
    tools=[get_weather],
    system_prompt="你是一个有用的助手",
)

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

何时使用 Deep Agents

当你想要构建能够实现以下功能的智能体时,请使用 Deep Agents SDK
  • 处理复杂的多步骤任务,这些任务需要规划和分解
  • 通过文件系统工具和自动摘要管理大量上下文
  • 切换文件系统后端,以使用内存状态、本地磁盘、持久化存储、沙箱你自己的自定义后端
  • 在使用沙箱后端时,通过 execute 工具执行 shell 命令
  • 将工作委派给专门的子代理以实现上下文隔离
  • 跨对话和线程持久化记忆
  • 通过人在回路工作流,对敏感操作要求人工批准
  • 使用任何支持工具调用的模型——在领先模型和开源模型之间提供商无关
对于构建更简单的智能体,可以考虑使用 LangChain 的 create_agent 或构建自定义的 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

ACP

通过 ACP 在代码编辑器中使用 deep agents

参考文档

查看 deepagents API 参考