Skip to main content
Deep agents 是使用 LLM 构建智能体和应用程序的最简单方式——内置任务规划、用于上下文管理的文件系统、子代理生成以及长期记忆等功能。 你可以将 deep agents 用于任何任务,包括复杂的多步骤任务。 我们将 deepagents 视为一个”智能体框架”。它与其他智能体框架具有相同的核心工具调用循环,但内置了更多工具和功能。 deepagents 是一个独立库,构建于 LangChain 的核心智能体构建块之上。它使用 LangGraph 运行时,支持持久化执行、流式传输、人机协作等特性。 deepagents 库包含:
  • Deep Agents SDK:用于构建能够处理任何任务的智能体的软件包
  • Deep Agents CLI:基于 deepagents 软件包构建的终端编程智能体
LangChain 是为智能体提供核心构建块的框架。 要了解 LangChain、LangGraph 和 Deep Agents 之间的区别,请参阅框架、运行时和智能体框架

创建 deep agent

# pip install -qU deepagents
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(
    tools=[get_weather],
    system_prompt="You are a helpful assistant",
)

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

何时使用 Deep Agents

当你需要构建能够完成以下任务的智能体时,请使用 Deep Agents SDK
  • 处理复杂的多步骤任务,需要规划和分解
  • 通过文件系统工具管理大量上下文
  • 切换文件系统后端,使用内存状态、本地磁盘、持久化存储、沙箱自定义后端
  • 将工作委派给专门的子代理以实现上下文隔离
  • 跨对话和线程持久化记忆
如果需要构建更简单的智能体,可以考虑使用 LangChain 的 create_agent 或构建自定义 LangGraph 工作流。 当你想在命令行中使用交互式 deep agent 进行编程或其他任务时,请使用 Deep Agents CLI
  • 自定义智能体的技能和记忆。
  • 在使用过程中教导智能体你的偏好、常见模式和自定义项目知识。
  • 在你的机器上或沙箱中执行代码

核心功能

规划与任务分解

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

上下文管理

文件系统工具(lsread_filewrite_fileedit_file)允许智能体将大量上下文卸载到内存或文件系统存储中,防止上下文窗口溢出,并支持处理可变长度的工具结果。

可插拔文件系统后端

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

子代理生成

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

长期记忆

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

开始使用