LangChain Deep Agents 深度测评:AI 系统构建新范式权威解析

2026-05-19阅读 0热度 0
ai

开发智能体时,你是否也陷入过这种困境?初期用 LangChain 的链条搭建简单流程,一切顺利。但当任务复杂度升级——涉及工具调用、循环逻辑、处理可变输出——链条架构便捉襟见肘。转而投入 LangGraph,却发现大量开发时间被消耗在定义状态模式、条件边和编译图上,而非解决核心业务问题。

这并非 LangGraph 的缺陷,它本身是一个强大的运行时引擎。关键在于,许多开发者误将其当作应用框架使用。LangChain 团队洞察到了这一普遍痛点,并推出了解决方案:deepagents

Deep Agents 实战演示Deep Agents 实战演示

Deep Agents 核心定位解析

首先需要明确,“deep agents”这个命名可能略显宽泛。实际上,deepagents 是一个构建于 LangChain 和 LangGraph 之上的独立 Python 库(通过 pip install deepagents 安装)。LangChain 官方文档将其定义为“智能体框架”:它提供了与其他框架相同的核心工具调用循环,但核心价值在于内置了一套开箱即用的能力,开发者无需重复构建底层基础设施。

其核心入口函数是 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 图构建、状态管理、流式处理和上下文窗口管理均由库自动处理,开发者无需介入。但真正的差异化优势在于其默认内置的五大能力。

五大核心内置能力剖析

1. 结构化规划:write_todos

每个 deep agent 自动拥有一个 write_todos 工具。面对复杂任务时,智能体利用它将工作拆解为离散步骤,并跟踪每个步骤的状态(pendingin_progresscompleted),在任务执行过程中动态调整计划。

这一机制的关键在于,待办事项列表持久化存储在智能体状态中。智能体可以回顾、更新并跨会话引用该列表。开发者不再需要手动编写“逐步思考”的提示词,这种结构化的规划能力已成为框架的默认行为。

2. 虚拟文件系统集成

这是最具突破性的功能之一。Deep agents 默认集成了一组完整的文件系统操作工具:lsread_filewrite_fileedit_fileglobgrep

智能体为何需要文件系统?核心答案是:实现智能的上下文管理。

大语言模型的上下文窗口存在硬性限制。在进行长时间调研、代码执行或处理大型工具输出时,会话历史极易膨胀。Deep agents 的解决方案是将大块内容卸载到虚拟文件系统,而非全部塞入上下文窗口。

当工具输出超过 20,000 个令牌时,库会自动将其保存至配置的后端存储,并在上下文中用文件路径引用和10行预览替代原始内容。后续智能体可通过 read_filegrep 按需读取。这是一种智能的上下文压缩策略——既非简单的分块处理,也非粗暴的截断,而是基于目的的卸载与检索。

文件系统后端支持多种选项:内存(默认)、本地磁盘、用于跨线程持久化的 LangGraph Store,或 Modal、Daytona 等沙盒环境。后端设计为可插拔架构。

3. 子智能体生成机制

框架内置 task 工具,允许主智能体为隔离的子任务生成专用子智能体。

这一机制的价值在于上下文隔离。在长周期调研任务中,若由单一智能体处理所有环节,其上下文将被中间步骤、搜索结果和半成品污染。子智能体提供了优雅的解决方案:主智能体将特定子任务委托给拥有全新上下文的新智能体实例。子智能体独立运行、完成任务,仅将总结性结果返回主智能体,从而保持主上下文的洁净。

开发者可以配置拥有自定义工具和系统提示词的子智能体:

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. 跨会话长期记忆

默认情况下,智能体状态仅存在于单个线程内。但若使用集成 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
)

在 LangChain 生态中的战略定位

这部分容易产生混淆,需要明确界定。

LangChain 是提供基础构件的框架:模型、工具、提示词、链条。它属于基础设施层。

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 标志)、自定义技能以及持久化记忆。你可以训练它记住项目约定,并在会话间保持记忆。

这意味着,支撑生产级研究型智能体的同一套 SDK,同时提供了一个开箱即用的开发者工具。

适用场景与边界

deepagents 适用于以下场景:

  • 任务需要规划并由多个步骤完成。
  • 工具输出体量较大,需要在长会话中进行管理。
  • 需要子智能体委派,但不想自建基础设施。
  • 需要跨会话线程的持久化记忆。
  • 正在构建编程智能体或自主研究系统。

在以下情况继续使用 LangChain 的 create_agent 或原生 LangGraph:

  • 智能体逻辑简单:仅需一两次工具调用、回复简短。
  • 需要对图拓扑进行极细粒度的控制。
  • 已深度投入自定义 LangGraph 工作流,不愿受有主见的默认设置约束。

该库在其文档中也坦诚指出:简单的智能体应使用更简单的工具。

框架发布背后的行业意义

其发布时机值得关注。

智能体 AI 正处在关键拐点。基础模式——工具调用、ReAct 循环、简单 RAG——已被广泛掌握。行业当前攻坚的焦点是如何让智能体在长期任务上更可靠:那些需要规划、大上下文、持久化和任务委派的任务。

每个开发生产级智能体的团队,都不得不从零开始工程化解决这些共性问题。上下文管理策略、子智能体模式、记忆架构——这些在不同组织中被以略微不同的形式重复构建。

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"

完整文档——涵盖后端、子智能体、沙盒、人在回路以及 CLI——可在 docs.langchain.com/oss/python/deepagents 找到。

如果你当前正在从事任何严肃的智能体项目,花一个下午理解 deepagents 在你的技术栈中的定位是值得的——即使你不会立即采用它。

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策