博客
文章系列日历
归档关于搜索

鄂ICP备19019526号

© 2026 博客

  1. 文章
  2. Agent 任务分解与子目标生成的层次化理论 2026

Agent 任务分解与子目标生成的层次化理论 2026

2026年7月30日·约 14 分钟·4040 字·2 次阅读
Agent 技术
Agent 任务分解与子目标生成的层次化理论 2026

目录

  • 一、问题的提出:Agent 长程任务为何需要层次化分解
  • 二、形式化:分层任务网的语法与语义
  • 三、HTN 的递归分解与可达性定理
  • 四、子目标生成分解的可学习视角
  • 五、Plan-and-Execute 的反馈闭合
  • 六、统一视角:任务图作为范畴论中的极限对象
  • 七、对工程实践的推论
  • 八、讨论与局限
  • 九、给研究者与工程师
  • 参考文献

一、问题的提出:Agent 长程任务为何需要层次化分解

当一个 Agent 被要求"完成一份二十页的市场分析报告"时,它真正面对的不是单个动作,而是一个需要跨越数十次工具调用、跨越检索—阅读—撰写—校验四个阶段、跨越若干小时的复合任务。把这种任务直接交给一个扁平的 ReAct 循环,即使把上下文窗口扩展到 128K,也会在中间某一处遇到注意力熵塌缩:模型记得任务开头但忘记任务结尾,或者把第一段错误结论当作既定事实滚入后续推理。层次化任务分解(Hierarchical Task Decomposition)正是为了在这条熵塌缩曲线上找到一个工程上可控、理论上可证的解。

我们这篇文章想要回答三个层层递进的问题:第一,什么是"层次化"的精确形式化定义?为什么它在长程任务上比扁平分解更优?第二,层次分解可以从哪里来——是工程师手写 HTN,还是模型自己学出来?第三,层次分解和 Plan-and-Execute 的反馈闭合如何统一成一个可验证的算子?

二、形式化:分层任务网的语法与语义

我们采用 Erol、Hendler 和 Nau 在上世纪九十年代给出的 HTN(Hierarchical Task Network)框架作为基础。一个任务网络是一个有向超图:节点是任务(原始任务 primitive task 或复合任务 compound task),超边是约束(顺序约束、资源约束、信息流约束)。复合任务可以被方法(method)递归展开为子任务网络,直到全部叶子节点都是原始任务。一个规划问题因此是一个三元组 ⟨s0,Tinit,D⟩\langle s_0, T_{init}, D \rangle⟨s0​,Tinit​,D⟩,其中 s0s_0s0​ 是初始世界状态,TinitT_{init}Tinit​ 是初始任务网络,DDD 是领域(domain)定义复合任务可被如何展开。

可达性是 HTN 规划理论的核心不变量。给定一个方法集合 M\mathcal{M}M,我们称一个状态 sss 对复合任务 TTT 是"可达"的,当且仅当存在一个 M\mathcal{M}M 导出的分解序列,使得从 sss 出发执行所有得到的原始任务后能到达一个满足 TTT 后置条件的状态。这个定义看似朴素,但它蕴含一条工程上极其重要的定理:层次化分解把规划的搜索空间从 ∣A∣∣T∣|A|^{|T|}∣A∣∣T∣ 压缩到 ∏i∣Ai∣\prod_i |A_i|∏i​∣Ai​∣,其中 AiA_iAi​ 是每层方法的选择空间。这条指数级的压缩,正是层次化 Agent 在长程任务上胜过扁平 Agent 的根本原因。

三、HTN 的递归分解与可达性定理

递归分解的工程意义需要更细致地展开。考虑一个 Agent 需要执行"分析一份财报"这个复合任务,它可以被方法 M1M_1M1​ 展开为 {提取财务数据, 计算关键指标, 对比历史, 生成段落}, 而"计算关键指标"自身又可以被方法 M2M_2M2​ 展开为 {读利润表, 读现金流量表, 推导增长率, 推导毛利率}。每一层的展开都伴随着搜索空间的爆炸式收缩:如果扁平地枚举,Agent 需要在数百个原始动作中找到一条满足所有约束的轨迹;而层次化之后,每一层的选择空间只有几个到十几个方法。

可达性定理进一步给出了一个判定条件:当且仅当每一层的子任务网络都存在一个"全可达"的执行轨迹时,顶层任务可达。这意味着 Agent 在每一层都可以做局部剪枝——如果在某一层发现子任务网络不可达,它可以直接把这条分支剪掉,而不需要回溯到顶层重做整棵分解树。在生产系统里,这对应于 LangGraph 或 CrewAI 的"任务节点状态机":每个节点内置一个可达性检查器,失败时不必重置整个工作流,只需要回退到最近的稳定父节点。

更微妙的一点是:可达性定理在理论上要求"完备的方法集合",但现实中的方法集合永远是不完备的。这条不完备性意味着 Agent 必须保留"在线方法学习"的能力——这正是下一节的主题。

从算法角度讲,可达性的判定本身是一个 PSPACE 问题——在最坏情况下,验证一个任务网络是否存在执行轨迹需要的内存与任务网络的规模呈多项式关系。但层次化分解把这个 PSPACE 问题分解成了多个浅层子问题:每一层都只在自己的局部状态空间内做可达性检查,而浅层状态空间在实践中往往是多项式甚至对数级的。这条"层次化剪枝"的工程意义在于,它把一个理论上 PSPACE-hard 的规划问题,在绝大多数实际场景下转化成了一个可以实时计算的多项式问题——这是 HTN 长期主导企业级规划系统的根本原因。

另一个常被忽视的细节是:方法集合的不完备性不是均匀分布的。在长程任务里,方法覆盖不足最容易出现在"领域边界"——比如从财务报表分析跳到法律合同审阅,工程师手写的方法集合往往没有覆盖这种跨领域任务。这条分布不均匀意味着 Agent 在做层次化分解时,应该对"领域边界"附近的层次额外警惕,把更细粒度的可达性检查器部署在这些层次。生产里的实践经验是:在跨领域任务上,层次深度比方法宽度更重要——多拆一层比每一层多列几个方法更安全。

四、子目标生成分解的可学习视角

如果方法集合 M\mathcal{M}M 是固定的,层次化分解的优势就被锁死在工程师的先验知识上。近期 LLM Agent 的研究路线——Plan-and-Execute、Reflexion、Tree-of-Thoughts——都隐含地假设 Agent 可以从历史经验中"学到"新的分解方法。把这一假设形式化,我们得到"子目标生成"(subgoal generation)的可学习视角。

具体地,把每次任务的执行轨迹看作一个三元组 (Tinit,M∗,τ)(T_{init}, M^*, \tau)(Tinit​,M∗,τ),其中 M∗M^*M∗ 是实际被采用的方法集合,τ\tauτ 是最终的成败结果。一个子目标生成器 πθ\pi_\thetaπθ​ 的目标,就是从历史 (Tinit(i),M∗(i),τ(i))(T_{init}^{(i)}, M^{*(i)}, \tau^{(i)})(Tinit(i)​,M∗(i),τ(i)) 集合中归纳出对未来 Tinit(new)T_{init}^{(new)}Tinit(new)​ 最优的 M∗M^*M∗。这是一个监督学习问题——给定任务描述与成败标签,预测方法集合——也可以是一个强化学习问题——把方法选择视为动作,把最终成败视为稀疏奖励。

可学习视角与 HTN 静态视角的真正区别在于:可学习视角承认方法集合本身是流动的。一个 Agent 在面对它从未见过的复合任务时,不应该被工程师手写的方法集合束缚;它应该能从相似任务的轨迹中推断出一个临时方法集合,执行后把它合并回长期记忆。这个机制对应到生产系统里就是 RAG 版的"案例检索"(case-based reasoning):当 Agent 接到"分析一份财报"的任务,它先去长期记忆里检索过去分析过的财报案例,把它们的方法作为本次规划的候选。

从学习算法的角度,子目标生成器 πθ\pi_\thetaπθ​ 的训练数据构造是一个关键设计选择。最朴素的做法是把所有执行成功的轨迹都作为正样本,但这忽略了"方法失败但任务成功"的情况——某些时候 Agent 用了一个不该用的方法,但靠后续的纠错路径最终成功了。把这种轨迹也纳入训练集会污染方法集合,导致 Agent 学会"侥幸成功"的方法。生产里更稳健的做法是采用"因果归因"(causal attribution):从轨迹中识别真正对成功起决定性作用的方法子集,只把这些方法作为正样本。这条原则与第 421 篇文章里讨论的反事实决策框架同源——判断一个方法是否有用,要看"如果去掉它,任务是否仍能成功"。

更进一步,可学习视角不应该止步于方法选择,它还应该学习"何时停止分解"。层次化分解的一个常见失败模式是"过度分解"——把一个本可以一步完成的子任务硬拆成三步,引入了不必要的状态迁移和失败点。Agent 应该有一个"分解停止判别器",它在每一层判断当前任务是否值得继续分解——如果原始任务的执行成功率已经足够高,就跳过分解直接执行。这条停止判别器在生产里通常用"性价比阈值"实现:分解成本 ÷ 分解收益 < 阈值时停止分解。

五、Plan-and-Execute 的反馈闭合

Plan-and-Execute 范式把规划与执行解耦为两个独立阶段,中间通过反馈信号闭合。这个反馈信号不是简单的成败标签,而是一个三元组 (st,at,st+1)(s_t, a_t, s_{t+1})(st​,at​,st+1​),其中 sts_tst​ 是执行前状态、ata_tat​ 是执行动作、st+1s_{t+1}st+1​ 是执行后状态。Plan-and-Execute 的关键洞察是:反馈信号不仅应该触发重新规划(replanning),还应该触发方法集合的更新——如果 ata_tat​ 导致了不可预期的状态迁移,这意味着当前方法集合 M∗M^*M∗ 对这一类状态覆盖不足,需要在长期记忆中补一个"失败案例"。

把反馈闭合形式化为一个算子,我们得到 Replan(st,Tremain)=πθ(Tremain,Context(s0,st))(s_t, T_{remain}) = \pi_\theta(T_{remain}, \text{Context}(s_0, s_t))(st​,Tremain​)=πθ​(Tremain​,Context(s0​,st​))。这个算子的关键参数是上下文函数 Context\text{Context}Context,它决定 Agent 在重新规划时看到的"工作记忆"。如果 Context\text{Context}Context 只包含最近的 kkk 个状态,这是一个短期记忆视角;如果 Context\text{Context}Context 包含整个历史轨迹,这是一个长期记忆视角。层次化 Agent 应该在两者之间动态切换:高层规划用长期记忆,低层执行用短期记忆。

这条算子设计原则在生产里体现为 LangGraph 的"检查点"(checkpoint)机制:每个父节点对应一次高层规划,每个子节点对应一次低层执行,检查点保存中间状态使得 Replan 可以从任意父节点重启而不丢失上下文。

值得强调的是,反馈闭合的延迟是设计权衡,不是工程 bug。如果 Agent 把反馈信号压到每个原始任务之后,意味着每次原始任务完成都要触发一次 Replan 评估,代价是大量冗余计算;如果把反馈信号延长到整个复合任务完成,意味着中途的错误可能要等到最后才被发现。生产里的最佳实践是分层反馈:高层 Replan 在每个复合任务完成后触发,低层 Replan 在每个原始任务失败时触发。这条分层反馈原则与"层次化分解"是一对孪生概念——分解多深,反馈就应该多频繁。

反馈闭合还应该与可达性检查器协同工作。当一个原始任务失败时,Replan 不应该直接重启,而应该先调用可达性检查器:如果当前子任务网络存在另一条全可达的执行轨迹,就改走那条轨迹;如果不存在,就触发一次完整的高层 Replan。这条"先剪枝再重规划"的两阶段设计,可以把 Replan 的频率降低一个数量级。

六、统一视角:任务图作为范畴论中的极限对象

把 HTN 的递归分解、子目标生成的可学习视角、Plan-and-Execute 的反馈闭合三者统一,我们可以借助范畴论的语言。把每个复合任务 TTT 看作一个对象,把方法集合 MMM 看作从 TTT 到子任务网络 ⟨T1,T2,…,Tn⟩\langle T_1, T_2, \ldots, T_n \rangle⟨T1​,T2​,…,Tn​⟩ 的态射(morphism),把可达性条件看作极限对象(limit)的泛性质(universal property)。

在这个范畴里,层次化分解对应于"构造极限锥"(constructing a limit cone),Plan-and-Execute 的反馈闭合对应于"极限的余极限分解"(colimit decomposition)。可学习视角则对应于"函子的自然变换"(natural transformation of functors)——把方法的归纳视为一个把历史经验函子映射到新任务函子的自然态射。

这条统一视角的好处是:它给出一个可验证的不变量——任何 Agent 规划器的输出都是一个范畴论极限对象,任何错误(规划失败、执行偏差、状态失配)都对应着这个极限对象在某处的泛性质被破坏。这给生产监控提供了一个清晰的对齐指标:当 Agent 的实际轨迹与极限对象的预期态射不同构时,触发告警。

范畴论视角还揭示了一个反直觉的事实:层次化分解的最优深度不是一个静态超参数,而是任务图"宽度 × 深度"乘积的一个动态平衡点。如果任务图很宽(每一层有很多并列子任务),层次就应该更深一些,以便每一层的子任务图可以被独立剪枝;如果任务图很深(层次本身已经很多),层次就应该浅一些,避免引入额外的元任务(metatask)开销。这条动态平衡点可以用"任务图熵"来量化——每一层的宽度熵与层次深度熵相等时,达到信息论意义上的最优分解。

最后,范畴论的极限对象视角还给出了一个跨框架对齐的标准:无论是 LangGraph 的图执行、CrewAI 的角色协作,还是 AutoGen 的对话流,都可以被抽象为某个范畴里的态射,它们的规划器输出都是某个极限对象。引入这个抽象层,工程师可以在不切换底层框架的前提下,对比不同框架的规划质量——这对于多框架混用的生产环境是一个非常重要的诊断工具。

七、对工程实践的推论

从上述理论我们可以推出五条工程实践。第一,长程任务必须分层——任何超过 10 步原始动作的任务都应该被强制要求至少两层分解,否则在大约第 15 步会遇到注意力熵塌缩。第二,每层必须配备可达性检查器——这是一个布尔函数,检查当前子任务网络是否存在执行轨迹,失败时直接回退到父节点,而不是重置整个工作流。第三,方法集合必须可更新——Agent 应该有"在线方法学习"通路,把执行过的方法持久化到长期记忆,而不是每次重启都重新规划。第四,Replan 必须有上下文边界——明确区分高层规划用长期记忆、低层执行用短期记忆,避免上下文窗口被历史轨迹填满。第五,监控必须对齐到极限对象的泛性质——用一个独立的 verifier 检查 Agent 轨迹与极限对象的同构性,失配时触发 Replan。

这五条推论可以用下面的 mermaid 图来表示整个层次化 Agent 的闭环架构:

图表加载中…

八、讨论与局限

层次化理论的最大局限是它的"层次"假设——任务必须能被自然地分解为多层子任务。但在某些场景下,任务的层次结构本身是动态涌现的:在开放式对话里,用户的真实意图可能在多轮交互后才显现;在多智能体协作里,任务分解可能跨越多个 Agent 的私有状态。这两类场景下,层次化理论需要被扩展为"动态层次化"——Agent 在执行过程中动态地构造、合并、重命名层次。

另一个局限是方法集合的完备性假设。在生产系统里,工程师永远不能保证方法集合覆盖了所有可能的任务变体。这条不完备性意味着 Agent 必须有一个"未知检测器"——当遇到没有方法对应的复合任务时,它不应该强行规划,而是应该主动向用户请求澄清。这个机制对应到生产里就是"任务分类器 + 置信度阈值"——置信度低时触发人工介入。

最后一个局限是反馈闭合的延迟。在 Plan-and-Execute 范式里,反馈信号只有在原始任务执行完毕后才能收集,这意味着 Agent 必须在执行开始时就锁定一个长程规划,无法在执行中途修改。这条延迟假设在 2026 年的流式 Agent 里正在被重新设计:Agent 可以用"流式方法集合"在执行中途动态替换方法,代价是上下文管理更复杂。

九、给研究者与工程师

对研究者而言,层次化任务分解的最大开放问题是理论保证与可学习性的统一:HTN 提供完备性定理,可学习视角提供经验归纳能力,但目前没有一条定理能把二者结合——"在线方法学习不会破坏完备性"。这条定理如果能被证明,将是 Agent 规划理论的下一个里程碑。从信息论的角度看,这条定理的本质是给出一个"方法集合学习率"的上界——每学习一个新方法,完备性下降的幅度应该被这个上界控制住。如果学习率不收敛,Agent 的方法集合会越来越偏离完备集合,最终退化为一个启发式搜索器。

另一条开放问题涉及任务图的"维度坍缩"。当 Agent 在层次化分解中遇到一个原本高维的任务(比如开放式对话、多智能体协作),它倾向于把高维任务坍缩为低维的"线性任务图"以便套用 HTN。这条坍缩丢失了大量原任务的结构信息。研究者正在探索"高维任务图"的形式化——把任务图本身视为一个张量场而不是一个图,用微分几何工具描述它的形变与重整化。

对工程师而言,本文的五条推论可以立即落地:任何长程任务强制分层、每层配可达性检查器、方法集合可更新、Replan 有上下文边界、监控对齐极限对象。这五条不需要新的基础设施,只需要在现有的 LangGraph/CrewAI 框架上增加一个方法库、一个可达性检查器、一个 Replan 算子。

在落地顺序上,我们建议遵循"先监控、再剪枝、后学习"的三阶段。第一阶段先建立极限对象监控——这是观测层,不需要修改业务逻辑,只需要一个独立的 verifier 检查 Agent 实际轨迹与理论极限对象的同构性,失配时输出告警。这一阶段的目标是让团队看清 Agent 在哪些层次最容易出错。第二阶段再上线可达性检查器——这是剪枝层,在每个任务节点增加一个布尔判断,失败时自动回退到父节点。第三阶段才引入在线方法学习——这是进化层,让 Agent 从历史轨迹中归纳新方法,但前提是前两层已经稳定。颠倒这个顺序是常见的踩坑模式:在没有观测的情况下盲引入在线学习,会导致方法集合污染,而污染的方法集合又会被错误地累积进长期记忆,造成难以回滚的退化。

最后,层次化理论的核心精神是承认 Agent 的认知带宽是有限的,必须用层次结构来对抗注意力熵塌缩。这条精神比任何具体算法都重要——它提醒我们,在追逐更强的模型、更大的上下文窗口的同时,不要忘记层次化结构本身才是工程可扩展性的根基。

一句话摘要:层次化任务分解通过递归方法、可达性剪枝、Replan 反馈闭合,把长程 Agent 的搜索空间从指数级压缩到多项式级,是 2026 年长程 Agent 工程可扩展性的理论根基。


参考文献

  1. Erol K, Hendler J, Nau D. UMCP: A Formalism and CommonSense Algorithm for Mixed-Initiative Planning. 1994.
  2. Ghallab M, Nau D, Traverso P. Automated Planning: Theory and Practice. Elsevier, 2004.
  3. Wei J, et al. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. NeurIPS 2022.
  4. Yao S, et al. ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023.
  5. Zhou D, et al. Tree of Thoughts: Deliberate Problem Solving with Large Language Models. NeurIPS 2023.
  6. Sun S, et al. Principle-Driven Self-Alignment for Language Models. ACL 2023.
  7. Wang L, et al. Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning. ACL 2023.
  8. Shinn N, et al. Reflexion: Language Agents with Verbal Reinforcement Learning. NeurIPS 2023.
  9. Liu B, et al. AgentBench: Evaluating LLMs as Agents. ICLR 2024.
  10. Hong S, et al. MetaGPT: Meta Programming for a Multi-Agent Collaborative Framework. ICLR 2024.
  11. Wu Q, et al. AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation. COLM 2024.
  12. Park J, et al. Generative Agents: Interactive Simulacra of Human Behavior. UIST 2023.
  13. Wang G, et al. Voyager: An Open-Ended Embodied Agent with Large Language Models. 2023.
  14. Bohnet B, et al. The URIEL+ Typology Database. 2024 (层级语言资源对 agent 任务分解的提示).

相关文章

  • Agent 的 DAG 工作流引擎与分布式任务图调度工程 20267月30日
  • Agent 故障自愈工程 2026:从故障检测到自动化恢复的生产闭环7月29日
  • Agent 工具调用选择的学习动力学与不确定性几何7月29日

评论

加载评论中…

发表评论

返回文章列表