LangChain推出Deep Agents重塑AI系统构建新范式
在开发智能体(Agent)应用时,你是否也陷入过这样的困境?初期使用 LangChain 的链条(chains)构建简单流程,一切顺利。然而,当任务复杂度提升——涉及工具调用、循环逻辑、处理可变长度输出时——链条架构便显得捉襟见肘。转而投入 LangGraph 的怀抱,却又发现大量开发时间被消耗在定义状态模式、条件边和编译图上,而非解决核心业务问题。
这并非 LangGraph 的缺陷,它本身是一个极其强大的运行时(runtime)。问题的关键在于,许多开发者误将其当作应用框架(application framework)来使用。LangChain 团队敏锐地洞察到了这一普遍痛点,并推出了他们的解决方案:deepagents。
Deep Agents 实战演示
Deep Agents 深度解析:它究竟是什么?
首先需要明确,“deep agents”这个名称听起来可能有些宽泛。实际上,deepagents 是一个构建在 LangChain 和 LangGraph 之上的独立 Python 库(通过 pip install deepagents 安装)。LangChain 官方文档将其定位为一个“智能体框架”(agent harness):它提供了与其他框架相同的核心工具调用循环,但其核心价值在于内置了一套开箱即用的能力,开发者无需重复造轮子。
它的核心入口函数是 create_deep_agent()。一个最简化的示例如下:
from deepagents import create_deep_agent
def get_weather(city: str) -> str:
"""Get weather for a given city."""
return f"It's always sunny in {city}!"
agent = create_deep_agent(
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
agent.invoke(
{"messages": [{"role": "user", "content": "What is the weather in Mumbai?"}]}
)
看,一个函数调用就完成了智能体的创建。底层的 LangGraph 图构建、状态管理、流式处理和上下文窗口管理等复杂逻辑均由库自动处理,开发者完全无需介入。然而,其真正的亮点在于默认内置的五大核心能力。
五大核心能力:为何 Deep Agents 与众不同
1. 内置规划能力:write_todos 工具
每个 deep agent 都自动拥有一个 write_todos 工具。当面对复杂任务时,智能体会主动调用此工具,将工作拆解为离散的步骤,并持续跟踪每个步骤的状态(pending、in_progress、completed),在任务推进过程中动态调整计划。
这一功能至关重要,因为它不仅仅是一个提示词技巧——待办事项列表会被持久化在智能体的状态中。智能体可以随时回顾、更新它,并在整个会话生命周期内引用。开发者不再需要手动提示模型“逐步思考”,这种结构化的规划能力已深度集成于框架之中。
2. 虚拟文件系统:智能的上下文管理
这可能是最令人惊喜的功能。Deep agents 默认配备了一组完整的文件系统操作工具:ls、read_file、write_file、edit_file、glob 和 grep。
你可能会问:为什么智能体需要一个文件系统?答案在于:高效的上下文管理。
大语言模型(LLM)的上下文窗口是有限的。在进行长时间的调研、运行代码或处理大型工具输出时,会话历史很容易爆炸式增长,导致关键信息被挤出窗口。Deep agents 的解决方案是将大块内容“卸载”(offload)到虚拟文件系统中,而不是全部塞进有限的上下文里。
当某个工具的输出结果超过 20,000 个令牌(tokens)时,库会自动将其保存到配置好的后端存储,并在上下文中用文件路径引用和10行关键预览来替代冗长的原文。之后,智能体可以在需要时通过 read_file 或 grep 工具精确读取所需内容。这是一种智能的上下文压缩策略——既不是简单的分块(chunking),也不是粗暴的截断(truncation),而是有目的的卸载与按需检索。
文件系统的后端是可配置的:可以是内存(默认)、本地磁盘、用于跨线程持久化的 LangGraph Store,或者是像 Modal、Daytona 这样的沙盒环境。这种可插拔的设计提供了极大的灵活性。
3. 子智能体生成(Subagent Spawning):任务委派的艺术
框架内置了一个 task 工具,允许主智能体为特定的、隔离的子任务生成专门的子智能体。
为什么这一点比听起来更重要?在长时间的复杂任务中,如果让单个智能体处理所有事情,其上下文会被中间步骤、搜索结果和各种半成品信息污染。子智能体提供了一个优雅的解决方案:主智能体将特定的子任务委托给一个拥有全新、干净上下文的新智能体实例。子智能体自主运行、完成工作,最终仅将一个精炼的总结返回给主智能体。这样,主智能体的上下文就能始终保持清晰和专注。
你可以配置拥有自定义工具和专属系统提示词(system prompts)的子智能体:
from deepagents import create_deep_agent, Subagent
code_reviewer = Subagent(
name="code-reviewer",
system_prompt="You are an expert code reviewer. Analyze code for bugs, style, and performance.",
tools=[read_file_tool],
)
agent = create_deep_agent(
tools=[internet_search],
subagents=[code_reviewer],
system_prompt="You are a research and engineering assistant.",
)
此外,一个默认的通用型子智能体(配备文件系统工具)始终可用,无需任何额外配置。
4. 自动上下文压缩与摘要:突破窗口限制
这正是该库在处理超长会话任务时体现核心价值的地方。
当智能体的上下文长度达到模型窗口限制的85%,且没有更多内容可以卸载到文件系统时,框架会自动触发摘要生成。一个 LLM 会生成结构化的会话摘要——包括核心意图、已完成的关键成果、下一步计划——并用这个摘要替换工作内存中的完整历史记录。原始消息则被安全地保存到文件系统中作为权威记录,智能体在必要时仍可找回具体细节。
最终结果是,deep agents 可以在极其复杂的任务上近乎无限期地运行,而不会触及上下文限制——这在使用原生 LangGraph 时,通常需要开发者投入大量精力进行手动工程化实现。
5. 跨会话的长期记忆:构建有记忆的智能体
默认情况下,智能体状态仅存在于单个线程(thread)的生命周期内。但如果使用结合了 LangGraph Store 的 CompositeBackend 进行配置,智能体就能在多个会话与线程之间持久化记忆。
存放在 /memories/ 路径(或自定义位置)下的文件,在智能体重启后依然存在,并且可以从任何会话线程访问。这使得构建一个能记住用户偏好、项目代码库约定,或持续数天甚至数周的研究进展的智能体成为可能。
from deepagents import create_deep_agent
from deepagents.backends import CompositeBackend, StateBackend, StoreBackend
from langgraph.store.memory import InMemoryStore
store = InMemoryStore()
backend = CompositeBackend(
routes={"/memories/": StoreBackend(store=store)},
default=StateBackend(),
)
agent = create_deep_agent(
tools=[...],
backend=backend,
memory=["path/to/AGENTS.md"], # persistent context file
)
生态定位:Deep Agents 在 LangChain 体系中的角色
这部分容易产生混淆,值得明确阐述。
LangChain 是提供基础构件的底层框架:模型(models)、工具(tools)、提示词(prompts)、链条(chains)。它是整个生态的基石。
LangGraph 是一个用于构建持久化、有状态的、基于图的智能体的运行时引擎。它处理持久化、流式传输、中断恢复和复杂的条件流控制。它是驱动智能体运行的“发动机”。
Deep Agents 是构建在两者之上的高层应用框架。它并非 LangGraph 的替代品——其底层完全依赖 LangGraph 运行。它提供的是更高层级的、开箱即用的 API 和有主见的默认配置,让开发者无需每次都从零开始实现规划器、文件系统层、上下文压缩和子智能体等基础设施。
一个形象的比喻:LangGraph 给你的是发动机和变速箱。Deep Agents 给你的是一辆组装好、加满油、可以直接上路的整车。
对于简单的、单次交互的智能体,使用 LangChain 的 create_agent 可能就足够了。但对于复杂的、长时间的、多步骤的、并且有大量上下文管理需求的任务,deepagents 所提供的抽象层才真正物超所值。
实战:快速构建一个研究型智能体
让我们通过一个实用案例来快速上手——构建一个能够搜索网页并产出结构化报告的研究型智能体:
import os
from typing import Literal
from ta vily import Ta vilyClient
from deepagents import create_deep_agent
ta vily_client = Ta vilyClient(api_key=os.environ["TA VILY_API_KEY"])
def internet_search(
query: str,
max_results: int = 5,
topic: Literal["general", "news", "finance"] = "general",
include_raw_content: bool = False,
):
"""Run a web search and return results."""
return ta vily_client.search(
query,
max_results=max_results,
include_raw_content=include_raw_content,
topic=topic,
)
research_instructions = """
You are an expert researcher. Your job is to conduct thorough research and then write a polished report.
Use internet_search to gather information.
Write your findings to files as you go to a void losing context.
Use write_todos to plan your research steps before starting.
"""
agent = create_deep_agent(
model="anthropic:claude-sonnet-4-6", # default model
tools=[internet_search],
system_prompt=research_instructions,
)
result = agent.invoke({
"messages": [{
"role": "user",
"content": "Research the current state of agentic AI frameworks in 2025 and write a structured report."
}]
})
print(result["messages"][-1].content)
运行后,框架将自动处理以下流程:
- 智能体首先调用
write_todos工具来规划详细的研究步骤。 - 执行网络搜索,并将庞大的搜索结果自动卸载到虚拟文件系统。
- 如果任务特别复杂,它会生成子智能体来处理特定部分。
- 在撰写报告时,按需回读相关文件并进行信息综合。
- 整个过程中,框架自动管理上下文,确保模型永远不会触及令牌窗口极限。
所有这些复杂的基础设施逻辑,你无需编写一行代码——框架已为你内置。
Deep Agents CLI:强大的命令行工具
另一个值得了解的特性是:deepagents 还提供了一个基于同一 SDK 构建的命令行智能体。
pip install deepagents
deepagents # launches the interactive CLI agent
这是一个可以直接在终端中运行的编程助手智能体——你可以将其理解为 Claude Code 或 Aider 的同类,但其底层基于强大的 Deep Agents SDK 构建。它支持交互模式、非交互管道模式(用于脚本化的 -n 标志)、自定义技能(skills),以及持久化记忆。你可以教会它你的项目特定约定,它会在不同会话间记住这些信息。
这意味着,支撑你生产级研究型智能体的同一套 SDK,同时也提供了一个开箱即用、功能强大的开发者工具。
适用场景与选择指南
何时应该使用 deepagents:
- 任务需要结构化规划,并由多个依赖步骤完成。
- 工具调用会产生大量输出,需要在长会话中进行智能管理。
- 你需要子智能体进行任务委派,但不想自己搭建复杂的基础设施。
- 应用需要跨会话或跨线程的持久化记忆能力。
- 你正在构建编程助手、自主研究系统或复杂的多步骤工作流。
何时应继续使用 LangChain 的 create_agent 或原生 LangGraph:
- 你的智能体逻辑非常简单:仅涉及一两次工具调用、回复简短。
- 你需要对图(Graph)的拓扑结构和控制流有极细粒度的、完全自定义的控制。
- 你已经深度投入并定制了复杂的 LangGraph 工作流,不希望被框架的“有主见”的默认设置所约束。
该库在其官方文档中也坦诚建议:简单的任务,就使用更简单的工具。
深层意义:为何这不只是又一个框架
其发布的时机值得深思。
智能体 AI 目前正处在一个关键拐点。基础模式——如工具调用、ReAct 循环、简单的 RAG——已被广泛掌握。行业现在集中攻坚的难点,是如何让智能体在长期任务(long-horizon tasks)上更可靠:那些需要复杂规划、处理超大上下文、具备持久化能力和任务委派能力的任务。
每个开发生产级智能体的团队,都不得不从零开始工程化解决这些相同的问题。上下文管理策略、子智能体模式、记忆架构——这些方案在不同组织中被以略微不同的形式重复构建。
deepagents 代表了 LangChain 的一个战略判断:这些解决方案已经足够通用,可以将其标准化。所谓智能体框架——通过有主见的默认设置、内建的基础设施、可插拔的后端——正是试图将行业焦点从“如何搭建技术管道?”转向“我们究竟希望智能体实现什么业务价值?”的一次重要尝试。
它能否成功,取决于这些默认设置在真实、复杂的生产环境中是否经得起考验。但从设计哲学和方向来看,这无疑是正确的思路。
快速开始指南
pip install deepagents ta vily-python
设置你的 API 密钥:
export ANTHROPIC_API_KEY="your-key"
export TA VILY_API_KEY="your-key"
export LANGSMITH_TRACING=true # optional, for debugging
export LANGSMITH_API_KEY="your-key"
完整的官方文档——包括后端(backends)配置、子智能体(subagents)详解、沙盒(sandboxes)集成、人在回路(human-in-the-loop)以及 CLI 高级用法——可以在 docs.langchain.com/oss/python/deepagents 找到。
如果你目前正在从事任何严肃的智能体项目,花一个下午深入了解 deepagents 在你的技术栈中可能扮演的角色,都是非常值得的时间投资——即使你不会立刻采用它。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Canva可画教程 故障风与3D字体特效制作详解
想在Canva中为文字添加炫酷的故障艺术效果或逼真的3D立体字,却发现软件内没有直接的一键生成功能?无需担心,这并不代表无法实现。尽管Canva本身不提供高级的图层通道分离或三维建模工具,但通过巧妙的内部功能组合,或结合外部专业软件的预处理,你完全可以创作出极具视觉冲击力的文字特效。 一、利用图层偏
2026年AI图片去水印工具推荐:无损还原高清原图
处理高清图片时,最让人头疼的莫过于水印。传统的裁剪、模糊或覆盖方法,往往会导致纹理断裂、色彩偏移或分辨率下降,让辛苦找到的高清素材大打折扣。那么,有没有办法在彻底去除水印的同时,还能完美保留甚至提升原图画质呢?答案是肯定的。下面这几种基于AI技术的操作路径,或许能为你提供理想的解决方案。 一、使用水
DeepSeek竞品分析教程 输入链接即可快速对比
想利用DeepSeek进行深度竞品分析,但手头仅有竞争对手的商品或内容链接?这是许多运营和产品人员的常见痛点。无论是亚马逊ASIN、京东SKU详情页,还是小红书品牌号,这些链接本身无法被DeepSeek直接解析。核心解决方案在于:先将网页内容转化为结构化的文本数据,再交由DeepSeek进行智能建模
HermesAgent智能进化原理解析它如何越用越懂你
你是否注意到,当同一个任务多次交由 Hermes Agent 处理时,它的响应会变得越来越精准,越来越贴合你的个人习惯与思维模式?这并非偶然现象。其背后,是一套自动运转、无需人工干预的闭环学习机制在持续发挥作用。它如同一位经验丰富的智能助手,在每次与你协作后,都会默默进行复盘、沉淀经验、更新对你的理
Claude使用技巧与高级指令优化指南
想让AI助手Claude的输出告别千篇一律,变得灵活生动、精准贴合你的需求?这背后有一套系统性的调教方法。许多人感觉Claude的回答带有“AI腔”,问题往往出在提示词未能充分激活其潜力。本文将深入解析五种能显著提升Claude表现力的高级指令技巧,帮助你获得更优质的AI生成内容。 一、角色注入指令
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

