当前位置: 首页 > news >正文

LangChain DeepAgents深度解析:打造复杂场景的深度智能体

LangChain 1.0与LangGraph 1.0的发布,标志着通用智能体(Agent)框架迈入成熟阶段。而在此基础上推出的DeepAgents,作为LangChain生态的第三大独立开源Agent框架,更是为复杂、多步骤、长时间运行的Agent开发提供了全新解决方案。它以LangGraph为运行时基础、LangChain为高层接口,通过预置中间件能力,让开发者用更少代码实现更"Deep"的智能体能力,彻底解决传统Agent在复杂场景中任务规划混乱、上下文膨胀、记忆缺失等痛点。本文将从框架定位、核心机制、底层原理到实战落地,全方位拆解DeepAgents,带你快速掌握这一新一代智能体开发工具。


01 框架定位:LangChain生态的三层分工

要理解DeepAgents的价值,首先要明确它与LangGraph、LangChain在生态中的清晰分工,三者层层封装、各有侧重,共同构成LangChain 1.0时代的智能体开发体系:

  • LangGraph:底层核心,提供持久化、可观测的运行时(Runtime),负责构建Agent的底层工作流,支持ReAct、Plan-then-Execute等多种范式,开发者可从底层掌控AI决策与流程固化,但实现复杂度较高。
  • LangChain:中层封装,基于LangGraph提供更简洁的Agent接口(create_agent),并引入中间件(Middleware)扩展机制,降低基础Agent的开发门槛。
  • DeepAgents:高层增强,在LangChain接口+LangGraph运行时之上进一步封装,核心接口create_deep_agentcreate_agent基础上增加了任务规划、文件系统、长期记忆、子智能体协作等预置中间件能力,专门针对复杂多步骤任务设计。

适用场景选择:简单单步骤Agent开发,直接使用LangChain的create_agent即可;当需要构建多步骤、长时间运行,且要求任务规划、持久化记忆、分工协作能力的深度Agent时,DeepAgents是最优选择。


02 核心能力:三大机制突破传统Agent局限

(一)任务规划:让Agent学会"先计划,再执行"

传统Agent依赖大模型直接推理执行复杂任务,极易出现步骤混乱、目标偏离的问题。DeepAgents借鉴OpenAI Deep Research、Claude Code的设计思路,通过内置工具write_todos实现结构化任务规划,让Agent在执行前制定步骤清单,执行中跟踪进度、动态调整,从根本上解决规划能力缺失的问题。

  • 触发条件:①任务目标复杂,涉及多步骤执行;②用户明确要求先规划再执行;③完成单个步骤后,需要修订清单、标记状态。
  • 核心特点:轻量触发(简单任务默认不触发)、动态调整(每完成一步自动更新清单)、状态持久(规划清单写入Agent的State中)。
import osfrom deepagents import create_deep_agentfrom langchain_community.tools import DuckDuckGoSearchRunos.environ["OPENAI_API_KEY"] = "你的OpenAI API密钥"OPENAI_MODEL = "gpt-3.5-turbo-1106"RECURSION_LIMIT = 50search = DuckDuckGoSearchRun(name="search")main_tools = [search]SYSTEM_PROMPT = """你是专业的股票分析助手,负责为用户提供全面的股票分析报告。工作流程:1. 先通过write_todos工具制定详细的分析步骤清单;2. 按照清单逐一执行,完成每个步骤后更新清单状态;3. 最终整合所有信息生成Markdown格式的分析报告。工具使用:仅使用search工具获取股票相关信息。"""agent = create_deep_agent( model=f"openai:{OPENAI_MODEL}", tools=main_tools, system_prompt=SYSTEM_PROMPT, debug=True).with_config({"recursion_limit": RECURSION_LIMIT})# 启动LangGraph Dev面板观测运行:命令行执行 langgraph dev

(二)虚拟文件系统:为Agent配备"可持久化的笔记本"

复杂任务执行过程中,Agent需要记录大量中间结果、最终报告,且要求跨会话、跨线程复用这些信息。DeepAgents的虚拟文件系统机制,为Agent配备了一套可插拔、可扩展的文件读写体系,支持临时存储、本地持久、跨会话记忆等多种存储方式,解决了传统Agent上下文膨胀、记忆缺失的问题。

  • 四大后端存储方案(Backend):StateBackend(线程临时)、FileSystemBackend(本地持久)、StoreBackend(跨会话持久)、CompositeBackend(复合,最常用)。
  • 核心工具write_file(写入文件)、read_file(读取文件)、list_files(列出文件)。
import osfrom deepagents import create_deep_agentfrom deepagents.backends import CompositeBackend, FilesystemBackend, StoreBackendfrom langchain_community.tools import DuckDuckGoSearchRunos.environ["OPENAI_API_KEY"] = "你的OpenAI API密钥"OPENAI_MODEL = "gpt-3.5-turbo-1106"RECURSION_LIMIT = 50search = DuckDuckGoSearchRun(name="search")main_tools = [search]def create_backend(runtime): return CompositeBackend( default=FilesystemBackend(root_dir="./stock_analysis/fs", virtual_mode=True), routes={"/memories/": StoreBackend(runtime)} )SYSTEM_PROMPT = """你是专业的股票分析助手,分析流程:1. 用write_todos制定分析步骤;2. 用search工具获取股票信息;3. 将分析结果以Markdown格式写入/reports/股票名称.md;4. 将分析过的股票名称追加写入/memories/my_stocks.md,格式为"- 股票名称";5. 完成后告知用户报告存储路径。"""agent = create_deep_agent( model=f"openai:{OPENAI_MODEL}", tools=main_tools, backend=create_backend, system_prompt=SYSTEM_PROMPT, debug=True).with_config({"recursion_limit": RECURSION_LIMIT})# 启动 langgraph dev

运行效果:分析结果保存到本地./stock_analysis/fs/reports/XXX.md;股票名称写入LangGraph Store的/memories/my_stocks.md,新线程中输入“查看我分析过的股票”,Agent会读取并输出,实现跨会话记忆。

(三)子智能体(Subagents):让Agent学会"分工协作"

现实中复杂项目由专业人员分工完成,DeepAgents的子智能体机制将这一思路引入AI领域,让主Agent可根据任务需求,派生子智能体负责特定专业子任务,实现上下文隔离专长分离,解决了单一Agent在复杂任务中上下文膨胀、专业能力不足的问题。

  • 核心优势:上下文隔离、专长分离、灵活扩展。
  • 实现方式:主Agent通过内置task工具,将子任务派发给对应的子智能体,子智能体独立执行后返回结果,主Agent整合所有子结果生成最终答案。
import osfrom deepagents import create_deep_agentfrom langchain_community.tools import DuckDuckGoSearchRunos.environ["OPENAI_API_KEY"] = "你的OpenAI API密钥"OPENAI_MODEL = "gpt-3.5-turbo-1106"RECURSION_LIMIT = 50search = DuckDuckGoSearchRun(name="search")main_tools = [search]fundamental_analyst = { "name": "基本面分析师", "description": "负责分析股票的公司概况、财务报表、分红、筹码分布等基本面信息", "system_prompt": "你是资深股票基本面分析师,仅使用search工具获取股票的基本面信息,输出结构化分析结果。", "tools": [search], "model": f"openai:{OPENAI_MODEL}",}technical_analyst = { "name": "技术面分析师", "description": "负责分析股票的历史价格、均线、RSI、MACD等技术指标与交易信号", "system_prompt": "你是资深股票技术面分析师,仅使用search工具获取股票的技术面信息,输出技术分析与买卖信号。", "tools": [search], "model": f"openai:{OPENAI_MODEL}",}news_analyst = { "name": "消息面分析师", "description": "负责分析股票的近期公司公告、行业新闻、机构研报等市场消息", "system_prompt": "你是资深股票消息面分析师,仅使用search工具获取股票的近期消息,分析消息对股价的影响。", "tools": [search], "model": f"openai:{OPENAI_MODEL}",}subagents = [fundamental_analyst, technical_analyst, news_analyst]SYSTEM_PROMPT = """你是股票分析总协调师,负责统筹分析任务:1. 接收到股票分析请求后,用task工具将任务派发给对应的子智能体;2. 基本面分析派发给"基本面分析师",技术面分析派发给"技术面分析师",消息面分析派发给"消息面分析师";3. 接收所有子智能体的分析结果,整合为一份完整的Markdown格式分析报告;4. 将报告写入/reports/股票名称_综合分析.md。"""agent = create_deep_agent( model=f"openai:{OPENAI_MODEL}", tools=main_tools, subagents=subagents, system_prompt=SYSTEM_PROMPT, debug=True).with_config({"recursion_limit": RECURSION_LIMIT})# 启动 langgraph dev

运行效果:输入“分析XXX的综合情况”,主Agent调用task工具将任务拆分为三个子任务,分别派发给三个子智能体,子智能体独立执行后返回结果,主Agent整合生成综合分析报告并保存到本地。


03 底层原理:基于中间件的解耦式扩展

DeepAgents的所有核心能力,均基于LangChain 1.0引入的**中间件(Middleware)**机制实现。从工作流来看,DeepAgents与普通ReAct Agent并无本质区别,其本质是在LangChain Agent的主循环中,插入了多个预置的中间件,通过“钩子”方式扩展Agent行为,实现了功能与核心逻辑的解耦。

  • 三大核心中间件:TodoListMiddleware(任务规划)、FilesystemMiddleware(虚拟文件系统)、SubAgentMiddleware(子智能体协作)。
  • 核心价值:低侵入性(无需修改Agent核心逻辑)、高度可定制、生态可扩展。

04 实战落地:可直接运行的DeepAgents完整案例

(一)环境准备

# 安装依赖pip install deepagents langchain langchain-openai langchain-community langgraph langsmith# 配置环境变量(Linux/Mac)export OPENAI_API_KEY="你的OpenAI API密钥"export LANGCHAIN_API_KEY="你的LangSmith API密钥"export LANGCHAIN_TRACING=true# Windowsset OPENAI_API_KEY="你的OpenAI API密钥"set LANGCHAIN_API_KEY="你的LangSmith API密钥"set LANGCHAIN_TRACING=true

LangSmith API密钥可在LangChain官网免费获取,用于可视化观测Agent的工具调用、状态变化与执行流程。

(二)完整可运行代码

"""DeepAgents深度研究智能体功能:1. 任务规划 2. 网络搜索 3. 本地报告持久化 4. 研究记录跨会话记忆"""import osfrom deepagents import create_deep_agentfrom deepagents.backends import CompositeBackend, FilesystemBackend, StoreBackendfrom langchain_community.tools import DuckDuckGoSearchRunfrom langchain_openai import ChatOpenAIOPENAI_MODEL = "gpt-3.5-turbo-1106"RECURSION_LIMIT = 100search_tool = DuckDuckGoSearchRun(name="web_search", description="通用网络搜索工具,用于获取任意主题的最新信息")tools = [search_tool]def init_backend(runtime): return CompositeBackend( default=FilesystemBackend(root_dir="./deep_research/reports", virtual_mode=True), routes={"/memories/": StoreBackend(runtime)} )SYSTEM_PROMPT = """你是资深的深度研究专家,负责为用户提供专业、全面的主题研究报告,严格遵循以下工作流程:步骤1:接收到研究请求后,立即使用write_todos工具制定详细的研究步骤清单,清单需包含"信息收集、信息整理、报告撰写"三个核心阶段;步骤2:按照步骤清单,使用web_search工具逐一收集相关信息,完成每个步骤后更新清单状态;步骤3:信息收集完成后,撰写结构化的Markdown格式研究报告,包含"研究背景、核心内容、总结分析"三个部分;步骤4:将研究报告写入/reports/研究主题.md文件,文件名称替换为实际研究主题;步骤5:将研究主题与研究时间追加写入/memories/research_history.md,格式为"- 研究主题:研究时间(YYYY-MM-DD HH:MM)";步骤6:完成后告知用户报告的本地存储路径,并提示可查询研究历史。报告要求:逻辑清晰、内容详实、数据准确,避免无关信息,字数不少于500字。"""research_agent = create_deep_agent( model=f"openai:{OPENAI_MODEL}", tools=tools, backend=init_backend, system_prompt=SYSTEM_PROMPT, debug=True).with_config({"recursion_limit": RECURSION_LIMIT})# 命令行执行:langgraph dev # 启动LangGraph Dev面板

(三)运行与验证

  1. 启动智能体:将上述代码保存为deep_research_agent.py,在代码目录执行命令langgraph dev,浏览器会自动打开LangSmith Studio面板。
  2. 输入任务:在面板的聊天框中输入复杂研究请求(如“深度研究2025年AI大模型行业发展趋势”),即可看到智能体的执行流程。
  3. 验证能力:任务规划(调用write_todos)、工具调用(按清单调用web_search)、报告持久化(本地./deep_research/reports/目录)、跨会话记忆(新线程中输入“查看我的研究历史”)。

(四)功能扩展建议

  • 替换工具:将DuckDuckGoSearchRun替换为专业搜索工具(如Tavily、SerpAPI),提升信息获取的准确性与时效性。
  • 增加子智能体:添加“数据分析师”“报告润色师”等子智能体,实现更专业的研究分工。
  • 对接知识库:集成LangChain的RAG能力,让智能体从本地知识库中获取信息,提升研究深度。
  • 自定义后端:实现BackendProtocol接口,将虚拟文件系统映射到阿里云OSS、腾讯云COS等云存储,实现报告的云端持久化。

05 总结

DeepAgents的诞生,标志着LangChain生态的智能体开发能力迈入新台阶。它以“让复杂Agent更容易开发”为核心目标,通过三层生态分工明确自身定位,以任务规划、虚拟文件系统、子智能体协作三大核心机制突破传统Agent局限,基于中间件实现解耦式扩展,让开发者用最少的代码构建具备深度思考、持久记忆、分工协作能力的智能体。

无论是金融领域的股票分析、科研领域的深度研究,还是办公领域的自动化流程,DeepAgents都能提供开箱即用的解决方案。随着版本的迭代与生态的丰富,这一框架将成为复杂场景智能体开发的首选工具,推动AI从“单任务助手”向“多任务专家”转变。现在就动手尝试DeepAgents,开启你的深度智能体开发之旅!

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

http://www.cnnetsun.cn/news/1776167.html

相关文章:

  • Scala Native快速开始:5分钟搭建你的第一个原生应用
  • EVA-CLIP训练技术揭秘:提升CLIP模型性能的终极方法
  • 小白也能用的Qwen3-TTS:快速部署与多语言语音生成指南
  • AxureRP数据可视化大屏设计:从零到高保真交互的完整指南(附模板下载)
  • X3D:从2D到3D的维度扩展艺术,如何为视频识别打造高效架构
  • 双模型协作:OpenClaw同时调用Phi-3-vision-128k-instruct与文本模型完成复杂任务
  • DeepSeek-R1-Distill-Qwen-1.5B案例展示:数学推理能力超越GPT-4o
  • PHP程序员的技术成长规划
  • vLLM-v0.17.1环境快速部署:Windows系统下Python与CUDA配置详解
  • Youtu-Parsing模型在软件测试中的应用:自动化验证UI文本与截图
  • Vue实战:从零构建黑马后台管理系统全流程解析
  • 用豆包 + Codex 高效开发微信小游戏:《我在大明当首辅》开发首日实战
  • 水电站机组测温制动屏产品概述及功能概述
  • EVA-02重建技术面试题:Java八股文的知识点梳理与重构
  • OpenClaw学术论文助手:千问3.5-35B-A3B-FP8自动校对LaTeX公式与图表引用
  • Llama-3.2V-11B-cot镜像快速上手:10分钟完成JavaScript交互Demo
  • 【GUI-Agent】阶跃星辰 GUI-MCP 解读---()---GUI-MCP 整体架构孪
  • Stable Diffusion v1.5 生成效果一览:多种风格提示词实测对比
  • 全国首个!深开鸿与前海供电公司打造的数据中心电鸿变配电室正式投运
  • HoRain云--Swift入门:从零掌握基础语法
  • PHP 开源AJAX框架14种
  • 江苏事业单位面试培训深度测评:授课方式科学性——线下、线上、混合三种模式的底层逻辑
  • 理解 SAP ABAP CDS 数据定义中的自动别名:数据库表字段插入后的命名规则与开发实践
  • 学术党福音!OpenClaw+Qwen3-4B自动整理文献引用
  • 小鸡毛的具身智能VLA入门自学路线
  • 新手友好:MedGemma 1.5快速部署与基础健康咨询全攻略
  • 从物理到艺术:Photoshop混合模式的数学原理与视觉化解析
  • Nanbeige 4.1-3B WebUI应用:打造你的个人二次元AI助手
  • 纯电动汽车再生制动策略:Cruise与Simulink联合仿真的整车与策略模型解析文档
  • Linux 的 mv 命令