个人网站建设论文中期报告青岛建设集团建兴工程有限公司
个人网站建设论文中期报告,青岛建设集团建兴工程有限公司,h5网站页面,网站宣传营销简介
DeepAgents是LangChain推出的第三个独立开源Agent框架#xff0c;在LangChain和LangGraph基础上进一步封装。它提供三大核心能力#xff1a;任务规划帮助Agent制定和跟踪执行步骤#xff1b;文件系统提供可插拔、可扩展的存储后端#xff1b;子智能体支持任务分工和上…简介DeepAgents是LangChain推出的第三个独立开源Agent框架在LangChain和LangGraph基础上进一步封装。它提供三大核心能力任务规划帮助Agent制定和跟踪执行步骤文件系统提供可插拔、可扩展的存储后端子智能体支持任务分工和上下文隔离。这些能力通过中间件机制实现使开发者能快速构建复杂、多步骤、长时间运行的Agent减少代码量并提升任务完成深度。前段时间LangChain 公司终于正式发布LangChain 1.0版本及其配套的LangGraph 1.0标志着其通用 Agent 框架趋于成熟。在此基础上LangChain 团队还推出了一个全新的开源项目DeepAgents旨在进一步提升Agent 在复杂场景下的能力用更少的代码完成更Deep的任务。本文将为你带来 DeepAgents 的深入解读与实战体验。本文内容如下DeepAgents框架定位与能力速览用实例读懂 DeepAgents三大核心机制DeepAgents原理总结与未来展望【本文源代码见文末】一、DeepAgents框架定位与能力速览我们最熟悉的一种 Agent 形态就是让 LLM 在推理循环中调用工具并最终完成任务。但在复杂环境下这类 Agent 往往会显得有些“脆弱”任务步骤不合理、工具调用错误、上下文不断膨胀、甚至遗忘任务目标缺乏主动规划步骤、管理中间变量、以及优化上下文的能力。如果你在 LangChain 生态中开发可以通过LangGraph从底层掌控工作流例如什么时候由 AI 决策、什么时候固化流程使用 ReAct 还是 Plan-then-Execute 等范式 —— 但实现复杂度相对较高。DeepAgents正是为了解决上述痛点而诞生。其出发点可用一句话概括让复杂、多步骤、长时间运行的Agent更容易开发与构建。【DeepAgents是什么】DeepAgents 是 LangChain 公司在 LangGraph 与 LangChain 之后推出的第三个独立开源 Agent 框架与前两者形成清晰分工在最新的LangChain 1.0版本中这三者开发Agent的定位是LangGraph提供持久化与可观测的Runtime用于构建底层工作流与Agent。LangChain基于 LangGraph 的高层封装提供更简洁的 Agent 接口create_agent与扩展中间件机制。DeepAgents在 LangChain 的高层接口 LangGraph 的运行时之上进一步封装形成“深度 Agent”框架。其核心方法 create_deep_agent其实就是在 create_agent 之上增加了预置的系列中间件能力。【DeepAgents增加了哪些能力】目前在复杂任务Agent领域最成功的有两类编程智能体与深度研究智能体也是笔者最常用的两类AI工具。DeepAgents也受到这一类应用的启发 — 这些“深度 Agent”通过增加任务规划工具、子Agent、文件系统、详细提示等手段在实践中突破了传统 Agent 的局限。DeepAgents将这些经验抽象为通用框架开箱即用地提供任务规划、文件系统、长期记忆、分工协作等能力稍后我们将用一个完整的实例来体验DeepAgents的这些独特能力。【什么时候选择DeepAgents】理解了DeepAgents/LangChain/LangGraph三者的分层定位这个问题可以简单的总结为当你需要构建复杂的多步骤、长时间运行的Agent并希望拥有任务规划、文件系统、长期记忆等能力时考虑DeepAgents。而对于一些简单步骤的任务直接使用 LangChain 提供的create_agent就已经足够 。通过 DeepAgents开发者无需从零开始设计长流程 Agent只需提供自定义工具和任务说明等就能快速构建一个强大的“深度 Agent” 。二、实例读懂DeepAgents三大核心机制我们将从构建一个最简单的Agent开始并逐步细化与丰富其能力。在这个过程中你将可以清晰的看到DeepAgents是如何在LangGraph与LangChain的基础上“添砖加瓦”以适应更复杂的任务环境。首先设计一个简单的场景构建一个借助于搜索与金融数据接口等工具进行股票分析的Agent。【初始版本构建】最初这个Agent看上去是一个标准的ReAct范式Agent唯一区别在于使用create_deep_agent而不是LangChain的create_agent前身是LangGraph中的create_react_agent...# 系统指令 SYSTEM_PROMPT 你是一个股票分析助手。你的任务是帮助用户分析股票使用 search 工具搜索相关信息。* 工作流程...* 输出要求...main_tools [ search, # 通用网络搜索工具]# 创建 DeepAgentagent create_deep_agent( modelfopenai:{OPENAI_MODEL}, toolsmain_tools, system_promptSYSTEM_PROMPT,debugTrue).with_config({recursion_limit: RECURSION_LIMIT})...为了更好的观测Agent运行通过LangGraph命令行来部署与启动 langgraph dev然后在出现的LangSmith Studio界面上输入消息请帮我分析贵州茅台这只股票。你会发现它的运行过程与普通的Agent几乎没有区别。这是正常的因为在没有触发“深度能力”的情况下DeepAgents 与普通 Agent 的执行路径相同。现在我们来触发DeepAgent的第一个特性任务规划。【任务规划Planning Tool】单纯依赖LLM完成复杂任务的长期规划与执行很容易发生偏离。各大模型厂商推出的“深度 Agent”如 OpenAI Deep Research、Claude Code背后除了训练特殊的Agent推理模型外都采用了类似的策略在执行前先列步骤、做计划然后逐一跟踪执行并在必要时做调整DeepAgents 中的任务规划能力是通过一个内置工具 write_todos 来实现的。它会在以下条件下触发任务目标比较复杂特别是涉及较多的步骤用户明确提示要求LLM先规划执行每完成一个步骤需要修订任务清单 - 标记状态或调整任务现在让我们换个方式输入任务要求再次通过LangSmith Studio观察执行过程你会发现这一次的工作循环有所不同第一次的工具调用是write_todos它会将LLM推理出的“代办事项”写入到State中。而后续每完成一个步骤该工具会再次被调用 - 标记状态或修订计划注意如果你的任务过于简单默认不会触发规划机制以避免增加不必要的token和时间开销。一直在更新更多的大模型学习和面试资料已经上传带到CSDN的官方了有需要的朋友可以扫描下方二维码免费领取【保证100%免费】【文件系统File System】想象下当领导交给你复杂任务时你是不是需要一个笔记本来记录重要事项或工作成果必要时可以翻阅DeepAgents的另一个重要特性 - “文件系统”就类似这样的笔记本给Agent配备一套虚拟文件系统与读写工具可随时记录、查询与持久化任务过程中的信息。比如作为一个客服Agent可以把与客户每次交互的摘要存放在这个虚拟文件系统如/memories/{user_id}/下在客户下次来访可以调取。虚拟文件系统由可插拔、可扩展的后端Backend来实现架构如下StateBackendAgent的State作为存储仅在本次线程有效。可用来在一次对话中卸载临时的中间结果优化上下文空间。FileSystemBackend本地文件系统目录作为存储可长期保存。比如保存AI生成的创作文档或代码文件。StoreBackendStore是LangGraph实现跨线程持久记忆的机制可以是Redis、Postgres等实现。你可以配置Store作为虚拟文件系统。CompositeBackend复合后端。比如默认使用StateBackend但存储到/memories/的数据则使用StoreBackend以实现跨线程持久。此外你可以编写自己的Backend比如把虚拟文件系统映射到阿里云OSS也可以扩展上述Backend比如给FileSystemBackend增加安全检查。现在我们继续用前面的Agent来体验该特性。State作为Backend默认首先不做任何代码修改只对任务稍作修改观察执行过程你将会看到write_file工具的调用由于没做任何指定Agent会使用默认的StateBackend将“文件”直接保存在State的Files字段。很显然它并不是真实的文件仅限本次线程有效。本地文件系统作为Backend现在给Agent更换另一个Backend的实现相同的输入任务下你将不会在State看到Files字段而是生成了真实的文件LangGraph Store作为Backend这是非常重要的一项能力。它可以让Deep Agents能够像访问文件系统一样直接操作底层LangGraph的持久装置Store从而获得跨线程、跨会话、带向量检索能力的持续记忆能力。关于LangGraph Store的应用可参考LangGraph官方文档详细了解。继续修改我们的Agent并同时演示CompositeBackend的能力...def create_backend(runtime): return CompositeBackend( defaultFilesystemBackend(root_dir./fs, virtual_modeTrue), routes{ /memories/: StoreBackend(runtime) } )# 创建 DeepAgent无后端无子智能体agent create_deep_agent( modelfopenai:{OPENAI_MODEL}, toolsmain_tools, backendcreate_backend, system_promptSYSTEM_PROMPT,debugTrue).with_config({recursion_limit: RECURSION_LIMIT})这里创建了一个复合的Backend默认使用本地文件系统做后端但如果路由路径是/memories/则使用LangGraph Store作为后端默认类型InMemoryStore)。接着在系统提示中增加一些指令SYSTEM_PROMPT 你是一个股票分析助手。...- 把股票分析结果保存成/reports下面的Markdown文件- 把用户分析过的股票名称保存到/memories/my_stocks.md中方便下次调用现在启动一个运行线程并输入任务观察执行过程可以看到如下的工具调用信息根据以上的设置股票分析结果会被保存到本地文件系统但分析过的股票名称将会被路由到LangGraph的持久记忆Store。所以你会在本地看到分析结果,但无法看到这里的my_stocks.md“文件”。为了验证my_stocks中的“记忆”我们开启一个新的线程任务此时Agent会调用read_file工具来读取Store并输出实际应用中该功能可以用来实现诸如用户偏好记忆、知识积累、研究结果保存以在不同会话中共享。以上是DeepAgents内置的几种虚拟文件系统Backend实现。如果仍然无法满足你的需求也可以自行实现BackendProtocol这个接口将虚拟文件系统映射到你的OSS、数据库、向量库等。【子智能体Subagents】现实中复杂项目通常由多人分工合作完成每个角色各司其职。DeepAgents 引入的 Subagent子代理机制正是让 AI Agent 也具备类似的能力主Agent可以根据需要派生子Agent来负责特定的子任务。这本质上是一种多智能体系统的机制。其主要的好处是上下文隔离一个复杂Agent任务需要处理大量中间步骤和信息快速膨胀的上下文很容易干扰主线思路 。而引入子Agent主Agent可以将具体工作“外包”后接收最终结果自身则专注主线任务。专长分离不同的子Agent可以拥有不同的专业知识、提示词与工具集为每种任务定制一个子Agent会比一个Agent囊括所有技能更高效。使用Subagents有两种方法直接定义Subagent的职责、提示词、可用工具等新建或使用已有的LangGraph工作流作为Subagent我们继续对上面的例子做增强 - 用子Agent来协助完成任务设置三个不同的股票分析专家Agent...# 1. 基本面分析师 - 使用股票详细信息和财务报表工具fundamental_analyst { name: subagents_config[fundamental_analyst][name], description: subagents_config[fundamental_analyst][description], system_prompt: subagents_config[fundamental_analyst][prompt], tools: [ get_stock_detailed_info, # 公司详细信息主营、概况、筹码、分红 get_financial_statements, # 财务报表资产负债表、利润表、现金流量表 ], model: fopenai:{OPENAI_MODEL},}# 2. 技术面分析师 - 使用技术指标和股票价格工具technical_analyst { name: subagents_config[technical_analyst][name], description: subagents_config[technical_analyst][description], system_prompt: subagents_config[technical_analyst][prompt], tools: [ get_technical_indicators, # 技术指标 get_stock_price, # 股票历史价格数据 ], model: fopenai:{OPENAI_MODEL},}# 3. 消息面分析师 - 使用新闻和研报查询工具news_analyst { name: subagents_config[news_analyst][name], description: subagents_config[news_analyst][description], system_prompt: subagents_config[news_analyst][prompt], tools: [ get_stock_news, # 个股新闻 get_stock_research_report, # 机构研究报告 ], model: fopenai:{OPENAI_MODEL},}...这里通过subagents_config集中配置三个Subagent的提示词与工具集这里不再通过搜索获取信息而是借助第三方金融数据接口具体参考源码。对主Agent的提示词做修改。清晰的说明如何使用Subagent来协助完成任务略。在创建主Agent时指定subagents参数...subagents [fundamental_analyst, technical_analyst, news_analyst]agent create_deep_agent(... subagentssubagents...)现在让Agent运行相同的任务你将可以观察到子Agent的参与很显然Subagents的内部机制是主Agent根据需要使用名为“task”的工具将不同的子任务派发给对应的Subagent来完成。需要注意的是当任务非常简单或需要全程共享上下文时引入子Agent可能增加不必要的开销。但在多步骤复杂任务、需要不同专业知识或想保持主任务聚焦的场景下子Agent无疑是强有力的工具。三、DeepAgents原理总结与未来展望在前面的示例中我们已经体验了 DeepAgents 在复杂任务中的核心能力。那么这些能力背后究竟依托什么机制如果你打开 LangSmith Studio 查看 DeepAgent 的工作流图就会发现DeepAgents流程似乎与普通ReAct Agent并无本质区别其本质只是在LangChain的Agent基础上挂载了多个中间件Middleware扩展。Middleware是在LangChain1.0引入的Agent扩展机制简单理解为插入到Agent主循环各个阶段的“钩子”以调整与扩展Agent的行为逻辑。比如你可以在LLM调用前后拦截消息、替换LLM请求、总结工具结果等。而DeepAgents就是通过中间件给普通Agent插入了更多新能力TodoListMiddleware为Agent提供任务规划能力FilesystemMiddleware给Agent增加虚拟文件系统与相关工具SubAgentMiddleware支持子Agent增加分工协作的运行模式这种方式让 DeepAgents 的内部清晰解耦每个中间件关注一个功能点通过标准接口协作。这意味着你也可以定制 DeepAgents 的行为 - 比如更换规划策略定制TodoListMiddleware等而不需要修改整个Agent逻辑。【未来展望】DeepAgents 正处于快速迭代阶段目前版本0.2)。官方也透露了一些未来值得期待的方向。例如系统提示的全面可定制更灵活的多Agent协作模式更高级的记忆检索与遗忘机制与知识库和RAG技术的更深度融合等等更丰富的中间件生态随着社区参与度提升和官方持续投入DeepAgents 很有机会成长为下一代“复杂任务智能体”的标准化框架。读者福利如果大家对大模型感兴趣这套大模型学习资料一定对你有用对于0基础小白入门如果你是零基础小白想快速入门大模型是可以考虑的。一方面是学习时间相对较短学习内容更全面更集中。二方面是可以根据这些资料规划好学习计划和方向。包括大模型学习线路汇总、学习阶段大模型实战案例大模型学习视频人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型一直在更新更多的大模型学习和面试资料已经上传带到CSDN的官方了有需要的朋友可以扫描下方二维码免费领取【保证100%免费】AI大模型学习路线汇总大模型学习路线图整体分为7个大的阶段全套教程文末领取哈第一阶段从大模型系统设计入手讲解大模型的主要方法第二阶段在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用第三阶段大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统第四阶段大模型知识库应用开发以LangChain框架为例构建物流行业咨询智能问答系统第五阶段大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型第六阶段以SD多模态大模型为主搭建了文生图小程序案例第七阶段以大模型平台应用与开发为主通过星火大模型文心大模型等成熟大模型构建大模型行业应用。大模型实战案例光学理论是没用的要学会跟着一起做要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。大模型视频和PDF合集观看零基础学习书籍和视频看书籍和视频学习是最快捷也是最有效果的方式跟着视频中老师的思路从基础到深入还是很容易入门的。学会后的收获• 基于大模型全栈工程实现前端、后端、产品经理、设计、数据分析等通过这门课可获得不同能力• 能够利用大模型解决相关实际项目需求大数据时代越来越多的企业和机构需要处理海量数据利用大模型技术可以更好地处理这些数据提高数据分析和决策的准确性。因此掌握大模型应用开发技能可以让程序员更好地应对实际项目需求• 基于大模型和企业数据AI应用开发实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能学会Fine-tuning垂直训练大模型数据准备、数据蒸馏、大模型部署一站式掌握• 能够完成时下热门大模型垂直领域模型训练能力提高程序员的编码能力大模型应用开发需要掌握机器学习算法、深度学习框架等技术这些技术的掌握可以提高程序员的编码能力和分析能力让程序员更加熟练地编写高质量的代码。获取方式一直在更新更多的大模型学习和面试资料已经上传带到CSDN的官方了有需要的朋友可以扫描下方二维码免费领取【保证100%免费】