本文介绍LangChain提出的Deep Agents概念,将AI智能体从简单的"浅层循环"进化为具备"离轴思考"能力的微型操作系统。通过四大支柱——规划即工具、虚拟文件系统、子智能体上下文隔离和详尽系统提示,Deep Agents能够处理复杂的长周期任务。文章提供了代码示例和最佳实践案例,展示了如何构建能持续工作数小时的智能体系统,帮助开发者构建更强大的AI应用。
一、 拒绝“浅层”:为什么 DeepAgents 是刚需?
大多数开发者还在玩“对话即指令”的游戏:用户说一句话,Agent 回复一句话。这种Shallow Loop(浅层循环)的天花板极低——一旦任务跨越了上下文窗口,或者需要耗时数小时的调研,Agent 就会像失忆一样开始不知所措。
DeepAgents的出现,是为了解决那些“一眼看不到头”的复杂任务。它不再只是一个 Wrapper,而是一套自主装备(Harness)。
alt text
核心差异
- 普通 Agent (The Loop):像个接线员,问一句答一句,记忆全靠
ChatHistory。 - LangGraph (The Runtime):像个流水线工厂,提供了状态持久化、流式输出和人机交互的底层能力。
- Deep Agent (The Harness):像个资深研究员。它构建在 LangGraph 之上,但“自带电池”——内置了规划系统、文件系统记忆、和子智能体编排。
alt text
二、 新版本核心特性:四大支柱 (The Four Pillars)
Harrison Chase 将 DeepAgents 的核心能力归纳为四个支柱,这构成了它区别于普通 Agent 的护城河。这四大支柱在 v0.2 版本中通过中间件 (Middleware)架构得到了彻底的强化。
1. 规划即工具 (Planning as a Tool)
DeepAgents 不再依靠开发者写死的 Chain 来执行任务。规划本身就是一个工具。 LLM 可以动态调用write_todos工具来生成或修改计划。这意味着 Agent 可以在执行中途发现“路走不通”,然后自己修改路线图,而不是傻傻地撞墙。
技术细节:这背后是
TodoListMiddleware在起作用,它不仅提供工具,还会在每次 Context 中注入当前的进度状态,确保持久化的“任务一致性”。
2. 离轴思考:虚拟文件系统 (VFS)
这是 DeepAgents 最核心的洞见。它认为Context 窗口不是用来存垃圾的。 普通 Agent 试图把所有搜索结果都塞进 Prompt,导致 Token 爆炸。DeepAgents 则引入了类似操作系统的 VFS:
- 默认工具:
write_file,read_file,ls,edit_file。 - 工作流:Agent 将海量的原始数据、待办事项、中间草稿写入 VFS(硬盘)。只在需要决策时,才读取最关键的那几行摘要加载到 Context(内存)。
技术细节:
FilesystemMiddleware会拦截所有工具调用。如果某个工具(如爬虫)返回了超过 20K token 的结果,它会自动将结果写入文件,只把文件名返回给 LLM,防止 Context 溢出。
3. 子智能体与上下文隔离 (Context Isolation)
如果一个任务太复杂,DeepAgents 会通过“子智能体”来隔离上下文。
- 痛点:主 Agent 知道太多细节容易产生幻觉。
- 解法:主 Agent 派发一个任务给“搜索子 Agent”。子 Agent 只有自己的搜索工具和临时记忆,干完活只把“最终结论”汇报给主 Agent。这极大地降低了主 Agent 的认知负荷(Cognitive Load)。
技术细节:
SubAgentMiddleware允许主 Agent 调用task工具来启动一个子图(Subgraph)。这个子图拥有独立的 State,运行结束后只返回摘要。
4. 详尽的系统提示 (Detailed System Prompts)
写好一个能指挥复杂系统的 System Prompt 极难。DeepAgents 并没有把 Prompt 藏起来,而是将其模块化。每个 Middleware 都会注入自己的一段 Prompt 指令(例如教 Agent 如何使用文件系统,何时该创建子 Agent)。
延伸阅读:Anthropic 的Claude CodeSystem Prompt 长达 2800+ tokens,展示了顶级 Agent 提示词的工程复杂度。DeepAgents 的 Prompt 设计深受其启发。来源:Piebald-AI/claude-code-system-prompts GitHub Repo
三、 核心代码:从脚本到工程
别被“深度”吓到,deepagents的封装非常简洁。它的核心是create_deep_agent,但魔鬼在细节里。
# pip install deepagents tavily-python langchain-anthropicfrom deepagents import create_deep_agentfrom langchain_anthropic import ChatAnthropicfrom tavily import TavilyClientimport os# 1. 定义工具def internet_search(query: str) -> str: """运行网络搜索""" return TavilyClient(api_key=os.environ["TAVILY_API_KEY"]).search(query)# 2. 定义子智能体 (Sub-agents)# 子智能体是上下文隔离的关键。它们拥有独立的 Prompt 和工具集。researcher_agent_config = { "name": "researcher", "description": "负责执行具体的深度搜索和资料整理", "system_prompt": "你是一个严谨的研究员。请使用搜索工具查找资料,并将关键发现写入文件系统。", "tools": [internet_search] # 子智能体独享搜索工具}# 3. 创建 Deep Agent (The Harness)# 注意:主 Agent 甚至不需要搜索工具,它只需要管理子智能体和文件系统agent = create_deep_agent( model=ChatAnthropic(model="claude-3-5-sonnet-latest"), tools=[], # 主 Agent 默认拥有文件系统工具 (ls, read_file, write_file) subagents=[researcher_agent_config], system_prompt="你是一个项目经理。接到任务后,先使用 write_todos 规划,然后指派 researcher 干活,最后汇总报告。",)# 4. 启动一个长周期任务# Agent 会自动在 VFS 中创建 'plan.txt', 'draft.md' 等文件来管理状态result = agent.invoke({ "messages": [{"role": "user", "content": "深度调研 2026 年人形机器人供应链,产出一份对比报告。"}]}) ``` alt text --- 四、 深度能力的实战逻辑:中间件 (Middleware) ----------------------------- 0.2 版本引入了强大的中间件支持,让 Agent 的治理变得像 Web 开发一样成熟。 ```plaintext from deepagents.middleware import SummarizationMiddleware, HumanInTheLoopMiddlewareagent = create_deep_agent( ..., middleware=[ # 1. 自动遗忘:当消息超过 30 条时,自动触发总结,防止 Context 溢出 # 这对于运行数小时的 Agent 至关重要。它会保留最近的 N 条消息,汇总旧消息。 SummarizationMiddleware(message_threshold=30), # 2. 人工在环:关键操作(如修改文件、调用支付接口)前必须由人类批准 # 这里的 approval_filter 决定了什么时候暂停 HumanInTheLoopMiddleware(approval_filter=lambda call: call.tool_name in ["write_file", "pay"]) ])五、 给 AI 工程师的启发
- Context Management 是新时代的内存管理:像 C 语言程序员管理内存一样管理 Context。不要把所有东西都塞给 LLM,学会使用 VFS 做“虚拟内存交换”。
- 可观测性是生命线:89% 的团队在 2026 年都会使用全链路追踪。DeepAgents 构建在 LangGraph 之上,天然支持状态回溯(Time Travel)。如果你看不清 Agent 为什么在第 50 步卡住了,你就永远无法让它上线。
图注:LangSmith 中展示的 Deep Agent 全链路追踪,清晰可见规划、子智能体分发和文件操作的层级结构。
- 不要自己造轮子:DeepAgents 是一套经过验证的认知架构(Cognitive Architecture)。除非你有非常特殊的理由,否则不要从零开始写
while loop。
金句:2025 年,AI 工程师的尊严不在于写出完美的 Prompt,而在于构建一套能让 Agent 像成年人一样独立解决问题的存储(VFS)与编排(Sub-agents)体系。
六、 最佳实践案例:自动化 API 文档维护者
为了让大家更直观地理解 DeepAgents 的生产力,我们来看一个真实的工程案例:自动化 API 文档维护 Agent。这个场景完美契合了 DeepAgents 的所有特性——长周期、复杂文件操作、多步骤规划。
场景描述
当后端代码更新时,Agent 需要自动检测变更、阅读代码、生成 OpenAPI Spec,并更新 Markdown 文档。
代码实现
# 1. 定义子智能体:代码分析专家# 它负责深入读取代码库,提取 API 定义,不关心文档格式code_analyst_agent = { "name": "code_analyst", "description": "负责读取后端代码,提取 API 路由、参数和返回值定义", "system_prompt": "你是一个资深后端工程师。使用 ls 和 read_file 工具遍历 src 目录,分析 FastAPI 路由定义。", "tools": [] # 默认拥有文件系统工具}# 2. 定义子智能体:技术文档作家# 它负责将技术细节转化为易读的 Markdown 文档tech_writer_agent = { "name": "tech_writer", "description": "负责根据 API 定义生成高质量的用户文档", "system_prompt": "你是一个技术文档专家。根据 code_analyst 提供的 API 定义,编写清晰的 Markdown 文档。", "tools": []}# 3. 创建主 Deep Agent# 主 Agent 负责协调:先分析代码 -> 检查差异 -> 更新文档doc_maintainer = create_deep_agent( model=ChatAnthropic(model="claude-3-5-sonnet-latest"), tools=[], subagents=[code_analyst_agent, tech_writer_agent], middleware=[ # 自动任务追踪:确保文档更新的每一步都被记录 TodoListMiddleware(), # 关键操作保护:写入最终文档前需要人工确认 HumanInTheLoopMiddleware(approval_filter=lambda call: call.tool_name == "write_file"and"docs/"in call.tool_args.get("path", "")) ], system_prompt=""" 你是一个自动化文档维护者。 任务流程: 1. 调用 code_analyst 分析 src/ 目录下的最新代码。 2. 读取 docs/ 目录下的现有文档。 3. 对比差异,生成更新计划。 4. 调用 tech_writer 生成新的文档草稿。 5. 确认无误后,覆盖旧文档。 """)# 4. 运行result = doc_maintainer.invoke({ "messages": [{"role": "user", "content": "检测 src/routers/users.py 的变更并更新 API 文档。"}]})为什么这个案例是“最佳实践”?
- 职责分离:主 Agent 不看代码,只管流程;子 Agent 专注各自领域。这避免了 Context 污染(Tech Writer 不需要看到满屏的 Python 装饰器)。
- 安全性:通过
HumanInTheLoopMiddleware,我们给“写文档”这个高风险操作加了把锁,防止 Agent 误删文件。 - 可观测性:通过
TodoListMiddleware,你可以在 LangSmith 后台清晰地看到 Agent 的思考过程:“已提取 User API -> 发现 2 个新字段 -> 正在生成文档草稿”。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。
大模型入门到实战全套学习大礼包
1、大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
2、大模型学习书籍&文档
学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
3、AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
4、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
5、大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
适用人群
第一阶段(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 的正确特征了。