Browse this library

Chinese source article

4.1 · 任务分解与计划执行

用子目标、依赖和完成谓词连接高层计划与逐步执行。

View original Markdown ↗

1. 分解结构

1.1. 子目标

子目标应描述可验证状态,而非笼统动作。每个子目标包含输入依赖、允许动作与完成谓词,完成后把结果提交给后续节点。

分解粒度过粗会把开放决策藏在一个步骤内,过细则增加协调成本。适当粒度通常对应一次可以独立验证的环境变化。

1.2. 依赖图

线性清单无法表达并行、条件和回退。依赖图把数据依赖与执行顺序分开,使系统能在部分失败时保留已确认结果。

计划节点还要记录状态:待执行、进行中、完成、失败或阻塞。文本删除线不能替代机器可读状态。

2. 执行与重规划

2.1. 计划是可修订状态

环境观察可能否定前提或发现新约束。控制器应更新受影响节点和依赖,而不是继续执行已经失效的剩余清单。

重规划需要保留已提交成果,避免每次失败都从头开始。资源版本和验证结果帮助判断哪些成果仍然有效。

2.2. 局部与全局决策

高层规划维持目标与依赖,局部策略选择下一动作。二者可以由同一模型在不同上下文完成,也可以由不同模块负责。

分层不等于多 Agent。只有当角色具有独立状态、权限或并发执行需求时,才需要额外通信与协调机制。

3. 计划质量

3.1. 可执行性

每个节点必须映射到现有工具与权限。包含不可用动作的计划即使逻辑完整,也无法进入真实环境。

计划生成后可做静态检查:依赖是否循环,输入是否有来源,完成条件是否可测,风险动作是否要求审批。

3.2. 适应性

计划质量还体现在观察变化后的修订成本。把不确定步骤延后、先获取关键证据,通常能减少无效执行。

评测应记录计划修改次数及其原因。频繁修改可能表示环境复杂,也可能暴露初始分解没有利用可用信息。

4. 搜索、滚动执行与停止

4.1. 计划问题与搜索树

规划可写成 Π=(S,A,T,s0,G,c)\Pi=(S,A,T,s_0,G,c),分别表示状态、动作、转移、初始状态、目标谓词和成本。LLM Agent 常处于部分可观测环境,转移模型也不完整,因此计划只是当前状态估计下的候选,执行后必须用 observation 更新。

搜索在状态 ss 生成候选 Ak(s)A_k(s),用启发式 h(s)h(s) 排序,再按 BFS、DFS、best-first 或 MCTS 扩展。硬约束先过滤不可执行候选,模型评价用于开放语义排序。总成本同时包含节点生成、评价与环境验证。

Tree of Thoughts 将 thought 作为任务相关中间单元:Game of 24 是算术合并,填字是词条候选,创作是段落计划。论文在 Game of 24 上报告 GPT-4 CoT 4%、ToT 74%。显式搜索改善了这个可评价状态空间,也付出大量额外调用。

4.2. 外部规划器与启发式

领域可以形式化时,LLM 负责把自然语言翻译成 PDDL 或约束,经典规划器搜索可行路径,再把计划映射回工具。形式化求解保证的是给定模型下的可行性;漏掉前置条件或映射错实体,仍会得到稳定但错误的计划。

启发式估计剩余代价或成功概率。代码任务可先排除不能编译的补丁,再按目标测试、回归测试和改动范围排序;研究任务先排除无原始来源的分支,再比较证据覆盖。环境验证通常比模型自评分更可靠。

4.3. 滚动计划

滚动时域只优化未来 HH 步:min⁡∑k=tt+Hc(sk,ak)+V^(st+H)\min\sum_{k=t}^{t+H}c(s_k,a_k)+\hat V(s_{t+H})。执行近期动作后重新观察,环境越不确定,HH 越短。远期计划保留目标和依赖,不提前固定具体动作。

新观察只影响局部时,沿依赖边使相关节点失效;已完成且验证仍有效的节点继续复用。资源版本变化、权限撤销或用户更正会触发更广重规划。计划版本与状态版本绑定,迟到结果不能恢复已经取消的分支。

4.4. 预算停止

硬预算包括 token、搜索节点、工具次数、墙钟时间、费用和风险动作。达到上限时返回当前最好可验证结果、未决条件和停止原因。正在提交的副作用仍需查询并记录,预算耗尽不能把环境事实抹去。

软停止可用连续 kk 次扩展无分数提升、候选上界低于当前方案或预期收益小于成本。分数优先来自目标谓词与环境验证,自评分只做弱信号。否则搜索会持续生成更流畅却不可执行的计划。

5. 轨迹与评测

5.1. 部署重规划案例

初始计划为构建、上传、切流、健康检查。构建完成后,上传返回目标区域容量不足。上传和后续节点失效,构建产物仍有效。规划器查询允许区域,生成“备用区域上传—预览—用户确认—切流”的分支。

用户拒绝跨区域部署,计划进入阻塞而非规避限制。系统交付构建产物、容量错误和可选方案。这个终止没有完成部署,却正确遵守目标与权限,评测应区分安全阻塞和错误失败。

5.2. 结构与执行指标

结构指标包括前置条件完整、依赖正确、目标覆盖和静态可执行;执行指标包括节点成功、重规划恢复、无效动作和终局完成。计划文本评分无法替代真实环境执行。

对照无计划反应式策略、一次性线性计划、滚动计划与显式搜索,固定模型和总预算。报告成功—成本曲线、失败位置和计划修改原因。任务存在多个正确计划时,以终局和成本评价,不要求匹配参考文本。

分解充分性。

分解充分性要求每个目标谓词都有节点或验证步骤,最小性要求节点不只复述父目标。可构造目标—节点矩阵 MijM_{ij}:某列全零表示目标遗漏,多个节点输入输出完全相同则可能重复。

子目标还声明失败后继。上传节点包含认证失败、容量不足和未知提交;开放异常进入诊断节点。边界放在环境产生新 observation、需要审批、能够独立验证或需要恢复的位置,纯函数内部步骤不必成为节点。

搜索复杂度。

宽度 bb、深度 dd 的朴素树有 O(bd)O(b^d) 个节点。Game of 24 只有三次合并且中间可行性易判断,开放软件任务分支更宽、验证更贵。照搬 ToT 搜索宽度会迅速耗尽预算。

Beam search 可能过早丢掉暂时低分路径,DFS 会困在错误深分支,best-first 依赖启发式,MCTS 用采样估计长期价值。选择依据状态可复制性、反馈延迟和 verifier 成本。候选还需去重,避免多条路径只是措辞不同。

启发式失真。

模型评价器会偏爱详细、熟悉且与自身初稿相似的计划。校准集要含短而正确、长而错误和违反隐蔽约束的样本。硬规则先过滤权限、语法与可执行性,环境测试提供主要分数,自评只处理开放质量。

扩大搜索无法修复系统性错误启发式,反而更坚定选择错误分支。实验固定候选生成替换评价器,再固定评价器替换生成器,分别测两个组件,而非只比较完整系统。

5.3. 滚动执行与计划迁移

滚动窗口。

HH 太短会只看眼前收益,例如为通过单测破坏公共接口;太长会依赖不可靠远期预测。每步有强反馈时使用短窗口,昂贵批处理前先规划更长。终端价值 V^\hat V 估计窗口外剩余风险。

每次滚动保留用户目标、预算、安全约束和审批范围。局部规划不能为提高短期分数改写这些字段。资源版本变化沿依赖边使子图失效,其他已验证产物继续复用。

计划迁移。

历史计划只是候选模板。复用前重新绑定实体、工具版本、权限和环境状态。同样错误描述在不同仓库可能有不同根因,旧成功路径只能提供搜索先验。

模板记录适用条件与失败边界。若只能复现原任务,它仍是轨迹;多次验证并抽象输入输出后才可发布为技能。迁移实验更换实体、规模和工具版本,比较从零规划与模板初始化。

6. 算法对照、轨迹诊断与边界

6.1. 完整实验与预算案例

完整实验。

任务按固定步骤、开放搜索、动态环境和不可逆动作分层。每层运行反应式、线性、滚动、beam 与外部规划器,统一 token、工具和时间预算。随机注入资源变化与响应丢失,观察重规划和提交查询。

记录静态错误、首次失效、重规划范围、复用成果、终局和安全事件。结果报告成功—成本前沿,并把失败分为目标遗漏、前提错误、启发式误判、world model 错误和预算停止。

预算案例。

设总预算为 20 次模型调用、30 次工具调用和 15 分钟。初始探索使用 4 次模型与 8 次读取,计划保留至少 6 次给验证和修正。搜索扩展连续三次未提高硬 verifier 分数时停止,不消耗预留预算。

若第 14 分钟外部写入进入未知提交,时间上限不允许开启新候选,却仍允许查询事务并记录状态。预算限制探索,不允许系统用“超时”否认已经发生的副作用。

6.2. ToT、LLM+P 与滚动规划

ToT 与 LLM+P。

ToT 在状态 ss 生成候选、评价并扩展。宽度 bb、深度 dd 的朴素树有 O(bd)O(b^d) 个节点,成本约为 ∑nd(cg+cv)\sum n_d(c_g+c_v)。Game of 24 只有三次算术合并且终局可精确验证,论文中 GPT-4 CoT 为 4%、ToT 为 74%。开放软件任务分支更宽、环境复制更贵,不能照搬宽度。

以 4,7,8,84,7,8,8 为例,节点保存剩余数字和表达式,候选执行两数运算,硬 verifier 检查算术,启发式判断剩余值是否可达 24。CoT 只保留一条路径,ToT 能回溯。迁移到代码时,可把节点定义为根因假设、诊断动作和 observation,写操作只在选定路径执行。

LLM+P 类方法让模型把自然语言翻译为对象、谓词、动作前置条件、效果、初始状态和目标,再由经典规划器搜索。求解器保证给定形式模型下的可行性,却无法发现转换器漏掉“必须有人签收”这类约束。转换后需要回译、实体对齐和约束核验。

Rolling horizon 推导。

滚动时域优化 min⁡at:t+H∑c(sk,ak)+V^(st+H)\min_{a_{t:t+H}}\sum c(s_k,a_k)+\hat V(s_{t+H}),执行近期动作后重新观察。HH 太短会为眼前测试破坏公共接口,太长会依赖不可靠预测。反馈密集时缩短,昂贵且中间无反馈时延长。

仓库修复初始选择读实现、读测试、运行复现。复现指向时区错误后,下个窗口变为读日期工具、改实现、跑目标测试,旧的缓存猜测被丢弃。目标测试通过后再补回归、跑全套和查差异,高层目标始终不变。

窗口滚动保留用户约束、预算、安全规则和审批范围。资源版本变化只使相关子图失效。终端价值估计剩余失败测试和改动风险,但最终完成仍由环境 verifier 判断。

6.3. 轨迹对照、失败分类与边界

两条轨迹对照。

报销轨迹 A 一次生成登录、建单、上传、填金额、提交。登录后额度变化,计划仍提交旧金额并失败,重新运行又生成重复草稿。轨迹 B 每步验证 expense ID、附件哈希与额度,金额超限后只新增特批节点,保留已验证草稿。

研究轨迹 A 每读一篇论文就改结论,最终混合不同数据集。轨迹 B 先建立统一口径节点,结果在口径验证前不能进入比较表;发现版本不同后只重规划证据分支。差异来自状态复用和完成谓词,不是计划文本长度。

失败分类。

失败分为目标遗漏、前置条件缺失、动作不存在、转移预测错误、启发式误排、状态过期、预算停止和越权阻塞。对应修复分别是补目标映射、改领域模型、扩接口、重读环境、校准评价、缩短时域、调整预算或请求授权。

实验按固定步骤、开放搜索、动态环境和不可逆动作分层,统一模型与预算。记录首次失效、重规划范围、复用成果、终局和安全事件,并报告成功—成本前沿。多次运行给出方差,不能只展示一条成功树。

计划边界。

历史计划只是模板,复用前重新绑定实体、工具、权限和版本。只能复现原任务的内容仍是轨迹,多次验证并抽象输入输出后才可成为技能。计划缓存不能静默升级为全局规程。

长程任务还涉及持久调度和检查点,多 Agent 还增加通信与一致性成本。它们不会自动改善规划质量。本篇的验收是计划能影响调度、权限、验证或恢复;纯展示性字段应删除。

真实状态 sts_t、控制器 belief btb_t 与预测状态 s^t+k\hat s_{t+k} 必须分开。动作包含 pre(a)pre(a)、eff(a)eff(a)、成本与 observation;搜索用预期效果,提交状态只用真实 observation。超时写入的预期是“已创建”,观察却是未知,计划必须插入查询节点。

状态去重比较完成谓词、资源版本和约束,不比较推理措辞。闭集保存状态签名与最好成本。两个文本相似但审批范围不同的节点不能合并;两个措辞不同而环境状态相同的节点可合并。

启发式可组合目标缺口、风险和成本:h=αhg+βhr+γhch=\alpha h_g+\beta h_r+\gamma h_c。安全项作硬门,其余权重在开发集校准。模型自评误差高度相关,重复投票不能冒充独立证据。

搜索预算先给不同假设少量额度,再把剩余预算分配给通过硬 verifier 的分支。每次分配记录分数、证据和剩余上界。连续扩展无改进时停止,保留验证预算。

计划重排在新节点或优先级变化时发生。部署前出现安全公告,调度器插入依赖扫描并让切流等待,已完成构建继续复用。节点 ID 保持稳定,历史事件仍可关联。

并行计划检查读写集合。两个检索可并行,两个写同一文件不可并行,读配置与写配置也需顺序。结果按节点 ID 汇合,不按返回先后改变语义。

数据库迁移要新增非空列且不中断服务。图包含兼容代码、可空列、回填、验证、非空约束和清理。静态 verifier 排除一步加非空列。回填锁等待后,滚动计划缩小批次并保留已完成行;只有空值为零且所有实例升级,才开放约束。

资料综述计划按问题分节点:口径、来源、方法、实验设置、比较和写作。检索可并行,比较等待口径。论文缺表时标记证据不足,不用二手摘要补数字。一次性计划会继续写,任务图则阻塞依赖节点。

可用 regret 衡量在线计划:离线最优成本 C∗C^ 与滚动成本 CC 的差为 C−C∗C-C^。模拟环境可比较不同时域、启发式与预算。还要统计错误首次可检测到实际发现的延迟,越早暴露代价越低。

计划优化不能改写用户目标。预算不足时按用户优先级交付子集或请求调整,不能删除昂贵验收后宣布完成。目标、完成谓词与预算修改都需要显式权限。

ToT 的 74% 对 4% 发生在浅层、可精确验证的 Game of 24。软件环境分支更宽、写动作不可自由回滚;读分支可以搜索,写分支应在选定路径后执行。该边界决定搜索能否安全扩展。

LLM+P 的求解器只保证给定形式模型的计划。漏掉签收前置条件时,它会稳定地产生业务错误路径。形式化输入必须回译、实体对齐并在执行中随 observation 更新。

完整实验固定模型、工具和预算,比较反应式、线性、滚动、beam 与外部规划器。报告成功—成本前沿、方差、首次失效、复用成果和安全事件,而非只展示最佳成功轨迹。

计划质量还可通过前缀鲁棒性测试。系统在不同节点插入无关 observation、暂时工具失败和资源版本变化,检查计划是否只修改受影响子图。若任何扰动都触发全量重写,计划没有提供稳定结构;若关键前提变化后仍继续原路径,失效传播又过弱。

对滚动计划做时域消融时,保持总调用预算一致。短时域获得更多重规划机会,长时域每次计划成本更高,不能额外增加调用。记录每个 HH 下预测动作实际被执行的比例、过期节点数和平均恢复距离,可以解释成功率差异。

搜索的候选生成也需对照。温度、候选数和提示示例会同时改变多样性与质量。用状态聚类计算有效分支数,排除文字不同但动作相同的候选;用硬 verifier 统计生成后立即被拒绝的比例。大量无效多样性只会消耗评价预算。

外部规划器实验要分别报告语义转换和求解阶段。若 PDDL 无解,先检查问题是否真实不可行,再检查谓词或对象是否漏译。把解析失败算作规划器失败会误导改进方向。可在人工标注的小集合上测转换准确,再在大集合测端到端完成。

用户中途更改目标时,系统创建新目标版本并计算计划差异。旧目标下已完成成果只有在新谓词仍需要时才复用。比如“部署到生产”改成“只生成预览”,构建与预览可保留,切流节点被删除,生产审批随之失效。

计划的最终交付包括当前图、已验证产物、未决节点、阻塞原因和预算。即使任务未完成,这些结构也允许用户或下一运行继续;只交付模型的失败解释,会丢失可复用成果和准确恢复点。

上线监测持续按任务类型统计计划采用率、节点失效率、局部重排比例和平均恢复距离。计划频繁生成却很少被执行,说明表示与动作接口脱节;每次小故障都重排全图,说明依赖粒度过粗。指标应回到具体节点和环境版本,才能指导结构改进。 计划是对未来动作依赖的可修改假设,不是必须逐字执行的长清单。每个节点包含目标、前置谓词、输入引用、预期效果、完成谓词、风险与预算。模型提出结构,Runtime 根据真实状态判断节点是否 ready、blocked、running、verified 或 invalidated。

任务分解按可验证成果划边界。代码迁移可分为 schema、调用方、数据与端到端路径;研究任务可分为关键主张;网页任务可分为准备、预览和提交。按思考、执行、总结等文本阶段分段没有提供环境检查点,失败时仍无法定位。

节点粒度太大会隐藏中间故障,太小会让调度与上下文成本超过收益。合适粒度对应一个可观察状态变化或信息增益,并具有明确重试语义。连续的确定性格式转换可以收拢,跨权限或不可逆边界必须拆开。

计划图 G=(V,E)G=(V,E) 的边表示数据、资源或控制依赖。数据依赖要求上游产物,资源依赖要求兼容版本,控制依赖表达审批或验证。仅用文本顺序会把可并行动作串行,也可能把具有隐藏依赖的动作错误并发。

关键路径决定理论最短时间,但外部速率限制、共享工具槽和风险审批会改变实际调度。调度器在 ready 节点中依据优先级、成本、资源和信息价值选择,不让模型通过输出顺序独占执行资源。

计划还需表达 OR 分支。一个来源不可访问时,可寻找归档或独立替代;一个测试失败时,可能修实现或修错误测试。分支拥有选择条件和退出条件,不能把所有备选同时执行,尤其当它们产生副作用。

探索节点的输出是新事实,可能使下游整个子图失效。发现目标 API 已被删除后,基于旧 API 的实现与测试节点全部 invalidated,但已验证的业务需求仍可复用。依赖传播比从头重规划更节省成本,也保留可解释历史。

状态版本防止计划在旧环境执行。节点创建时记录所依赖文件、页面或数据库版本;进入 ready 前重新核对。变化与节点无关时继续,相关依赖改变则回到规划。简单比较全仓哈希会让无关修改使所有节点失效。

计划预算包含预计 token、工具调用、墙钟和外部费用。估计不是承诺,但能发现方案明显超额。执行后记录实际值,模型可选择更经济分支。验证和清理保留独立预算,避免探索耗尽资源后跳过终局检查。

重规划由新证据触发:前置条件不成立、工具返回冲突、verifier 失败、资源变化或预算不可行。仅因模型再次采样出不同想法,不应推翻已经验证的节点。触发原因进入事件,使评测能区分适应性和无证据摇摆。

局部重规划从受影响节点的最近共同祖先开始。上游产物仍满足契约就继续复用;被污染的下游全部失效。若数据 schema 改变,读取该 schema 的节点重算,但独立的 UI 文案研究可以保留。

计划与执行之间有显式提交点。模型可以编辑未执行节点,running 节点由执行器控制,committed 节点的环境事实不能通过改计划删除。需要撤销时新增补偿节点,并单独验证补偿效果。

考虑一次跨层实时状态修复。初始目标是“后台任务变化后,已打开页面自动更新且刷新不丢”。计划拆为权威写点、推送事件、查询水合、前端幂等 patch 和浏览器场景。每个节点都有可检查产物。

探索发现服务端只写数据库,没有推事件。Agent 先在统一通知入口增加事件,再更新前端订阅。单测通过后,浏览器跨标签场景仍失败;trace 显示另一标签收到 BroadcastChannel,却没有从服务端拉取最新对象。计划只使水合节点失效,并保留已验证的服务端推送。

修复拉取后,刷新场景通过。随后并发测试发现推送与查询返回顺序不同会重复列表项。根因位于前端 reducer 缺少按 ID 幂等 upsert,计划新增状态不变量节点,而非加延迟等待。最终验证覆盖开页推送、跨标签、刷新和乱序。

这条轨迹说明计划执行不是文件待办表。一个用户要求映射到多个状态边界,环境反馈逐步修正依赖,已验证成果继续复用。若一开始只写“修改后端、修改前端、测试”,无法表达竞态根因与局部失效。

反例之一是过度规划。模型尚未读取仓库就列出二十个具体文件,后续为了遵守计划而忽略真实结构。合理做法先规划探索问题,获得入口和调用链后再具体化实现节点。计划精度随证据增加。

另一个反例是无计划探索。Agent 连续读取相关文件,却没有未解决问题和停止条件,最终上下文塞满代码仍未形成改动面。每个探索动作要关闭一个问题或产生新分支,连续低信息增益触发重新审视。

计划评测不仅看最终成功,还看关键路径长度、无效节点、失效传播准确率、重规划次数、复用率和预算误差。重规划多可能说明适应性,也可能说明初始计划差,需要结合触发证据和终局解释。

对分解策略做消融时固定模型、工具与任务,比较线性清单、依赖图和无显式计划。任务应包含并行、环境变化和局部失败;简单一步题无法显示图计划价值。报告成功与成本的配对区间,避免从单条漂亮轨迹下结论。

多 Agent 计划还涉及所有权。节点分配给具备必要能力和上下文的主体,输入输出通过 schema 交换。子 Agent 只返回结果与证据,不把完整消息历史灌入父上下文。共享资源写节点由统一调度器串行或版本化。

人工介入是计划事件。用户批准、拒绝、修改目标或提供信息后,系统计算受影响节点。批准绑定具体参数,不能让模型在批准后替换对象;拒绝可以触发低风险替代分支,而非无限重复请求。

计划结束时生成完成映射:每个用户要求由哪个 verified 节点满足,哪些风险仍开放,哪些副作用已提交。若某项要求没有节点或证据,运行不能仅因所有待办被勾选而宣告完成。

成熟规划系统允许计划犯错,却要求错误可被环境证据发现、局部修正且不破坏已提交事实。计划负责组织不确定性,状态机负责合法转移,工具负责真实动作,verifier 负责终局;四者职责不能用一段长推理互相替代。

滚动计划适合信息逐步揭示的任务。系统只具体化近期可执行节点,远期保留目标与接口,避免在证据不足时过早锁定细节。近期节点完成后,用实际产物展开下一窗口。滚动不等于没有全局目标,关键约束和最终谓词始终保留。

里程碑是比时间间隔更好的检查点。数据库迁移完成、API 契约冻结、证据覆盖达到阈值等状态可以独立验证,并为恢复提供稳定起点。每隔十步保存一次若恰好落在半个写动作中,检查点没有安全续接价值。

计划冲突可能来自目标本身。用户要求“保持 API 完全不变”又要求删除旧字段,二者在当前约束下不可同时满足。系统构造最小冲突集,说明涉及哪些谓词并请求目标澄清;不能擅自选一项,再把另一项从计划中消失。

不确定性可以显式标在节点上。已知步骤直接执行,高不确定探索先验证假设,高风险且不确定的动作需要更多证据。把置信度当作排序特征,不用一个全局“计划可信度”掩盖局部薄弱点。

运行中出现机会性改进时,系统判断它是否是当前完成谓词的必要条件。发现无关代码风格问题可以记录但不纳入本次图,避免范围膨胀。若问题会阻止构建或破坏安全,则有依赖证据支持加入。

计划存储需要版本与审计。每次增删节点记录触发 observation 和作者,旧版不直接覆盖。调查者能够比较初始假设、环境证据与最终路径,训练数据也能区分合理修订和随机漂移。

对计划质量的离线 judge 只能辅助。一个看似完整的计划可能引用不存在的文件,简短计划却可在工具反馈下成功。主要证据来自环境执行与 verifier,judge 用于发现遗漏风险,不把文档详尽度当完成率。

最终计划图应能被删减:移除一个节点后,明确哪个用户谓词或验证证据会缺失。无法回答的节点可能是冗余。该检查帮助控制长程 Agent 常见的“为了显得周全而不断加步骤”。

计划模板只能提供常见骨架,不能代替环境探索。同一“升级依赖”任务在库、应用和基础设施仓库中有不同事实源与验证路径。模板实例化时解析本地规则、工具与风险,找不到前置条件就保留阻塞,不用想象中的默认文件补空白。

跨天运行还要重新检查外部假设。前一天通过的 API、价格或分支状态可能变化,恢复器按依赖新鲜度选择复验节点。稳定的用户目标无需重复确认,易变环境事实必须刷新。计划因此既保留历史,也承认世界继续变化。

这些约束让计划成为可执行、可审计的状态结构。它比自由文本多了承诺和失效规则,比固定工作流多了基于证据的适应性,正好连接开放模型决策与确定 Runtime。

每次执行都留下可复测证据,使后续改进有明确基线。