论文

Verify–Backtrack Loop:以双层目标验证和有界栈恢复长程计划

Verify--Backtrack Loop: Structured Precondition Recovery for Long-Horizon Language Agents

智能体系统Agent 规划Agent 动作执行与治理Agent HarnessAgent任务评测长程任务评测

摘要

语言 Agent 越来越多地处理交互环境中的长时程任务,动作常依赖隐含前置条件。核心困难在于恢复,而非轨迹长度:前置条件缺失或先前任务分解失败时,仅换一个看似合理的动作通常无济于事。ReAct 及后续反思或自适应规划方法支持局部纠错,但用自由文本表达恢复,缺乏将终局目标、当前目标与失败来源关联起来的显式控制状态。Verify–Backtrack Loop(VBL)是 ReAct 的免训练扩展,将前置条件发现和失败诊断转化为结构化的规划状态更新。VBL 用有界目标栈维护任务分解;在目标激活、执行失败或状态发生实质变化时,联合检验两个层面:当前目标是否有助于终局目标,以及它在当前状态下是否可行。双层判断结合类型化失败归因,触发明确的 Push、Pop、重试或回溯至父目标(BacktrackTo)操作。在 AppWorld、ALFWorld、ScienceWorld 上,使用 Qwen3.5-9B、GPT-4o 和 DeepSeek-V3.2 评测时,VBL 在每个骨干模型—基准组合中均优于 ReAct 和基于反思的控制。在困难的 AppWorld 设置中,相对 ReAct 的任务成功率最多提高22.07个百分点。消融显示,去除验证或诊断任一机制都会降低性能,在若干设置中甚至低于 ReAct,确认二者互补。结果说明,可靠的长时程交互受益于修正规划状态,而不只是调整下一步动作。

Verify–Backtrack Loop:以双层目标验证和有界栈恢复长程计划:论文配图
图1:控制结构比较。(1)ReAct在线性循环中交替进行思考、行动与观察。(2)ReflAct用相对任务目标反思当前状态来替代思考,但循环仍然是线性的。(3)VBL维护显式目标栈:当due被设置时,即目标激活、失败之后或状态实质变化后,Verify检查目标对齐与准备情况;已完成目标通过Pop移除,失败则经Diagnose分流至Push(插入前置目标)、局部重试或BacktrackTo(从父目标恢复)。执行器只接收根任务文本和当前活跃目标(此处为g2),不接收整个目标栈。