【Agent智能体】35DeepAgents框架理论
章节三十五DeepAgents框架理论一、DeepAgents框架概述1.1 从LLM到Agentic AI人工智能这几年经历了快速进化LLM大语言模型像ChatGPT这样的AI能写文案、回答问题但自己不能动手干活。AI Agent给LLM装上手和脚让它能调用工具、执行任务比如查天气、搜资料、写代码。Agentic AI多个Agent协同工作像团队一样分工合作完成复杂任务。为突破现有瓶颈两个核心概念崛起深度代理Deep Agents和高阶提示Higher-Order Prompts, HOPs。深度代理模型不再是一次性输出答案的黑盒而是具备规划-执行-反馈-迭代闭环能力的智能体。遇到复杂任务时先拆解成子目标再派专门的子代理去执行执行中监控进度、发现问题、动态调整计划。高阶提示HOPs传统提示是告诉AI做什么高阶提示是告诉AI怎么想、按什么步骤、用什么逻辑。就像给AI一套思考模板从根源上提升决策精准度。举个例子传统提示“分析这条评论的情绪。”高阶提示“请按以下步骤分析1.逐句提取事实 2.判断情绪并给出理由 3.按严重程度排序 4.给出可落地的改进建议 5.一句话总结核心痛点。”DeepAgents构建大语言模型驱动的深度代理的最简单方式。内置任务规划、文件系统、子代理生成和长期记忆能力适合完成复杂、多步骤、能自主规划的任务。它建立在LangChain核心模块之上用LangGraph做运行时引擎主要实现自主多智能体系统。1.2 基本使用步骤第一步下载安装依赖包。第二步配置BASE_URL和API_KEY如OpenAI、阿里百炼、Tavily搜索等。第三步定义需要的工具搜索、文件操作等。第四步初始化大语言模型。第五步创建深度智能体create_deep_agent指定模型、工具列表、系统提示词和子代理列表。第六步调用智能体读取结果数据。使用LangSmith可以在线查看Agent的执行过程、Token消耗、工具调用详情。只需在.env中配置LangSmith相关参数代码中不需要额外修改。二、核心能力与架构2.1 智能规划与任务分解DeepAgents内置write_todos工具让代理能把复杂任务拆成离散的执行步骤实时跟踪进度并根据新信息动态调整计划。比如你要办一场生日派对DeepAgent会先列清单确定时间地点 - 邀请朋友 - 买食材蛋糕 - 布置场地 - 准备游戏。执行中发现蛋糕店没开门会自动调整为订外卖蛋糕。配套工具包括生成待办清单write_todos、读取清单read_todos、修改事项update_todos、删除步骤delete_todos。2.2 高效上下文管理DeepAgents内置文件系统工具集ls、read_file、write_file、edit_file能把大型上下文信息存到外部文件避免上下文窗口溢出还能处理可变长度的工具执行结果。就像整理100页年度总结你的大脑只能同时记10页。DeepAgent会帮你准备文件柜把100页拆成10个文件需要看哪段取哪段看完放回最后汇总。2.3 子Agent生成机制DeepAgents内置task工具让代理能选择对应的子代理处理特定任务实现上下文隔离保持主代理环境整洁还能深入执行复杂的子任务流程。就像装修房子你主代理不会既当设计师又当瓦工而是派专业的人干专业的事设计子代理出图纸、施工子代理砌墙、水电子代理装电路。你只负责统筹进度、汇总结果。什么时候用子Agent多步骤任务会让主代理上下文变杂乱需要不同模型能力如多模态需要不同的专业技能/专属工具。什么时候不用子Agent任务简单一步就能干完需要中间信息连贯不能拆分运营费用超过收益时子Agent调用会增加成本。子智能体可以嵌套但建议不超过2层否则复杂度和成本都会飙升。2.4 长期记忆能力DeepAgents提供多种存储方式实现长期记忆文件存储把信息写到文件里、内存KV存储键值对形式的内存缓存、组合式存储多种方式结合使用。就像跟进客户需求你不会每次都从头问而是有一个客户档案本第一次聊的需求存进去后续聊天先翻档案本新信息补充进去。2.5 消息类型SystemMessage系统消息给AI设定角色和行为准则。比如你是一个专业的Python编程助手。HumanMessage用户消息代表用户的输入或问题。AIMessageAI消息代表模型处理后的回复可能是最终答案也可能是准备调用工具或子智能体。ToolMessage工具消息代表工具执行后的返回结果。比如搜索工具返回的网页内容。2.6 流式输出与异步执行流式输出stream基于LangGraph支持可以实时跟踪Agent的执行进展、Token消耗量和工具调用情况。可以判断当前输出是AI正在思考、准备调用工具、工具执行返回结果、还是模型最终回复。异步执行异步非流式agent.ainvoke()适合不需要实时展示进度的场景。异步流式agent.astream()返回异步迭代器必须用async for遍历。适合高并发服务器如FastAPI实现流式并行执行。三、与LangChain对比3.1 家族框架对比四个框架的关系可以用盖房子来比喻LangChain-core砖块和水泥最底层定义了基础接口和类型如模型、工具、Runnable。所有其他包都依赖它。LangGraph施工队和脚手架运行时引擎提供有状态的图结构工作流如StateGraph、Checkpoint持久化。负责解决复杂工作流中的循环、分支和状态管理。LangChain毛坯房框架应用层框架提供构建Agent的高阶API如create_agent。是核心抽象和具体应用之间的胶水。DeepAgents精装全配豪宅最高层封装把规划、文件系统、子智能体、上下文管理等高级能力打包提供开箱即用的完整智能体create_deep_agent。3.2 如何选择选LangChain你的任务简单直接没有复杂的多步骤流程快速上线为主。选LangGraph你需要明确控制多步骤长流程比如RAG项目里的检索-生成-校验循环。需要对代理编排做细粒度控制需要持久化执行、长时间运行、有状态的代理。选DeepAgents构建长期运行、自主规划的智能代理处理复杂多步骤任务需要预定义工具文件系统、自定义工具和预设提示词与子代理能力。任务需要往多个方向处理和分析比如既要搜网页、又要查数据库、又要读知识库。