人类演示的具身任务轨迹常有多余动作、冗余导航和漏掉的步骤。论文让一个 Judge LLM 逐条挑错、一个 Planner LLM 按批评修改,循环到 Judge 不再提新问题;全程只用自然语言 prompt,不接模拟器、不看视觉输入。TEACh 子集上最高 90% recall、100% precision,96.5% 的序列在 3 轮内收敛。
论文把“清洗具身任务演示”写成一个双智能体验证循环:Planning Agent 先给出计划 π;Judge LLM 按目标 g 逐条检查,用 #REMOVE 标多余/矛盾动作、用 #MISSING 标缺失步骤,并给自然语言理由;Planning Agent 按这些批评生成 π′;重复到 Judge 不再提新问题,或达到 5 轮上限。
方法不改模型参数,也不依赖环境模拟器或视觉输入;它把 LLM 当作零样本评审器,直接处理已有的 TEACh 人类演示。实验用 100 个 episode、15 个家务任务、1,408 个人类动作,人工标注错误动作作为 ground truth,比较 4 个 Judge LLM 与 4 个 Planner LLM 的 16 种组合。
结果是明显的 precision–recall 权衡:GPT o4-mini 做 Judge 时 recall 最高(单次 80%,迭代后 90%),但 precision 会降到 80%;DeepSeek-R1 做 Judge 时 precision 可到 100%,recall 只有 62–68%(与自家 Planner 配对时为 68%);Gemini 2.5 的 F1 最稳,最高 93.9。收敛很快:62% 的序列第一轮后不再需要修改,3 轮累计 96.5%。
读完这节应该知道:为什么具身任务需要“计划验证”,以及论文把哪些东西算作错误。
具身智能体通常从人类演示里学任务,例如 TEACh 数据集里的家庭交互。人类演示并不最优:可能拿起与目标无关的物品、来回走动、先把电器关掉再打开,或者因为指令理解错误而漏掉关键步骤。这些轨迹直接用于模仿学习,会把噪声写进策略。
论文把错误分成三类(§3.1):
不必要的重复动作,或互相抵消的操作。例如拿起一个目标不需要的物品,或把已经关掉的设备再关一次。
与之前的动作或任务目标相反。论文把矛盾动作归入 REMOVE 处理,不单独设第三类修正类型。
完成任务所必需、但计划里没有的步骤。Judge 用 #MISSING 标出,Planner 负责补上。
形式化地,计划 π = (a1, …, aT) 是原子操作序列,例如 PickUp、ToggleOn、Place。目标是给定自然语言目标 g 和初始计划 π(0),输出一个仍能完成 g、但长度更短的计划:
这个定义有两个隐含条件。第一,必须有一个“完成 g”的判定;论文用人工标注的动作级错误作为评估 ground truth,但没有在方法里给出自动的任务成功判定器。第二,长度最短不等于执行最优;论文主要评估 Judge 找错的能力,任务级成功率与长度缩减在 §3.2 说“另行报告”。
论文的位置不是“更好的计划生成器”,而是“计划生成之后的验证与清洗”。
| 路线 | 做法 | 主要限制 | 论文差异 |
|---|---|---|---|
| Rule-based | 用预定义规则或启发式检查动作序列 | 覆盖的错误类型有限;Table 1 的 recall 只有 22% | 不写规则,用零样本自然语言 prompt |
| VerifyLLM | 用 Linear Temporal Logic 作为形式化中间表示,检查逻辑不一致、缺失前提与冗余 | 需要把任务和动作形式化;论文称其依赖 LTL | 只用自然语言批评,不构造 LTL |
| Reflexion | Actor 执行、Evaluator 评价、Self-Reflection 生成口头反馈,迭代改进行为 | 面向单智能体策略改进,不是数据集清洗;不做 precision/recall 记账 | 把批评外化成独立 Judge,可替换、可逐条计数 |
| 论文 | Judge LLM 逐条挑错,Planner LLM 按批评修改,循环到收敛 | 仍依赖人工标注评估;只验证计划,不执行 | 后处理、模型无关、可解释的 plan verification |
§2 的 related work:论文把自身定位为 post-hoc verification,与计划生成方法正交;它不改进初始计划生成器,而是清洗已有轨迹。
这个定位带来一个直接好处:框架可以套在任何计划来源上推断(依据:§2 把它定位为 post-hoc verification,§3 的输入只有目标与计划,不依赖生成器),包括人类演示和别的 LLM 生成的计划。代价是它继承了初始计划的质量上限推断(依据:验证循环只读目标与当前计划,不引入外部知识)——如果 Judge 和 Planner 都看不出某个领域错误,循环不会凭空创造正确知识。
方法本身是一个很薄的循环;真正决定效果的是 Judge 的批评质量与 Planner 的执行忠实度。
Judge 是一个函数 J,把目标 g 和当前计划 π 映射成批评集合:
Planner 是另一个函数 P,把计划与批评映射成新计划;两者复合得到验证算子 V:
迭代形式就是重复应用 V:
这里有两个容易被忽略的点。第一,“保守”是假设,不是定理:论文没有证明 Judge 与 Planner 一定满足 E[E(V(π))] ≤ E(π),只把它作为收敛分析的前提。第二,Planner 被描述为“deterministically”应用批评,但实现上仍是 LLM 按 prompt 修改推断(依据:§3.1 与 Appendix A.2 的 Planner 是 LLM prompt,Algorithm 1 的 P.apply_critiques 没有确定性规则);哪些批评被采纳、是否引入新错误,取决于模型。
Judge 的输出与人工标注逐动作比较。正例是“错误动作”,包括 REMOVE 与 MISSING;矛盾错误被归入 REMOVE。指标是:
这个口径只衡量“找错”,不衡量“改对”。一个 Judge 可以高 recall 地把所有可疑动作都标出来,但 Planner 可能改错;论文的 Table 2 同时报告 recall 与 precision,但没有单独的“修正后计划正确率”表。
这是一篇评测型论文:没有模型训练,也没有环境执行;它的“计算”是 16 种模型组合的零样本推理。
| 项目 | 设置 | 说明 |
|---|---|---|
| 数据集 | TEACh 子集 | 100 个 episode,15 个家务任务,1,408 个人类动作 |
| 错误标注 | 人工逐动作标注 | 作为 precision / recall 的 ground truth;论文承认标注有主观性 |
| Judge / Planner | GPT o4-mini、DeepSeek-R1、Gemini 2.5、LLaMA 4 Scout | 4 × 4 = 16 种组合;Table 1 只看 Judge,Table 2 看组合 |
| 提示方式 | 零样本自然语言 prompt | Judge 用 #REMOVE / #MISSING 标签;Planner 保留原格式,只做必要修改 |
| 迭代轮数 | 最多 5 轮 | Judge 返回空批评即提前停止;Algorithm 1 每轮重新编号 |
| 环境依赖 | 无模拟器、无视觉输入 | Judge 只看目标与动作文本;方法不执行计划 |
| 训练 | 无 | 不改模型参数;论文建议未来用 fine-tuning / 混合方法缓解 LLM 偏见 |
§3–§4 / Algorithm 1:论文没有给每次 Judge/Planner 调用的 token 数、延迟、费用或总 API 成本;只在 Limitations 里说 Judge 响应缓存后迭代很轻,但首次生成 Judge 响应的开销可能很大。
不需要收集错误标签训练验证器;直接用现成 LLM 的零样本判断。代价是效果受模型偏见、知识截止与幻觉影响。
论文说 Judge 响应缓存后,迭代循环的计算很轻;但首次为大规模数据生成 Judge 响应仍有可观开销。
评估仍要人工标注 1,408 个动作;方法本身不提供自动 ground truth,也没有报告标注者一致性。
流程图只有两个角色和一条回路;关键分支是 Judge 返回空批评时停止。
Judge 接收目标与动作序列,逐条分析每个动作是否服务于目标;它不调用模拟器、不检查前置条件是否真的满足推断(依据:§3.1 的 Judge 输入只有 g 与 π,Limitations 与 Appendix 都没有模拟器调用),也不看视觉场景。
Planner 按 Judge 的 REMOVE / MISSING 修改计划,保留原格式;它不是从目标重新生成计划,因此输出质量受批评集合约束。
这套分工的优点是模块化:Judge 和 Planner 可以来自不同模型,Table 2 因此能逐格比较 16 种组合。缺点是错误会沿链路传播:Judge 漏掉的错误,Planner 不会主动发现;Judge 错标的动作,Planner 可能直接删掉。
先看 Table 1 的单次验证,再看 Table 2 的 16 种组合与 Figure 3 的收敛曲线。
| Judge LLM | Recall | Precision |
|---|---|---|
| GPT o4-mini | 80 | 93 |
| DeepSeek-R1 | 68 | 100 |
| Gemini 2.5 | 74 | 90 |
| LLaMA 4 Scout | 74 | 85 |
| Rule-based | 22 | 71 |
Table 1:单次验证,不迭代。GPT o4-mini 的 recall 最高,DeepSeek-R1 的 precision 最高,规则基线两项都低。这里“正例”是人工标注的错误动作,包含 REMOVE 与 MISSING。
单次结果已经说明两件事。第一,零样本自然语言判断明显强于规则基线:GPT o4-mini 的 recall 是 80%,规则基线是 22%,绝对差 58 个百分点(80 − 22,见 LEDGER)。第二,模型风格差异很大:DeepSeek-R1 的 precision 是 100%,但 recall 只有 68%;GPT o4-mini 反过来,recall 高但 precision 低 7 个百分点(93 对 100)。
| Judge \ Planner | GPT o4-mini | DeepSeek-R1 | Gemini 2.5 | LLaMA 4 Scout |
|---|---|---|---|---|
| GPT o4-mini | 88 / 90 / 89.0 | 90 / 80 / 84.7 | 85 / 91 / 87.8 | 89 / 87 / 87.9 |
| DeepSeek-R1 | 65 / 99 / 78.5 | 68 / 100 / 80.9 | 62 / 100 / 76.5 | 66 / 98 / 78.9 |
| Gemini 2.5 | 84 / 98 / 90.7 | 86 / 97 / 91.2 | 89 / 99 / 93.9 | 89 / 96 / 92.2 |
| LLaMA 4 Scout | 76 / 92 / 83.5 | 81 / 90 / 85.3 | 79 / 93 / 85.9 | 75 / 89 / 81.6 |
Table 2:每格是 recall / precision / F1。Judge 行、Planner 列。论文正文说迭代平均把 recall 提高 5–10%(原文未说明是绝对还是相对);按表值看,GPT o4-mini 做 Judge 时从 80% 升到 85–90%(+5 到 +10 个百分点),Gemini 2.5 从 74% 升到 84–89%(+10 到 +15 个百分点),但 DeepSeek-R1 做 Judge 时反而从 68% 降到 62–68%(−6 到 0 个百分点)。
GPT o4-mini + GPT o4-mini。Table 2 给 R = 88、P = 90、F1 = 89.0;调和平均 2 × 88 × 90 / (88 + 90) = 15840 / 178 = 88.99,四舍五入 89.0,与表中一致。
DeepSeek-R1 + DeepSeek-R1。Table 2 给 R = 68、P = 100、F1 = 80.9;2 × 68 × 100 / (68 + 100) = 13600 / 168 = 80.952…;严格四舍五入应为 81.0,表中写 80.9。这是原表 F1 与显示 R/P 的又一处不一致(可能原表用未舍入的 R/P 计算,或 F1 列单独舍入),不能称为逐位一致。
原表多格 F1 与 R/P 不自洽(至少 9/16)。按表中显示的整数 R/P 直接算,16 格中至少 9 格与表列 F1 相差 0.1–0.5。例如 Gemini 2.5 + Gemini 2.5 的 R = 89、P = 99,按调和平均是 2 × 89 × 99 / 188 = 93.73,应显示 93.7,但 Table 2 写 93.9;LLaMA 4 Scout + GPT o4-mini 的 76/92 算出 83.2,表中写 83.5。这更像是原表用未舍入的 R/P 计算 F1、再把 R/P 单独舍入显示,而不是逐格手抄错误推断(依据:9/16 格相差 0.1–0.5,且差值有正有负)。页面按原表转录,交互读数也直接取原表,不把重算值混进去。
柱高 = F1 数值本身(满量程 100),低于 1.2% 时按 1.2% 显示;本页 F1 最低 76.5(DeepSeek-R1 Judge × Gemini 2.5 Planner),不会触发这个下限。
大多数序列的错误是表面级、局部可判的;Judge 一轮就能指出,Planner 一轮就能改完。
剩下 27% 的序列需要第二轮推断(依据:89% − 62%,§4.2 的两个累计值反推);论文把这部分归因于动作之间的依赖关系,单看一步看不出问题。
第 4–5 轮只有 3.5% 的序列受益;继续迭代的边际收益很小,但论文仍保留最多 5 轮的设置。
Figure 3 / §4.2:62% 是“第一轮后不需要进一步修改”的比例;89% 与 96.5% 是累计收敛比例,+27 与 +7.5 来自 §4.2 的 bullet。第 4–5 轮的 3.5% 只出现在 §4.2 文字里;Figure 3 的标注是第 3/4/5 轮 96.5%、98.5%、99.7%,没有直接写 3.5%,按 96.5→99.7 反推是 3.2 个百分点的累计增益。论文没有给每一轮的 per-model 分解,也没有给“收敛”与“改对”的联合分布。
Judge 侧 precision 在 98–100%,recall 只有 62–68%。它只在非常确定时标错,漏掉约三分之一的错误;优点是几乎不误删有效动作。
Judge 侧 recall 85–90%,precision 80–91%。它抓错多,但会把一些必要动作标成多余;在与 DeepSeek-R1 做 Planner 的组合里 recall 达到 90%,precision 掉到 80%。
作为 Judge,F1 在 90.7–93.9,四个 Planner 列里都是最高;recall 84–89%,precision 96–99%。论文称它最稳。
recall 75–81%,precision 89–93%,没有单项最高,但跨 Planner 波动较小。它做 Judge 时与自己的 Planner 配对 F1 最低(81.6),是“同模型配对更好”的一个反例。
论文的定性分析还列了三类系统性失败:Judge 对“很早拿起、很晚才用”的长程冗余不敏感;会把多步准备动作误判为多余;会把同一物体的第二次使用误删。这些错误说明当前 Judge 擅长表面逻辑,不擅长长程依赖与上下文敏感判断。
论文的边界比结论更值得记住:单数据集、人工标注、零样本 Judge、无下游训练。
全部实验在 TEACh 子集上,覆盖 15 个常见家务目标;工业、医疗、户外等场景没有测试。论文自己在 Limitations 里说,泛化性未验证。
哪些动作算“必要”、哪些算“多余”,由人工逐动作标注;论文承认这会引入主观性与不一致,但没有报告标注者间一致性。
方法层面的限制更关键。第一,论文报告的是 Judge 与人工标注的逐动作对照;§3.2 说任务级结果(plan success rate、平均长度缩减)“另行报告”,但 v4 正文与附录没有给出对应的表。§4 另有一句“These results are obtained by manual annotations that assess the final Planning Agent output based on the action sequence accurately achieving the goal set by the Commander…”,字面上涉及最终计划是否达成目标;它与 §3.2 的“另行报告”并列时口径不清。页面因此只把 Table 1/2 当作找错评估,不把“清洗后数据更好”当作已验证结论。
第二,Judge 完全依赖文本,不接环境模拟器、不看视觉输入,也不检查动作前置条件是否真的满足。它能发现“看起来多余”的动作,但无法确认“拿起杯子”时杯子是否真的在桌上。论文把视觉 grounding 与物理模拟列为未来工作。
第三,零样本 LLM 的判断受偏见、知识截止与幻觉影响;论文建议用 fine-tuning 或混合外部知识库缓解,但没有给出这样的实验。Judge 与 Planner 同源时也可能共享同一盲区,Table 2 的对角线并不总是最好(LLaMA 4 Scout 做 Judge 时,配 GPT Planner 的 F1 83.5 高于自配 81.6)。
最后,迭代上限是 5 轮,但 96.5% 的序列 3 轮内已收敛;§4.2 称继续跑到第 4–5 轮只对 3.5% 的序列有边际收益(Figure 3 第 4/5 轮的标注为 98.5%/99.7%)。论文没有给“何时停止”的自适应准则,也没有分析第 4–5 轮是否可能引入新错误。