规划组织未来动作,反馈报告动作后的环境差异,反思把失败原因转成下一轮可用约束。三者都会改变后续决策,却作用于不同阶段。可靠系统不会因为生成了长计划就假定环境将按计划发展。
1. 规划对象
1.1. 分解与依赖
4.1-任务分解与计划执行讨论子目标、依赖、重规划和计划状态。计划需要绑定环境事实与完成谓词。
1.2. 搜索与选择
候选计划可以通过采样、树搜索或外部规划器产生,再由价值估计或验证器选择。搜索预算必须计入整体成本。
2. 反馈对象
2.1. 环境反馈
工具错误、测试结果和状态差异是直接反馈。4.2-反思验证与反馈学习说明如何把它转化为修正。
2.2. 语言反思
语言反思适合总结可操作失败原因,但它仍是模型生成内容。没有环境验证时,反思可能只是对错误判断的再表述。
3. 停止与回退
3.1. 进展检测
控制器根据子目标完成、状态差异和重复动作判断进展。无进展时应改变计划或终止,而非无限增加“再思考一次”。
3.2. 回退策略
计划失败后可以局部修复、回到检查点或重新分解。选择依赖副作用是否可逆与已完成结果能否复用。
4. 计划与反馈的闭环
4.1. 从计划节点到环境证据
计划节点描述可验证状态,不是动作口号。节点包含前置条件、允许动作、输出和完成谓词;工具返回、测试或资源状态满足谓词后才关闭。后继节点读取结构化输出,避免从计划文本猜测事实。
环境否定前提时,使受影响子图失效并重规划。已经验证且资源版本仍一致的成果继续复用。滚动计划只细化近期动作,高层保留目标和依赖,适合网页与代码等难以提前预测远期状态的环境。
4.2. 从反馈到策略更新
反馈要绑定动作、状态版本与验证项。编译错误、测试反例和提交状态可直接修正动作;语言反思把复杂轨迹压缩成可操作约束,却仍需环境检验。Reflexion 将反思存入后续尝试的 episodic memory,不更新模型参数。
计划搜索与反馈共享预算。候选更多会增加发现可行路径的机会,也会增加模型调用和自评误差。停止规则同时读取目标、剩余 token、工具费用、风险和连续无进展次数。
5. 证据与评测
5.1. 原论文提供了什么
Tree of Thoughts 把中间思考单元作为搜索节点,在 Game of 24 中报告 GPT-4 CoT 为 4%,ToT 为 74%。该结果支持显式候选、评价和回溯在特定组合任务中的价值,不能直接外推为开放环境成功率。
Reflexion 在决策、问答和代码任务中比较反馈与反思组合,论文摘要报告 HumanEval pass@1 为 91%,基础 GPT-4 为 80%。CRITIC 则让模型调用搜索、代码解释器等工具检查初稿,再依据外部反馈修订。共同点是反馈来自可检查过程,而非单纯要求模型“再想一次”。
5.2. 对照口径
规划对照包含无计划、一次性计划、滚动计划和搜索计划,固定模型、工具与总预算。反馈对照包含无反馈、环境原始反馈、语言摘要、反思记忆和独立 verifier。报告完成率、恢复率、搜索节点、调用成本与安全事件。
规划器和 verifier 都可能出错。自评会偏爱流畅候选,测试可能覆盖不足,反馈可能指向症状而非根因。系统保留原始环境证据和人工介入点,不把生成模块当作最终事实源。
计划与反馈共享状态版本。计划基于版本 产生,工具在 上执行;并发动作把环境推进到 后,旧资源引用必须重验。verifier 也绑定资源哈希和环境快照,旧测试结果不能批准新补丁。
推理、计划、动作和验证使用不同事件类型。推理提出假设,计划表达未来依赖,动作改变环境,验证判断谓词。若都保存成普通消息,后续模型容易把“准备完成”误读为“已经完成”,信用分配也失去动作边界。
网页采购任务可以串起四层:计划查规格并比较含运费总价,购买前进入审批;搜索 observation 淘汰不合格商品,价格 verifier 发现运费超限,滚动计划新增优惠查询;用户拒绝最终价格后,系统停止购买并保留比较表。
语言反思“应选更便宜商品”只有在价格 observation 支持时才有效。真实失败也可能来自货币换算。verifier 指出差异字段,反思才可转成下一轮约束。环境反馈提供事实,语言反馈负责压缩。
评测区分恢复和重做。从失败节点继续并复用有效结果,说明状态与归因有效;每次从头生成可能最终成功,却重复成本和副作用。恢复率、复用节点数和新增调用与完成率联合报告。
安全约束作为硬剪枝。发布需要审批时,未审批分支不进入可执行集合,不能先越权再用负分惩罚。Runtime 强制风险边界,规划器只在合法空间优化。
系统形成三个时间尺度:执行内循环依据 observation 改近期动作,计划外循环依据节点状态改子图,跨尝试反馈把经过验证的经验提供给下一次运行。每层有独立预算和停止条件。
计划表示可以是任务图、PDDL 或代码。表示越形式化越容易检查依赖;语义映射错误也越容易隐藏在输入转换中,因此要保留用户目标、形式对象与环境实体的对应关系。
反馈闭环可写成 、、。Verifier 产生证据,反思器压缩轨迹,策略再行动。工程上应优先改善 observation 与 verifier,语言反馈负责组织证据。
本章用受预算约束的可恢复执行统一这些组件。计划表达依赖,反馈提供事实,verifier 判断目标,反思保存可操作失败经验;状态机规定它们交换信息和终止的位置。
计划表示可以是自然语言清单、任务图、PDDL 或代码。表示越形式化,越容易检查依赖与可行性;语义映射错误也越可能隐藏在输入转换中。系统应保留用户目标、形式对象与环境实体的对应关系,并在执行时重新校验。
反馈闭环可写成 、、。Verifier 产生证据,反思器压缩轨迹,策略依据新状态行动。若 verifier 错误,后续步骤会稳定放大错误。
工程上应优先改善 observation 和 verifier。一个只返回“失败”的测试不会因多轮自省获得行号;返回反例、期望值与堆栈后,一次修正往往足够。语言反馈组织复杂证据,不替代缺失证据。
训练数据也按层记录。计划样本保存候选、依赖和选择,反馈样本保存动作、环境差异、验证与修正。把成功轨迹的绕路全标为正例会固化低效,把失败轨迹全丢弃又会损失恢复信号。
受预算约束的可恢复执行依赖四个部件:计划表达未来依赖,环境反馈提供事实,verifier 判断目标,反思压缩失败经验。状态机规定它们交换信息和停止的位置。
当任务失败时,这套划分给出明确诊断顺序:计划是否遗漏目标,动作是否按计划执行,环境是否返回有效观察,verifier 是否检查正确版本,反思是否准确归因。修复对应组件比增加统一“思考轮数”更可控。