☰
DeepAgents 实测:create_deep_agent 一行代码,装出 Claude Code 同款「四件套」(附 16 个内置工具全清单)
2026/10/1 19:48:13 网站建设 项目流程

DeepAgents 实测:create_deep_agent 一行代码,装出 Claude Code 同款「四件套」(附 16 个内置工具全清单)

一句话先给结论:DeepAgents 不是新运行时,它就是create_agent的一套默认中间件组装 + 四件套(规划、文件系统、子 agent、上下文管理),底层跑的依然是 LangGraph——我实测了它的返回类型和全部 16 个内置工具,文末给选型表和踩坑点。

一、为什么裸 agent 不够用

用 LLM 循环调用工具是最简单的 agent 形态:调模型 → 模型说调工具 → 执行 → 结果塞回去 → 再调模型,直到模型不再要工具。这个循环能跑通,但它做不好长周期、多步任务:

  • 没有规划:任务拆不出步骤清单,做着做着忘了目标;
  • 没有外部记忆:中间产物只能塞在对话历史里,上下文一长就被截断;
  • 没有委派:子任务挤在同一个上下文窗口里,互相污染。

Deep Research、Manus、Claude Code 这类产品早就绕开了这个限制,它们的共性是四件事:规划工具、文件系统访问、子 agent、一个足够详细的 system prompt。DeepAgents 就是把这四件事打包成了通用组件。

二、实测:一行代码装出来

先装包再验证:

pip install deepagents
from deepagents import create_deep_agent agent = create_deep_agent( model="ollama:qwen3:0.6b", tools=[my_custom_tool], system_prompt="You are a research assistant.", ) print(type(agent)) # <class 'langgraph.graph.state.CompiledStateGraph'>

注意返回类型:langgraph.graph.state.CompiledStateGraph——它就是一张 LangGraph 图。这意味着 streaming、human-in-the-loop、checkpoint、LangGraph Studio 全部开箱即用,不需要学新的调用方式。

16 个内置工具全清单(实测 grep 源码所得):

类别工具说明
文件系统(8 个)ls/read_file/write_file/edit_file/delete/glob/grep读写搜索虚拟文件系统,长任务把中间产物落盘
子 agent(1 个)task派发子任务给隔离子上下文的 subagent
异步任务(4 个)start_async_task/check_async_task/list_async_tasks/cancel_async_task后台任务管理
上下文管理(1 个)compact_conversation对话过长时压缩历史
Shell(1 个)execute在沙箱里执行命令
其他(1 个)rubric_grader按评分标准自评输出

三、四件套逐个拆

第一件:规划工具。基于 Claude Code 的 TodoWrite 思路——工具本身不干活,只是让 agent 把计划写下来放进状态。价值在于「让模型看见自己的计划」,长任务不跑偏。

第二件:文件系统。8 个工具覆盖完整读写搜索。关键设计是后端可插拔:默认是状态内存里的虚拟文件系统,可以换成本地目录、沙箱或远程存储。长任务的最大瓶颈是上下文,文件系统让「中间产物出上下文、落盘、按需读回」成为可能。

第三件:子 agent。通过task工具派发,子 agent 有隔立的上下文窗口,干完活只把结论带回主上下文。主 agent 不用背着子过程的全部 token。默认有一个 general-purpose 子 agent,也可以自定义:

research_subagent = { "name": "research-agent", "description": "Used to research more in depth questions", "prompt": "You are a dedicated researcher...", "tools": [internet_search], } agent = create_deep_agent(tools=[...], subagents=[research_subagent])

第四件:详细 system prompt。内置一份改编自 Claude Code 的系统提示词,为长周期任务调优。用system_prompt参数可以直接覆盖或追加。

四、三层怎么选(选型表)

DeepAgents 和 LangChain、LangGraph 是同一套栈的三层,别对立起来看:

层用什么适合场景
上DeepAgents长周期、多步、需要规划和委派的任务
中create_agent+ middleware标准 tool-calling agent,自己控制中间件
下LangGraph 裸图精确控制每个节点和转移的复杂工作流

判断口诀:任务又长又复杂 → DeepAgents;标准 agent loop → create_agent;要手搓每一步 → 直接写图。如果任务只是几步工具调用,上 DeepAgents 反而是负担——它默认带的中间件和工具集会白白增加 token 消耗。

五、踩坑点

  1. 默认模型:不传model时用 Anthropic 的 Claude,国内环境记得显式传模型;
  2. 文件系统是虚拟的:默认后端只存在于 agent 状态里,进程结束就没了——要持久化记得换后端;
  3. 上下文膨胀:16 个内置工具的定义全在 system prompt 里,小模型容易被工具描述淹着,轻量任务用裸create_agent更省;
  4. 子 agent 的代价:每个task派发都是一次完整的子会话,别把子 agent 当函数调用用。

写在最后

DeepAgents 的正确理解方式:它回答的不是「怎么建 agent」,而是「长任务 agent 默认该带什么」。规划、文件系统、子 agent、上下文管理这四件事,自己做一遍要踩很多坑,DeepAgents 把它们压成了一行create_deep_agent。

如果你的任务会跑超过十分钟、拆出超过五个步骤,值得上它;否则裸create_agent就够。


原创声明:本文为原创文章,实测基于 deepagents 0.7.20(返回类型与内置工具清单均为实测所得),转载请注明出处。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询