震惊!DeepAgents开源框架让AI Agent自主规划任务,小白也能7天打造Claude Code级编程助手!
DeepAgents是LangChain推出的开源Agent框架,专为处理复杂多步骤任务设计。它通过内置任务规划、灵活文件系统、子Agent委托、长期记忆等核心能力,让AI Agent从"工具执行者"进化为"自主规划者"。框架采用中间件驱动架构,支持人机协同工作流,开发者可快速构建研究、代码助手、数据分析等各类专业Agent,显著提升AI应用能力和效率。
引言
随着AI Agent任务复杂度每7个月翻倍,传统的"LLM循环调用工具"模式开始显露出成本高、可靠性差的问题。LangChain DeepAgents应运而生——一个开源的Agent框架,让开发者能够构建类似Claude Code的强大Agent。
一、什么是DeepAgents?
DeepAgents是LangChain推出的一个Agent框架(agent harness),它基于LangGraph构建,专为处理复杂、多步骤、长时程任务而设计。它的核心理念源自行业领先的Agent应用,但完全开源且高度可定制。
核心特点一览
| 特性 | 说明 |
|---|---|
| 任务规划 | 内置TODO工具,能自动分解复杂任务 |
| 文件系统 | 虚拟或真实的文件系统后端,管理大量上下文 |
| 子Agent委托 | 可生成专门的子Agent处理特定子任务 |
| 长期记忆 | 支持跨会话的持久化存储 |
| 人机协同 | 敏感操作可暂停等待人工批准 |
| 高度可扩展 | 通过中间件机制轻松添加自定义功能 |
二、架构设计:三层构建哲学
DeepAgents采用了清晰的分层架构,让开发者可以在不同抽象层次上进行定制:
┌─────────────────────────────────┐│ DeepAgents (Agent Harness) │ ← 内置规划、文件系统、子Agent│ │├─────────────────────────────────┤│ LangChain (Agent Framework)│ ← Agent核心循环、工具抽象│ │├─────────────────────────────────┤│ LangGraph (Agent Runtime) │ ← 图执行引擎、状态管理└─────────────────────────────────┘
三者的关系:
- LangGraph: 提供底层的图执行和状态管理能力
- LangChain: 提供Agent的基础循环逻辑和工具集成
- DeepAgents: 在前两者基础上,提供开箱即用的高级能力(规划、文件系统、子Agent等)
何时选择DeepAgents?
| 场景 | 推荐框架 |
|---|---|
| 需要工作流与Agent混合 | LangGraph |
| 从零构建所有prompt和工具 | LangChain |
| 需要自主、长期运行的复杂Agent | DeepAgents |
三、核心能力深度剖析
1. 智能任务规划
DeepAgents内置了write_todos和read_todos工具。有趣的是,这个工具本质上是个"no-op"(不执行实际操作),但它却能显著提升Agent的任务分解能力。
工作原理:
- Agent在执行前先创建TODO列表
- 将复杂任务分解为离散步骤
- 跟踪进度并动态调整计划
- 在完成后标记任务
这种"自我规划"机制让Agent能够处理跨越数十次工具调用的长期任务。
2. 灵活的文件系统后端
DeepAgents支持多种文件系统后端,解决了上下文窗口溢出的难题:
| 后端类型 | 特点 | 适用场景 |
|---|---|---|
| StateBackend | 临时存储在Agent状态中 | 默认,适合短期任务 |
| FilesystemBackend | 真实的磁盘操作 | 需要持久化或访问本地文件 |
| StoreBackend | 基于LangGraph Store持久化 | 跨会话的长期记忆 |
| CompositeBackend | 混合路由不同后端 | 同时需要临时和持久存储 |
实战案例:
from deepagents import create_deep_agentfrom deepagents.backends import CompositeBackend, StateBackend, StoreBackend# 混合后端:工作文件临时,记忆持久化agent = create_deep_agent( backend=CompositeBackend( default=StateBackend(), # 默认临时存储 routes={"/memories/": StoreBackend()} # /memories/下持久化 ))
3. 子Agent委托机制
通过内置的task工具,主Agent可以生成专门的子Agent来处理特定子任务,实现上下文隔离和并行执行。
生命周期:
主Agent → 生成子Agent → 子Agent独立执行 → 返回结果 → 主Agent整合
自定义子Agent示例:
research_subagent = { "name": "research-agent", "description": "用于深度研究问题", "system_prompt": "你是一个专业研究员...", "tools": [internet_search], "model": "openai:gpt-4o" # 可选,默认使用主Agent模型}agent = create_deep_agent(subagents=[research_subagent])
4. 长期记忆能力
通过CompositeBackend和StoreBackend的组合,Agent可以跨会话保持记忆:
# 用户偏好持久化示例agent = create_deep_agent( backend=CompositeBackend( default=StateBackend(), routes={ "/memories/": StoreBackend(store=InMemoryStore()), "/preferences/": StoreBackend(), "/knowledge/": StoreBackend() } ))
应用场景:
- 跨会话保存用户偏好
- 构建知识库
- 基于反馈自我改进
- 保持研究进展
四、内置工具矩阵
DeepAgents开箱即带12+个专业工具,全部由中间件自动注入:
| 工具名称 | 功能 | 提供者 |
|---|---|---|
write_todos / read_todos |
任务规划与跟踪 | TodoListMiddleware |
ls / read_file / write_file |
文件操作 | FilesystemMiddleware |
edit_file |
精确字符串替换编辑 | FilesystemMiddleware |
glob / grep |
文件搜索与内容查找 | FilesystemMiddleware |
execute * |
执行Shell命令(需沙箱支持) | FilesystemMiddleware |
task |
委托给子Agent | SubAgentMiddleware |
自动功能:
- 大结果(>20K tokens)自动保存到文件
- 上下文超170K自动摘要(保留最后6条消息)
- Anthropic模型自动启用Prompt缓存
五、快速上手:5分钟构建研究Agent
# 1. 安装pip install deepagents tavily-python# 2. 定义工具import osfrom deepagents import create_deep_agentfrom tavily import TavilyClienttavily_client = TavilyClient(api_key=os.environ["TAVILY_API_KEY"])def internet_search(query: str, max_results: int = 5): """运行网络搜索""" return tavily_client.search(query, max_results=max_results)# 3. 创建Agentagent = create_deep_agent( tools=[internet_search], system_prompt="进行深度研究并撰写专业报告。",)# 4. 执行任务result = agent.invoke({ "messages": [{"role": "user", "content": "LangGraph是什么?"}]})
就这么简单!Agent会自动:
- 规划研究步骤(使用TODO工具)
- 搜索多个来源
- 将大量结果保存到文件
- 必要时生成子Agent进行深度分析
- 最终整合成报告
六、高级定制技巧
自定义系统Prompt
DeepAgents的系统Prompt采用分层设计:
┌──────────────────────────────────┐│ 中间件自动注入的默认指令 │ ← 工具使用说明、最佳实践├──────────────────────────────────┤│ 你的自定义system_prompt │ ← 领域特定工作流、示例└──────────────────────────────────┘
编写自定义Prompt的原则:
应该做:
- 定义特定领域的工作流(如研究方法论)
- 提供具体用例的示例
- 添加专业指导(如"将相似研究任务批处理到单个TODO")
- 定义停止标准和资源限制
- 解释工具如何在你的工作流中协同
不应该做:
- 重复解释标准工具功能(已由中间件覆盖)
- 复制中间件已有的工具使用指令
- 与默认指令相矛盾
人机协同工作流
对于敏感操作(如文件删除、API调用),可配置人工审批:
@tooldef delete_file(path: str) -> str: """删除文件""" os.remove(path) return f"已删除 {path}"agent = create_deep_agent( tools=[delete_file], interrupt_on={ "delete_file": { "allowed_decisions": ["approve", "edit", "reject"] } })
Agent会在执行敏感工具前暂停,等待用户的approve/edit/reject决策。
自定义中间件
通过中间件扩展Agent能力:
from langchain_core.tools import toolfrom deepagents import create_deep_agentfrom langchain.agents.middleware import AgentMiddleware@tooldef get_weather(city: str) -> str: """获取城市天气""" returnf"{city}的天气晴朗。"class WeatherMiddleware(AgentMiddleware): tools = [get_weather] def before_call(self, state): # 在每次LLM调用前执行 print("准备查询天气...") return stateagent = create_deep_agent(middleware=[WeatherMiddleware()])
七、实战应用场景
1. 深度研究Agent
research_agent = create_deep_agent( tools=[internet_search, web_fetch], system_prompt=""" 你是专业研究员。 1. 使用write_todos规划多步研究 2. 并行搜索多个来源 3. 将原始数据保存到/research/目录 4. 生成research-agent子Agent进行深度分析 5. 整合成结构化报告 """, subagents=[deep_research_subagent])
2. 代码助手Agent
coding_agent = create_deep_agent( backend=FilesystemBackend(root_dir="/workspace"), tools=[run_tests, format_code], system_prompt=""" 你是高级编程助手。 - 使用ls和read_file理解项目结构 - 用edit_file进行精确代码修改 - 执行测试验证更改 - 在/workspace操作真实文件 """)
3. 数据分析Agent
analysis_agent = create_deep_agent( tools=[query_database, plot_chart], system_prompt=""" 你是数据科学家。 1. 规划分析步骤(EDA → 建模 → 可视化) 2. 将中间结果保存到/data/目录 3. 生成可复现的分析报告 """)
八、与其他框架的对比
| 特性 | DeepAgents | LangChain Agent | AutoGPT | CrewAI |
|---|---|---|---|---|
| 任务规划 | 内置TODO | 需自建 | 自动 | 内置 |
| 文件系统 | 多后端 | 无 | 真实文件 | 无 |
| 子Agent | 灵活委托 | 无 | 无 | 角色协作 |
| 长期记忆 | 可配置 | 需自建 | 向量存储 | 有限 |
| 人机协同 | 内置 | 需自建 | 无 | 无 |
| 可扩展性 | 中间件 | 工具 | 有限 | 中等 |
| 学习曲线 | 中等 | 低 | 高 | 中等 |
九、技术亮点与设计哲学
1. 中间件驱动架构
DeepAgents的所有核心功能都通过中间件实现,这种设计带来了:
- 模块化: 每个功能独立,易于理解和维护
- 可组合性: 自由组合不同中间件
- 可扩展性: 第三方可轻松开发新中间件
2. "信任LLM"安全模型
与传统的"不信任LLM"方法不同,DeepAgents采用:
- 边界在工具层:安全检查在工具和沙箱层面实施
- 不期望LLM自我审查:LLM可执行任何工具允许的操作
- 适合受控环境:适用于企业内部、个人项目等可信场景
3. 上下文管理策略
通过三层机制解决上下文窗口限制:
- 文件系统卸载: 大结果自动保存到文件(>20K tokens)
- 自动摘要: 上下文超170K时压缩历史(保留最近6条)
- 子Agent隔离: 通过子Agent实现上下文分片
十、性能与成本优化
DeepAgents内置多项优化措施:
| 优化项 | 机制 | 效果 |
|---|---|---|
| Prompt缓存 | AnthropicPromptCachingMiddleware | Claude模型成本降低90% |
| 自动摘要 | SummarizationMiddleware | 防止上下文溢出 |
| 并行执行 | 子Agent并发 | 研究类任务提速3-5倍 |
| 上下文卸载 | 自动保存大结果到文件 | 节省token消耗 |
十一、最佳实践
DO(推荐做法)
- 批量实现变更: 将相关修改组织成3-10个一批,方便调试
- 使用子Agent隔离: 复杂子任务委托给专门子Agent
- 定义清晰停止标准: 在system_prompt中明确任务完成条件
- 利用文件系统: 将中间结果持久化,避免重复计算
- 配置人工审批: 敏感操作使用
interrupt_on
DON’T(避免做法)
- 不要重复中间件指令: 默认指令已覆盖工具使用
- 不要过度依赖LLM自我限制: 安全边界应在工具层
- 不要在系统Prompt中硬编码示例: 使用few-shot示例功能
- 不要忽略批处理: 大量修改应分批执行
- 不要混淆LangGraph与DeepAgents: 前者是底层,后者是高层抽象
十二、社区资源
- GitHub仓库: langchain-ai/deepagents
- 官方文档: docs.langchain.com/deepagents
- 快速示例: deepagents-quickstarts
- CLI工具: 提供交互式命令行界面
- LangSmith集成: 支持可观测性与部署
结语
DeepAgents的出现,标志着AI Agent从"工具执行者"向"自主规划者"的进化。它不仅是一个框架,更是一种构建复杂Agent的方法论
如果你正在构建需要深度思考、多步骤推理的AI应用,DeepAgents绝对值得一试。它开源、灵活、强大,让每个开发者都能打造属于自己的"Claude Code"。
如何学习大模型 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%免费】

更多推荐
所有评论(0)