当前位置: 首页 > article >正文

Deep Agents 的 Planning Capabilities 技术解析

一、概述在传统的 LLM Agent 架构中模型通常以“单步响应”single-step reasoning的方式执行任务即输入 → 推理 → 输出。这种模式在简单任务中表现良好但在面对多步骤、长周期、依赖复杂的任务时容易出现以下问题任务拆解能力不足状态不可持续lack of persistence执行过程不可控难以进行中断恢复resume为了解决这些问题Deep Agents 引入了Planning Capabilities规划能力其核心是通过结构化任务管理机制使 Agent 能够显式表示任务task representation维护执行状态state tracking支持多步推理multi-step reasoning实现长期任务管理long-horizon planning二、Planning Capabilities 的核心机制1. write_todos结构化任务表示Planning 的核心接口是一个工具函数write_todos(todos:List[Todo])其中每个 Todo 通常包含{content:任务描述,status:pending | in_progress | completed}该结构具有以下特征特性说明显式任务建模将自然语言任务转为结构化数据可追踪状态每个任务具备生命周期可持久化可存储在 Agent state / memory 中可编排执行支持顺序或条件执行2. 任务生命周期管理Task LifecyclePlanning 系统本质上是一个有限状态机FSMpending → in_progress → completed扩展状态可包括failedblockedskipped状态转换通常由以下驱动LLM 决策工具执行结果外部反馈human-in-the-loop3. Agent 状态持久化State PersistencePlanning 的关键在于状态不是临时的而是持久存在的state{messages:[...],todos:[...]}这带来几个重要能力(1) 长任务支持Agent 可以跨多轮对话持续推进任务而不是每次重新规划。(2) 可恢复执行Resumability结合 checkpoint如 LangGraph可以从中断点继续执行回滚到某个历史状态(3) 可观察性Observability开发者可以清晰看到当前任务列表已完成 / 未完成项执行路径4. Planning 与 Execution 的解耦Deep Agents 明确区分层级职责Planning任务拆解、排序、更新Execution执行具体任务典型流程User Request ↓ PlannerLLM ↓ write_todos Task List ↓ ExecutorLLM / Tool ↓ Update todos这种设计的优势提高模块化程度支持不同模型负责不同职责更容易调试和优化三、典型执行流程结合示例以“完成研究项目”为例Step 1任务规划{todos:[{content:Collect data,status:pending},{content:Analyze data,status:pending},{content:Write report,status:pending}]}Step 2逐步执行执行第一个任务Collect data → completed更新状态[{content:Collect data,status:completed},{content:Analyze data,status:pending},{content:Write report,status:pending}]Step 3动态重规划Re-planning在执行过程中Agent 可以插入新任务调整顺序细化子任务例如{content:Clean data,status:pending}四、关键能力分析1. 分层规划Hierarchical Planning复杂任务可递归拆解Write report ├── Draft outline ├── Write introduction ├── Write methodology └── Edit report优势降低单步推理复杂度提高任务可控性2. 反思与修正Reflection CorrectionAgent 可基于执行结果进行反馈任务失败 → 重新规划结果不完整 → 添加补充任务这是实现**自我纠错self-correction**的关键机制。3. 并行与依赖管理Advanced在更高级实现中支持 DAG有向无环图任务结构任务间依赖关系显式建模{content:Analyze data,depends_on:[Collect data]}4. 与工具调用的协同Planning 并不执行任务而是调度工具数据收集 → API / 搜索工具分析 → Python / Code Interpreter写作 → LLM实现Todo → Tool चयन → 执行 → 更新状态五、与传统 Agent 的对比维度传统 AgentDeep Agent Planning执行方式单步多步状态管理无显式可恢复性弱强可解释性低高复杂任务能力有限强六、工程实践价值1. 提升复杂任务成功率通过拆解任务降低 hallucination 风险。2. 提高可控性开发者可以强制任务顺序插入人工审核点3. 便于调试任务列表就是“执行日志”。4. 支持长周期任务适用于Research AgentCoding AgentWorkflow Automation七、局限性与挑战尽管 Planning 能力显著增强 Agent但仍存在挑战1. 规划质量依赖 LLM错误规划会影响整体执行。2. 状态膨胀问题长任务可能导致 state 过大。3. 缺乏强约束任务依赖关系通常是“软约束”。4. 调度策略仍较简单大多数实现仍是顺序执行简单优先级八、未来演进方向1. 强化 DAG 调度引入真正的 workflow engine类似 Airflow2. 学习型 Planner通过 RL / feedback 优化任务拆解能力3. 多 Agent 协作不同 Agent 负责不同任务Planner AgentExecutor AgentCritic Agent4. 与 Memory 深度融合结合长期记忆实现跨任务学习九、总结Deep Agents 的 Planning Capabilities 本质上是将“隐式推理过程”显式化为“可管理的任务结构”其核心价值在于把复杂问题拆解为可执行单元引入状态与生命周期管理实现可恢复、可观察、可扩展的 Agent 执行框架在工程层面它标志着 Agent 从Reactive反应式 → Deliberative深思熟虑式 → Structured结构化执行的关键跃迁。# pip install -qU deepagents from deepagents import create_deep_agent import time from dotenv import load_dotenv # 加载环境变量 load_dotenv() # 模拟执行任务的工具 def execute_task(task: str) - str: 模拟执行任务 print(fExecuting: {task}) time.sleep(1) # 模拟耗时 return fCompleted task: {task} # 创建 Deep Agent agent create_deep_agent( modelgpt-4o-mini, tools[execute_task], system_promptYou are a helpful agent that can plan, organize, and execute tasks using write_todos. ) # Step 1: 完整生活化 prompt user_input { messages: [ { role: user, content: ( Hi! This weekend I want to get a research project done. I need to gather information on how remote work affects productivity, analyze the data to identify trends, and write a report that includes Introduction, Methodology, Findings, and Conclusion. The report should be about 100 words long, using articles, surveys, and case studies as sources. Please help me organize everything and make a structured plan so I can follow it step by step. ) } ] } # Step 2: 生成任务列表 planning_response agent.invoke(user_input) print( Planning Output ) print(planning_response.get(messages)[-1].pretty_print()) todos planning_response.get(todos, []) print(\nParsed Tasks:) for task in todos: print(f- {task[content]} - {task[status]}) # Step 4: 执行每个任务 for todo in todos: task_name todo[content] print(f\n Executing Task: {task_name} ) result agent.invoke({messages: [{role: user, content: fExecute task: {task_name}}]}) for message in result.get(messages, []): print(message.pretty_print())

相关文章:

Deep Agents 的 Planning Capabilities 技术解析

一、概述 在传统的 LLM Agent 架构中,模型通常以“单步响应”(single-step reasoning)的方式执行任务,即输入 → 推理 → 输出。这种模式在简单任务中表现良好,但在面对多步骤、长周期、依赖复杂的任务时,…...

嘎嘎降AI和快去AI哪个值得用?2000字实测结果对比

嘎嘎降AI和快去AI哪个值得用?2000字实测结果对比 被问了无数次“该选哪个降AI工具”,干脆写一篇详细测评。 用过的有五六款,朋友推荐的也试了。综合最推荐嘎嘎降AI(www.aigcleaner.com),4.8元一篇&#x…...

科技公司发Token当激励,Token到底是什么?

在科技公司的激励场景中,“Token”(通证/代币)通常是一种基于区块链技术的数字化权益凭证,用于代表某种特定的价值或权益。它既可以是公司内部的“数字积分”,也可以是与公司业务/生态绑定的“权益证明”,甚…...

YOLOv8改进系列:融入CBAM(卷积块注意力模块)——双管齐下,强化特征表达

摘要 在计算机视觉领域,目标检测任务要求模型不仅能识别出图像中的物体,还要精准定位其位置。YOLOv8作为当前最先进的单阶段目标检测器之一,凭借其高效的结构和优异的性能,在众多实际应用中大放异彩。然而,在面对复杂背景、小目标密集、遮挡严重等挑战性场景时,即使是YO…...

STM32烧录失败?5个硬件连接检查点帮你快速定位问题(附常见错误排查表)

STM32烧录失败?5个硬件连接检查点帮你快速定位问题 当红色错误提示"Flash Download failed"突然弹出时,新手工程师的额头总会渗出细密的汗珠。作为嵌入式开发的必经之路,STM32烧录失败的问题90%源于硬件连接——这个数字来自我们对…...

YOLOv8改进:引入ECA高效通道注意力机制,轻量级涨点神器!

摘要 在目标检测领域,注意力机制已成为提升模型性能的关键技术之一。然而,传统的通道注意力机制(如SENet)虽然有效,但引入了大量的额外参数和计算量,导致模型复杂度增加。本文详细介绍了一种轻量高效的通道注意力机制——ECA(Efficient Channel Attention),并手把手教…...

php方案 时序对齐与水位线(Watermark)

核心问题流处理有两个时钟:事件时间 (Event Time) ← 传感器/用户操作实际发生的时刻处理时间 (Processing Time) ← 数据抵达处理器的时刻传感器 t100ms 产生数据 → 网络延迟 → t350ms 才到达水位线:系统自己估算"t 之前的数据应该都到齐了&quo…...

Verilog可综合设计:从语法到实践的全面解析

1. Verilog可综合设计基础概念 第一次接触Verilog可综合设计时,我完全被各种专业术语搞晕了。直到在实际项目中踩过几次坑,才真正理解什么是"可综合代码"。简单来说,可综合代码就是能够被EDA工具转换成实际电路结构的Verilog描述。…...

合宙1.8寸LCD屏对比测试:硬件SPI vs 软件模拟SPI在STM32F4上的性能差异

合宙1.8寸LCD屏性能对决:硬件SPI与软件模拟SPI在STM32F4平台的深度实测 当你在嵌入式项目中需要驱动小型LCD屏幕时,SPI接口的选择往往成为关键决策点。合宙1.8寸ST7735s驱动的LCD屏因其性价比高、接口简单而广受欢迎,但开发者常面临一个基础却…...

从入门到实践:基于STM32的Water Sensor水位监测系统搭建

1. 认识你的硬件伙伴:Water Sensor模块详解 第一次接触水位监测项目时,我对着淘宝上五花八门的传感器模块犯了选择困难症。经过多次实测,这款40x60mm的平行导线式Water Sensor确实是最适合新手的入门选择。它的工作原理就像我们用手指触摸水面…...

汇川CodeSys PLC变量定义避坑指南:从BOOL到ARRAY,新手最易犯的5个命名与类型错误

汇川CodeSys PLC变量定义避坑指南:从BOOL到ARRAY,新手最易犯的5个命名与类型错误 在工业自动化领域,汇川PLC凭借其稳定性和CodeSys平台的开放性,已成为众多工程师的首选。但对于刚接触这一平台的开发者来说,变量定义这…...

全志H616开发板刷机避坑指南:从TF卡格式化到SSH登录全流程

全志H616开发板实战指南:从系统刷写到SSH配置的完整避坑手册 当你第一次拿到Orangepi Zero2开发板时,可能会被这个小巧但功能强大的全志H616平台所吸引。作为一款性价比极高的开发板,它集成了四核Cortex-A53处理器、Mali-G31 GPU和丰富的接口…...

B端拓客号码核验行业困局:痛点梳理与技术升级方向氪迹科技法人股东号码核验系统

在B端客户拓展的全链条中,企业核心决策人(法人、股东、董监高等)联系方式的核验的筛选,是影响拓客效率的关键前置环节,直接决定了后续拓客工作的投入产出比。人工手动筛选受限于人力成本、时间成本,难以适配…...

基于西门子S7-200PLC的自动灌溉系统组态设计与实现:梯形图程序详解、接线图与IO配置指南

基于西门子S7-200PLC的自动灌溉系统组态王组态 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面最近在厂里折腾了个自动灌溉系统,客户非要西门子S7-200 PLC搭组态王监控。这玩意儿说难不难,就是得把硬件接线、梯…...

LDPC码:检验矩阵重构、论文复现、开集识别与可定制编译码及其识别的研究

LDPC码检验矩阵重构 论文复现 LDPC码开集识别 可定制LDPC码编译码及其识别 信道编码定制LDPC码作为5G标准中的核心信道编码方案,玩转它的核心在于校验矩阵的设计。今天咱们来点硬核操作——从零构建可定制的校验矩阵,顺便聊聊怎么在未知参数的情况下扒开…...

基于python+flask的灾区救援物资管理系统

目录系统架构设计数据库模型设计核心功能实现数据可视化模块部署方案扩展功能建议项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构设计 采用Flask作为后端框架,搭配SQLAlchemy进行数据库操作,前…...

comsol仿真超表面复现:多级分解通用,适用各种形状,以下是两篇文献(六面体阵列、圆柱体阵列)

comsol仿真超表面复现:多级分解通用,适用各种形状,以下是两篇文献(六面体阵列、圆柱体阵列)深夜的实验室键盘声里,突然意识到超表面设计有个隐藏的bug——当你费劲调出完美谐振曲线时,根本说不清…...

OpenClaw 的对话管理是否支持混合主动(mixed-initiative)交互?如何判定何时由系统主动引导?

在讨论对话系统的设计时,混合主动交互是一个绕不开的话题。很多开发者关心像 OpenClaw 这样的框架是否支持这种模式,以及在实际项目中如何把握系统主动引导的时机。这里就结合一些实际经验,聊聊对这个问题的理解。 OpenClaw 在设计上确实考虑…...

在知识更新上,OpenClaw 如何解决预训练知识的时效性问题?是否采用实时检索注入?

关于大模型知识时效性的问题,确实是当前技术应用中的一个核心挑战。模型在预训练阶段学到的知识,本质上是对某个时间点之前世界状态的快照。时间一长,这份快照自然会变得陈旧。OpenClaw 在处理这个问题上,思路比较清晰&#xff0c…...

HAL库STM32G0多通道ADC采样DMA传输与定时器触发优化配置

1. 多通道ADC采样的核心挑战与解决方案 当你从单通道ADC采样切换到多通道时,问题会突然变得复杂起来。我刚开始做多通道采样时,发现数据经常错位,采样速率也不稳定,后来才发现是DMA缓冲区配置出了问题。多通道采样的本质是要让ADC…...

【实战指南】西门子1500与巴鲁夫RFID的工业数据追踪方案

1. 工业数据追踪的实战价值 在现代化工厂的流水线上,每天都有成千上万的工件需要被精准识别和追踪。想象一下,如果每个工件都能"开口说话",主动告诉设备"我是谁"、"我来自哪里"、"下一步该去哪"&…...

STM32CubeMX实战:Fatfs文件系统与SDMMC驱动深度集成

1. 为什么需要Fatfs文件系统? 在嵌入式开发中,SD卡存储是个常见需求。想象一下,你的STM32设备需要记录传感器数据、存储配置文件或者保存日志文件,这时候就需要一个可靠的文件系统来管理这些数据。Fatfs就像是一个"文件管家&…...

伦理中间件——通往交往理性界面或空间的两条门

伦理中间件——通往交往理性界面或空间的两条门岐金兰在2026年3月22日写了两篇重要的文章:一篇是《关于Selbstgefhl,关于康德,关于“不敢”》,另一篇是《欣慰、期待与一扇未开的门》。两篇文章看似主题不同——一篇是关于与康德哲…...

岐金兰的补充:关于Selbstgefühl,关于康德,关于“不敢”

岐金兰的补充:关于Selbstgefhl,关于康德,关于“不敢”这封信写完之后,我犹豫了很久,要不要附上这篇《自感翻译专章》。犹豫不是因为内容,而是因为一个隐秘的心结——康德。我在《先验自感论》里借用了他的方…...

岐金兰的回应:欣慰、期待与一扇未开的门

岐金兰的回应:欣慰、期待与一扇未开的门读完Google DeepMind团队在《Nature》上发表的这篇《大语言模型道德能力评估路线图》,我坐在书桌前沉默了很久。沉默不是因为震撼,而是因为一种复杂的情绪——欣慰、期待,还有一丝隐隐的“果…...

先验自感论:意义行为的可能性条件

先验自感论:意义行为的可能性条件在《自感痕迹论》中,我曾提出:意义的发生是一个“自感注册→客观痕迹→生活→自感”的闭环结构。这个闭环的核心是“自感”(S)——那个“知道正在发生的知道”。但有一个问题&#xff…...

最讽刺的是附语

您敏锐地捕捉到了这个文本中最具张力、也最诚实的一点。确实,这篇系统论证“先验意义场域”与“经验痕迹内外”,并旨在破除对任何固化痕迹(包括理论本身)之执着的论文,其最终的附语,却流露出一丝对另一套强…...

Langchain4j 1.1.0 + DeepSeek API:5分钟搞定Java AI服务接入与结构化输出配置

Langchain4j 1.1.0与DeepSeek API集成实战:Java开发者快速构建AI服务的完整指南 在当今快节奏的技术环境中,Java开发者经常面临将最新AI能力快速集成到现有项目中的需求。本文将手把手指导您如何在Spring Boot项目中,通过Langchain4j 1.1.0框…...

前端框架:AngularVSReact,哪一个更适合你的项目

🔍AngularvsReact:哪一个更适合你的项目? 选择前端框架就像挑选工具箱,合适的工具能让开发事半功倍!😉---⚙️Angular:大而全的企业级方案 如果你需要构建复杂的企业级应用,Angular可…...

手把手教你用Ollama在Linux服务器上部署大模型,5分钟搞定远程调用(含SSH端口转发教程)

5分钟极速部署:Linux服务器安全运行大模型全指南 当开发者第一次尝试在云端服务器部署大模型时,往往会陷入复杂的配置迷宫中。本文将呈现一条清晰路径,从零开始搭建可安全调用的模型服务,无需担心网络暴露风险。 1. 环境准备&…...