LangChain DeepAgents 速通指南(一)—— 一文详解DeepAgents核心特性

前言

上篇文章《LangChain不支持AgentSkills?那就从0到1实现一个》发布后,不少网友都在评论区反馈deepagents已经集成skill了,笔者通过官方文档阅读之后发现实现Skill机制的是LangChain团队推出的DeepAgents框架,虽然最终调研发现DeepAgents Cli的Skill机制不能满足我们的真实需求,但笔者对DeepAgents框架产生了浓厚的兴趣,几经学习实践下来也被它精妙的设计给折服。因此紧跟着LangChain/LangGraph 1.0 系列完成后,笔者接下来要分享DeepAgents相关的内容。本期分享首先和大家一起了解,DeepAgents是什么以及它的设计初衷。

本系列相关内容均列于笔者的专栏《深入浅出LangChain&LangGraph AI Agent 智能体开发》,该专栏适合所有对 LangChain 感兴趣的学习者,无论之前是否接触过 LangChain。该专栏基于笔者在实际项目中的深度使用经验,系统讲解了使用LangChain/LangGraph如何开发智能体,目前已更新 38 讲,并持续补充实战与拓展内容。欢迎感兴趣的同学关注笔者的掘金账号与专栏,也可关注笔者的同名微信公众号大模型真好玩 ,每期分享涉及的代码均可在公众号私信: LangChain智能体开发免费获取。

一、DeepAgents:让复杂智能体的开发像搭积木一样简单

1.1 DeepAgents框架开发溯源

大家平时接触最多的智能体,通常是这样工作的:让大语言模型在一个循环里反复推理、调用工具,直到完成任务。这种模式在简单场景下很管用,可一旦任务变得复杂就会出现很大问题, 例如步骤不合理、工具调用出错、对话上下文越积越多导致混乱,甚至智能体自己都忘了要干什么。

在LangChain生态中要解决这个问题通常需要大家使用LangGraph从零搭建工作流,精确控制每一步是让 AI 自己决策还是走固定流程,也能选择不同的思考模式(比如 ReAct 或"先计划后执行")。但这种灵活性的代价就是代码复杂,上手门槛高(关于LangGraph1.0的速通指南可参考笔者文章LangGraph1.0速通指南(一)------ LangGraph1.0 核心概念、点、边)。

作为全世界最懂智能体开发的LangChain团队也敏锐的注意到这个问题,开发了框架DeepAgents (截止目前版本0.4.3)。 它的核心思想很简单:把那些让智能体变得"聪明"的通用能力------比如做计划、记笔记、分工协作------都打包好,让大家开箱即用。 这样大家只需要关注自己的业务逻辑,甚至只需要几行代码,就能快速搭建出能处理复杂、多步骤、长时间任务的智能体。

1.2 DeepAgents框架定位

要理解 DeepAgents,先要理清它和 LangChain、LangGraph 的关系。打个比方:

  • LangGraph 就像智能体的"操作系统内核",负责底层的工作流调度、状态持久化和监控。
  • LangChain 则是基于这个内核的"高级开发工具包",提供了很多现成的函数(比如 create_agent)和组件,让大家写代码更顺手。
  • DeepAgents 是在 LangChain 的便利接口和 LangGraph 的强大运行时之上,又盖了一层"智能模块"------比如任务规划、文件系统、长期记忆、多智能体协作等。它的核心函数 create_deep_agent,其实就是给 LangChain 的标准智能体加上了这些模块。

理解了DeepAgents/LangChain/LangGraph三者的分层定位,笔者建议大家根据实际需求情况选择合适框架开发:

  • 对于一些简单步骤的任务 ,直接使用LangChain 1.0提供的create_agent
  • 对于一些需要精细控制的定制化需求,使用LangGraph 1.0自定义工作流程实现。
  • 对于一些需要构建复杂的多步骤、长时间运行的Agent;并希望拥有任务规划、文件系统、长期记忆等能力时,考虑DeepAgents。

1.3 DeepAgents核心原理

DeepAgents的核心原理其实非常直观。大家可以借助大家熟悉的复杂任务智能体(如Claude Code等编程智能体)来理解:它们通常都具有自主制定计划保存中间结果 ,并能够调用子智能体协助完成任务 等共性能力。DeepAgents正是将这些共性能力进行了抽象和封装,形成了一系列预置组件 。这些组件以中间件内置工具 的形式实现,提供了任务规划、上下文管理、子代理生成和长期记忆等核心功能。此外,DeepAgents还专门设计了文件系统,用于高效管理大量的中间结果与上下文信息。以上所有功能都已集成在 create_deep_agent SDK 中,开发者可以快速调用,轻松构建功能强大的复杂智能体。

二、 DeepAgents 代码示例讲解

理论的讲解总归还是有点虚,为了让大家更直观地体验DeepAgents的优点,笔者这里选用DeepAgents官方的一个deep_research案例来感受DeepAgents的强大功能------仅需数十行代码,即可完成DeepResearch智能体的相关构建。

2.1 代码概览

先整体看一下这段代码。它创建了一个能够进行深度研究的智能体(Research Agent),该智能体不仅自己能使用搜索和思考工具,还可以动态委派子任务给专门的研究子智能体(sub‑agent)。整个脚本结构清晰,核心逻辑都封装在create_deep_agent函数中。

python 复制代码
from datetime import datetime
from langchain.chat_models import init_chat_model
from langchain_google_genai import ChatGoogleGenerativeAI
from deepagents import create_deep_agent

from research_agent.prompts import (
    RESEARCHER_INSTRUCTIONS,
    RESEARCH_WORKFLOW_INSTRUCTIONS,
    SUBAGENT_DELEGATION_INSTRUCTIONS,
)
from research_agent.tools import tavily_search, think_tool

# 并发与迭代限制
max_concurrent_research_units = 3
max_researcher_iterations = 3

# 当前日期(用于提示词中的时间信息)
current_date = datetime.now().strftime("%Y-%m-%d")

# 组合主智能体的系统提示词
INSTRUCTIONS = (
    RESEARCH_WORKFLOW_INSTRUCTIONS
    + "\n\n"
    + "=" * 80
    + "\n\n"
    + SUBAGENT_DELEGATION_INSTRUCTIONS.format(
        max_concurrent_research_units=max_concurrent_research_units,
        max_researcher_iterations=max_researcher_iterations,
    )
)

# 定义研究子代理
research_sub_agent = {
    "name": "research-agent",
    "description": "Delegate research to the sub-agent researcher. Only give this researcher one topic at a time.",
    "system_prompt": RESEARCHER_INSTRUCTIONS.format(date=current_date),
    "tools": [tavily_search, think_tool],
}

# 选择底层大模型(此处使用 Claude 4.5,Gemini 3 备选)
# model = ChatGoogleGenerativeAI(model="gemini-3-pro-preview", temperature=0.0)
model = init_chat_model(model="anthropic:claude-sonnet-4-5-20250929", temperature=0.0)

# 创建深度智能体
agent = create_deep_agent(
    model=model,
    tools=[tavily_search, think_tool],
    system_prompt=INSTRUCTIONS,
    subagents=[research_sub_agent],
)

2.2 核心组件解析

上述代码虽短,却完整地构建了一个具备任务规划子代理委派内置思考能力的复杂研究智能体。下面笔者将逐一拆解其关键部分。

2.2.1 create_deep_agent:一切智能体的起点

create_deep_agent是DeepAgents框架提供的核心工厂函数。它接受一个基础模型、工具列表、系统提示词和子智能体列表,返回一个开箱即用的深度智能体。这个智能体内部已经集成了:

  • 任务规划器:将复杂任务拆解为可执行的步骤。
  • 文件系统:管理中间结果和上下文,防止对话过长导致混乱。
  • 子智能体管理器:负责子智能体的创建、通信和结果汇总。
  • 长期记忆:跨对话保存重要信息。

开发者完全不需要关心这些底层逻辑的实现,只需像搭积木一样传入配置即可。

2.2.2 系统提示词:赋予智能体"灵魂"

提示词的设计是智能体行为的关键。主智能体的系统提示词由三部分拼接而成:

  • RESEARCH_WORKFLOW_INSTRUCTIONS:定义研究工作的整体流程,例如如何规划、如何组织搜索结果。
  • SUBAGENT_DELEGATION_INSTRUCTIONS:规定了子智能体的委派规则,其中动态插入了并发限制和最大迭代次数。这让子智能体知道它可以同时运行最多3个研究单元,每个研究任务最多迭代3次。

子智能体的提示词RESEARCHER_INSTRUCTIONS还嵌入了当前日期,确保研究过程中能够感知时间上下文(例如搜索"今年的诺贝尔奖得主"时能正确理解"今年")。

2.2.3 子智能体:分工协作的体现

research_sub_agent是一个典型的子智能体定义。它包含:

  • name:唯一标识,用于在主智能体中调用。
  • description:描述子代理的功能,主智能体通过阅读理解这段描述来决定何时委派任务
  • system_prompt:子智能体自身的系统提示词,专注于研究任务。
  • tools:子智能体可用的工具,此处与主智能体一样拥有搜索和思考能力。

这种设计完美体现了第一章提到的"多智能体协作"原理:主智能体负责全局规划与调度,子代理专注于单一研究主题,各自分工,最终汇总成果。当然,除了通过传入配置方式构建子智能体外,大家也可将使用LangChain create_agent 创建的智能体或使用LangGraph compile后的智能体作为子智能体传入。

2.2.4 工具:扩展智能体的能力边界

本例中使用了两个工具:

  • tavily_search:一个专为大模型优化的搜索引擎工具,能够返回干净、结构化的搜索结果。
  • think_tool:一个思考工具,在每次搜索后使用此工具,以系统性地分析结果并规划后续步骤。这能在研究工作流中创建刻意暂停,以便进行高质量的决策。

DeepAgents框架允许开发者自由注册任何自定义工具,进一步扩展智能体的能力。

2.3 DeepAgents设计思想与原理

从这段代码可以很好的体现DeepAgents三大设计原则:封装通用能力简化开发模块化组合

  • 封装通用能力 :任务规划、子代理管理、文件系统等复杂逻辑全部隐藏在create_deep_agent内部,开发者无需编写任何LangGraph节点和边的代码。
  • 简化开发:原本需要数百行LangGraph代码才能实现的深度研究智能体,现在只需几十行配置即可完成。开发者只需关注提示词工程和工具定义。
  • 模块化组合:主智能体、子智能体、工具都是独立模块,可以像搭积木一样自由组合、复用。大家可以为其他领域(如数据分析、代码生成)定义不同的子代理,轻松扩展智能体的能力。

笔者通过LangChain的agent.get_graph().draw_mermaid_png()展示DeepAgents构造的deepresearch智能体的图结构,可以看到该图同样是ReACT的经典结构,并通过PathToolCallsMiddleware, SummarizationMiddleware等中间件扩展了LangChain create_agent的能力。

2.4 运行效果与扩展思考

下面通过一个具体示例展示DeepAgents的运行效果。假设用户提出如下请求:research context engineering approaches used to build AI agents(研究用于构建AI代理的上下文工程方法)

python 复制代码
result = agent.invoke(
    {
        "messages": [
            {
                "role": "user",
                "content": "research context engineering approaches used to build AI agents",
            }
        ],
    }, 
)
format_messages(result["messages"])
  1. 任务规划 : DeepAgents首先接收用户的研究请求,并调用内置的write_todos工具生成任务计划。每个任务项都带有状态标记,例如第一步是"设计研究请求",并将该计划保存至research_request.md文件中。

  2. 逐步执行与状态更新 :智能体每完成一个步骤,都会再次调用write_todos工具更新对应任务的状态为completed,然后自动进入下一步。如图所示,下一步计划是调用一个子智能体来获取具体的研究内容

  3. 结果汇总与输出 :当所有计划任务完成后,智能体将更新最终的待办列表,并使用write_file工具将整理好的研究报告写入final_report.md文件中

上述示例中涉及的write_todostaskwrite_file等工具均已内置在DeepAgents中。用户只需输入简单的需求,智能体便会自动调用相应工具和文件系统来完成整个任务。由此可见,DeepAgents真正实现了"让复杂智能体的开发像搭积木一样简单"。

以上就是本篇文章的全部内容,相关示例代码大家可关注笔者的同名微信公众号大模型真好玩 ,并在公众号私信: LangChain智能体开发获取。

三、总结

DeepAgents是LangChain团队推出的智能体框架,它将任务规划、子代理管理、文件系统等通用能力封装为内置组件,开发者通过create_deep_agent函数仅需数行代码即可搭建复杂智能体,真正实现"搭积木式"开发。从上述分析可以看出,DeepAgents本质上是在LangChain create_agent的基础上,通过中间件和内置工具增强了智能体的能力。为了帮助大家深入理解DeepAgents的底层机制,做到知其然更知其所以然,下一期分享笔者将暂不探讨使用技巧,而是从DeepAgents所依赖的中间件入手,全面解析其设计原理与实现细节,敬请期待!

本系列相关内容均列于笔者的专栏《深入浅出LangChain&LangGraph AI Agent 智能体开发》,该专栏适合所有对 LangChain 感兴趣的学习者,无论之前是否接触过 LangChain。该专栏基于笔者在实际项目中的深度使用经验,系统讲解了使用LangChain/LangGraph如何开发智能体,目前已更新 38 讲,并持续补充实战与拓展内容。欢迎感兴趣的同学关注笔者的掘金账号与专栏,也可关注笔者的同名微信公众号大模型真好玩 ,每期分享涉及的代码均可在公众号私信: LangChain智能体开发免费获取。

2026年笔者的另一大重心还会放在大模型训练专栏分享上,当然,谈论训练无法绕过算力这道现实的门槛。昂贵的GPU是许多人探索技术的拦路石。正因如此笔者今年特意与一些可靠的算力平台展开了合作,希望能为大家解决算力瓶颈。大家可以通过Lab4AI 注册Lab4ai算力平台 ,提供了包括英伟达H系列在内的多种选择,更有 5小时的免费体验额度

相关推荐
mightbxg2 小时前
【学习一下】深入理解交叉熵
人工智能·学习·机器学习
别惹CC2 小时前
OpenClaw 是如何设计提示词的?
人工智能·ai·aigc
AI周红伟2 小时前
周红伟:信创大模型企业级部署实操,Qwen3.5 昇腾企业级部署案例实操
大数据·人工智能·大模型·智能体
阿星AI工作室2 小时前
我做了个飞书转公众号排版器,6套高颜值主题想换就换
前端·人工智能
响叮当!2 小时前
大模型输出的全过程
人工智能·深度学习·机器学习
杨浦老苏2 小时前
AI提示词管理工具AiShort
人工智能·docker·ai·群晖
i02082 小时前
大模型常用概念
langchain
qq_314009832 小时前
Windows10+WSL部署Openclaw接入飞书实践
人工智能·飞书
SmartBrain2 小时前
多智能体设计(第二部分):消息传递机制(含考题)
人工智能·架构·langchain·aigc