Skip to main content
开始构建由 LLM 驱动的智能体和应用程序的最简单方法——具备任务规划、用于上下文管理的文件系统、子智能体生成和长期记忆等内置功能。 你可以将 Deep Agents 用于任何任务,包括复杂的多步任务。 我们将 deepagents 视为一个 “agent harness”。它与其他 agent 框架拥有相同的核心工具调用循环,但具备内置工具和功能。 deepagents 是一个建立在 LangChain 核心 agent 构建块之上的独立库。它使用 LangGraph 运行时来实现持久执行、流式传输、人机协同(human-in-the-loop)等功能。 deepagents 仓库 包含:
  • Deep Agents SDK:一个用于构建能够处理任何任务的智能体的包
  • Deep Agents CLI:一个建立在 Deep Agents SDK 之上的终端编码智能体
  • ACP 集成:一个 Agent Client Protocol 连接器,用于在 Zed 等代码编辑器中使用 deep 智能体
LangChain 是提供智能体核心构建块的框架。 要了解有关 LangChain、LangGraph 和 Deep Agents 之间差异的更多信息,请参阅 Frameworks, runtimes, and harnesses

创建 deep 智能体

# pip install -qU deepagents langchain-google-genai
from deepagents import create_deep_agent

def get_weather(city: str) -> str:
    """Get weather for a given city."""
    return f"It's always sunny in {city}!"

agent = create_deep_agent(
    model="google_genai:gemini-3.1-pro-preview",
    tools=[get_weather],
    system_prompt="You are a helpful assistant",
)

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

何时使用 Deep Agents

当你想要构建能够执行以下操作的智能体时,请使用 Deep Agents SDK
  • 处理复杂的多步任务,需要规划和分解
  • 管理大量上下文,通过文件系统工具和 summarization
  • 交换文件系统后端,以使用内存状态、本地磁盘、持久化存储、sandboxes你自己的自定义后端
  • 执行 shell 命令,在使用 sandbox backend 时通过 execute 工具
  • 委派工作 给专门的子智能体以实现上下文隔离
  • 持久化记忆 跨对话和线程
  • 控制文件系统访问,使用声明式 permission rules 限制智能体可以读取或写入的文件
  • 需要人工批准 敏感操作,通过 human-in-the-loop 工作流
  • 使用任何模型,支持工具调用——跨前沿和开放模型的 provider agnostic
对于构建更简单的智能体,请考虑使用 LangChain 的 create_agent 或构建自定义 LangGraph 工作流。

核心功能

规划和任务分解

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

上下文管理

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

Shell 执行

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

可插拔文件系统后端

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

子智能体生成

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

长期记忆

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

文件系统权限

声明 permission rules 来控制智能体可以读取或写入哪些文件和目录。子智能体可以继承或覆盖父级的规则。

人机协同(Human-in-the-loop)

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

技能

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

智能默认值

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

开始使用

SDK 快速入门

构建你的第一个 deep 智能体

自定义

了解 SDK 的自定义选项

模型

配置模型和提供商

后端

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

Sandboxes

在隔离环境中执行代码

权限

使用权限规则控制文件系统访问

人机协同(Human-in-the-loop)

配置敏感操作的批准

CLI

使用 Deep Agents CLI

ACP

通过 ACP 在代码编辑器中使用 deep 智能体

参考

查看 deepagents API 参考