找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

837

积分

0

好友

103

主题
发表于 3 天前 | 查看: 3| 回复: 0

“谋事在人,成事在天!DeepAgents不是简单地执行任务,而是管理任务,让AI从能运行进化为能交付。”
——诸葛孔明

图片

2025年的AI开发者们正面临一个核心困境:智能体能轻松完成简单指令,但在处理需要数十次工具调用的长周期复杂任务时,往往会陷入“上下文爆炸”的混沌。DeepAgents的出现,正是为了解决这一痛点。它通过任务规划、文件系统管理和子代理委托三位一体的架构,旨在让AI智能体从“随机应变”升级为“精确执行”。

一、LangChain与DeepAgents:框架基石与应用利器的协作

1. 架构分层:从“基础框架”到“专用解决方案”

  • LangChain 是AI智能体开发的“基础框架”,提供了标准化的组件库和架构模式。
  • DeepAgents 则是基于LangChain构建的“专用解决方案”,其核心创新在于解决智能体的长周期任务管理问题。

2. 功能互补:各司其职,相辅相成

  • LangChain(提供基础架构)
    • 模块化组件(LLM、工具、记忆)
    • 标准化接口(LLMChain、Agent)
    • 抽象层设计(任务编排、内存管理)
  • DeepAgents(解决核心痛点)
    • 任务规划(TodoListMiddleware)
    • 文件系统管理(自动存档大结果)
    • 子代理委托(专业分工协作)

3. 协同开发:从“搭建”到“增强”

  • 基础搭建:使用LangChain定义LLM、工具和记忆等核心组件。
  • 任务增强:通过DeepAgents添加任务规划、文件管理和子代理委托等高级能力。
  • 实战部署:将两者结合,构建出能够处理复杂工作流的完整智能体应用。

4. 代码示例

from langchain import LLMChain
from deepagents import create_deep_agent
# 使用LangChain定义基础组件
llm = TongyiQwen(model="qwen-max")
search_tool = SerpAPIWrapper()
# 使用DeepAgents创建具备任务规划能力的智能体
agent = create_deep_agent(
    tools=[search_tool],
    system_prompt="你是市场分析师,请先做市场概况研究,再分析趋势,最后生成结构化报告。"
)

二、LangChain解析:智能体开发的标准化框架

作为流行的人工智能开发框架,LangChain的核心价值在于其模块化与标准化。

1. 模块化架构:清晰的职责分离

LangChain将智能体开发拆分为LLM(大语言模型)、Tools(工具)和Memory(记忆)等独立模块,开发者可以像拼装积木一样按需组合,降低了构建复杂AI应用的入门门槛。

2. 标准化接口:确保组件协同

通过统一的API设计,LangChain确保了不同来源的LLM、工具和记忆模块能够无缝协作。

from langchain import LLMChain
from langchain_community.llms import TongyiQwen
from langchain_community.utilities import SerpAPIWrapper
# 标准化调用方式
llm = TongyiQwen(model="qwen-max")
search = SerpAPIWrapper()

3. 降低开发门槛

开发者无需深入理解所有底层原理,只需通过框架定义好的模式调用组件,即可快速构建出功能强大的AI应用。

# 使用LangChain快速构建一个基础智能体
from langchain.agents import initialize_agent
agent = initialize_agent([search], llm, agent="zero-shot-react-description")

三、DeepAgents三大核心机制详解

1. 任务规划引擎:从模糊需求到清晰路线图

传统Agent的困境:当用户提出“分析市场趋势”这类模糊需求时,智能体往往随机调用工具,导致执行过程杂乱,结果不可预测。

DeepAgents的解决方案:通过TodoListMiddleware中间件,将用户的模糊指令转化为结构化的待办事项列表,确保任务执行的系统性和每个步骤的可验证性。

from deepagents import create_deep_agent
agent = create_deep_agent(
    tools=[internet_search, analyze_data],
    system_prompt="你是市场分析师,请按步骤执行:1.市场概况,2.趋势分析,3.报告生成。"
)

效果对比

  • 传统Agent:随机调用工具,结果可能包含无关信息。
  • DeepAgents:生成清晰的待办事项(市场概况→趋势分析→报告生成),执行路径明确。

2. 文件系统智能管理:解决上下文爆炸

传统Agent的困境:所有工具调用产生的大段文本结果都堆放在上下文中,极易导致token成本飙升、模型因上下文过长而“失焦”。

DeepAgents的解决方案:引入文件系统作为“外部缓冲区”。大型工具调用结果(如网络搜索结果、长文本分析)会自动保存到文件中,上下文中仅保留文件路径引用,极大地节省了上下文窗口。

# 使用内置工具读写文件
agent.invoke({"messages": [{"role": "user", "content": "搜索2025年AI医疗趋势"}]})
# 结果自动保存到 `/tool_results/internet_search_1.txt`
如何修改默认文件保存路径?

方法一:通过配置修改全局路径

from deepagents import create_deep_agent
from deepagents.storage import FileStorage
# 修改为自定义路径
storage = FileStorage(base_path="data/results/")
agent = create_deep_agent(
    tools=[internet_search],
    file_storage=storage,  # 注入自定义存储器
    system_prompt="你是市场分析师"
)

方法二:动态指定单次调用的存储路径

agent.invoke(
    {"messages": [{"role": "user", "content": "搜索2025年AI医疗趋势"}]},
    context={"file_storage": FileStorage(base_path="/custom/path/")}
)

3. 子代理委托系统:实现专业化分工

传统Agent的困境:单一智能体试图处理所有类型的子任务,能力有限,在复杂场景下容易出错或效率低下。

DeepAgents的解决方案:通过SubAgentMiddleware,主智能体可以将特定子任务(如深度研究、代码编写)委托给更专业的子代理执行。每个子代理拥有独立的上下文和专用工具集。

# 定义一个专注于研究的子代理
research_subagent = {
    "name": "research-agent",
    "description": "用于深度研究问题",
    "prompt": "你是一名资深研究员,请提供详尽、准确的调研信息。",
    "tools": [internet_search],
    "model": "tongyi:qwen-max"
}
# 主代理在需要时委托任务
agent = create_deep_agent(
    subagents=[research_subagent],
    system_prompt="当遇到需要深度研究的问题时,请委托给 research-agent 处理。"
)

四、实战应用:构建智能研究助理

场景:自动化学术文献综述

传统方式:研究员手动搜索、阅读、整理上百篇论文,耗时漫长且易有疏漏。

DeepAgents实现方案

  1. 任务规划:将“文献综述”分解为“关键词搜索→文献初筛→摘要提取→趋势归纳”。
  2. 文件系统:自动保存所有搜索到的文献链接和提取的摘要文本。
  3. 子代理委托:将“摘要提取与归纳”任务委托给专门的文献分析子代理。
    # 构建文献分析子代理
    literature_subagent = {
    "name": "literature-review-agent",
    "tools": [pdf_parser, summarize],
    "prompt": "你是一名文献综述专家,请从给定文本中提取核心观点和结论。"
    }
    # 主代理调用
    agent.invoke({
    "messages": [{"role": "user", "content": "请对2025年AI在医疗影像诊断领域的趋势进行文献综述"}],
    "subagents": [literature_subagent]
    })

进阶:结合向量数据库实现长期记忆

为了跨会话持久化存储和检索关键知识,可以集成如Milvus这类向量数据库。

from deepagents.backends import CompositeBackend, StoreBackend
from langchain_milvus.storage import MilvusStore
# 配置Milvus存储
milvus_store = MilvusStore(collection_name="agent_memories")
backend = CompositeBackend(
    default=StateBackend(),
    routes={"/memories/": StoreBackend(store=milvus_store)}
)
agent = create_deep_agent(
    backend=backend,
    system_prompt="请将本次任务中的重要发现和结论写入 `/memories/` 目录,以便未来会话快速检索复用。"
)

五、结语

DeepAgents通过引入任务规划、文件系统管理和子代理委托三大机制,为基于LangChain的AI智能体开发提供了强大的“续航”和“管理”能力。它使得智能体能够有条不紊地处理那些需要多步骤、长时间运行的复杂任务,从“一次性执行工具”真正进化为可以可靠“交付结果”的智能助手。对于面临长周期任务挑战的开发者而言,DeepAgents提供了一个值得深入探索的解决方案。




上一篇:AI视频生成技术栈投资分析:从基础模型到智能体的分层框架
下一篇:GPT-5.2能力解析:面向专业交付与长时Agent任务的大模型升级
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 10:43 , Processed in 0.121583 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表