这是构建由 LLM 驱动的智能体和应用程序的最简单的方式 —— 包括内置的任务规划功能、上下文管理的文件系统、子智能体扩展和长期记忆等功能。 您可以将 Deep Agents 用于任何任务,包括复杂的、多步骤的任务。 我们将 deepagents 视为一个”智能体编排框架 Agent harnesses”。它与其他智能体框架的核心工具调用循环相同,但内置了工具和一些功能特性。 deepagents 是一个独立的库,构建在 LangChain 智能体核心块之上。它使用 LangGraph 运行时来实现持久化执行、流式处理、人工中断及其他功能。 deepagents 仓库 包含:
  • Deep Agents SDK:用于构建能够处理任何任务的智能体的包
  • Deep Agents CLI:基于 Deep Agents SDK 构建的终端编码智能体
  • ACP 集成:用于在 Zed 等代码编辑器中通过 ACP(智能体客户端协议)使用 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"The weather in {city} is always sunny!"

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
  • 处理需要规划和分解的复杂多步骤任务
  • 通过文件系统工具和[摘要]总结(/oss/python/deepagents/context-engineering#summarization)来管理大量上下文
  • 切换文件系统功能支撑,需在内存、本地磁盘、持久化存储、沙盒您自己的自定义后端之间切换文件系统功能支撑
  • 使用沙盒后端时通过 execute 工具执行 shell 命令
  • 委托任务给专门的子智能体,以实现上下文隔离
  • 跨对话和线程保持记忆持久化
  • 使用声明式权限规则控制系统文件访问,以限制智能体可以读取或写入的文件
  • 通过人工中断工作流对敏感操作进行人工审批
  • 使用任何支持工具调用的模型—— 从最前沿模型到开源模型均为供应商无关
对于构建更简单的智能体,请考虑使用 LangChain 的 create_agent 或构建自定义的 LangGraph 工作流。

核心能力

规划和任务分解

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

API 参考

查看 deepagents API 参考文档