← 返回藏书阁

CUA-Recovery:会识别错误,不等于修复了持久状态

wiki/ai/sources/cua-recovery-replayed-state-and-error-awareness.md
分类:ai / sources · 更新:2026-10-26 09:10

CUA-Recovery:会识别错误,不等于修复了持久状态

结论与用户价值

知识轴:benchmark-evaluation / harness-runtime / context management。 长程agent的困难不只在“下一步点哪里”,还在于早先错误已写进文件/数据库,被后续任务消费,而根因截图已经退出上下文。错误觉察、局部修正、传播后的状态修复和最终任务通过必须分别计分。对Hermes跨网页/CLI自动化及中断恢复,比看clean-start榜单更可迁移。

CUA-Recovery论文于2026-10-20提交,非今日首发;代码固定80e06bcf22615bc44456753fe4387a40d17e0f89,API快照1 star。已读方法/实验/构造判分相关附录选段及固定README/takeover配置;没有运行模型、VM、训练或judge。机制可复用不等于数据已经可复现。

一阶机制:从真实失败构造受控接管

  1. ReRail把MyPCBench任务抽成可执行Task IR,记录读写依赖与每步gold lineage,再连接上游输出到下游输入,形成多应用持续状态工作流。
  2. 冻结期望中间值/终态的verifier,以mutation测试检查错误是否会被检测;保留至少捕获一半已执行mutation的workflow。这个门只覆盖已测mutation,不是完备oracle证明。
  3. 从六个agent自身policy产生的失败定位root cause,人工修复此前无关错误,使prefix里保留一个受控根因,而不是任意注入错点击。
  4. 从根因后d ∈ {0,5,10,15,20,25}步重放prefix,核真实状态与原轨迹对应点一致,再交给恢复agent;同workflow衍生的rollout/state/recovery归同split。
  5. 用原任务与历史无提示接管,观察是否觉察、修复了哪些状态、最终verifier是否通过。训练轨迹由逐步增强hint生成,但训练输入去掉hint;不能直接把带诊断训练生成过程当无提示测试条件。

固定takeover配置明确repeats: 3、max_steps: 100、3600秒、prefix.source: repaired、缺repaired报错、去reasoning、20截图;replay mismatch或缺expected均reject。这是配置意图,本文未逐调用确认runner实际强制每项。

读结果前先确认分母与共同状态

作者test为100任务、2250错误状态,train为377任务、8577恢复轨迹。深度越大eligible状态越少:不同d不是严格相同样本;同一失败的多深度也不是独立新任务。

主表self-takeover让每模型接管自己的失败集,因此不同agent列不是共同题池的纯能力排名。公平比较恢复器更应在相同root cause/prefix/state、同动作空间、截图可见量与预算上paired;GUI-only与GUI+CLI的scaffold差异也要列出。

指标/作者报告含义解释限制
EAR最高44.0%显式识别继承工作中的问题语言觉察不是修复或安全成功
Pass@3最高25.5%某agent/深度单元三次中至少一次全完成不是单次交付率,也非共同状态全模型排名
aware/unaware宏平均通过15.6%/12.2%作者按运行后是否觉察分组的关联不是随机干预,不能当“提醒”因果增益
根因至显露中位17步错误可长期潜伏,60.0%显露于最终步的分母为602个已显露失败不把619总标注失败与602混用

作者从20到25步接管观察到部分模型EAR上升但Pass@3下降;根因截图退出20截图窗口、传播后症状更显眼,是解释假说,不是控制了样本/状态的严格上下文消融。

给Hermes/内部评测的最小改造方案

  • Manager维护任务依赖、可信checkpoint与成功条件;Executor继续操作;Auditor从独立应用/文件/数据库状态复核。结构是本文实践建议,非声称原论文采用此三角色。
  • 记录task_id/root_cause_id/prefix_version/snapshot_id/takeover_depth/action_space/context_window/verifier_version/repeat/budget,再记录恢复前后真实状态。摘要中的“已修复”不能替代状态diff。
  • checkpoint保存已验证值、写入对象、后续消费者和根因索引;压缩后仍能按需读取根因证据,不必把全部截图常驻上下文。
  • 报告“觉察→修根因→重算受影响派生状态→业务终态”四层;追加合法路径成功率、成本/耗时、缺状态/不可重放分母。外部写入重试前先查effect与幂等键,避免修复变重复提交。
  • 内部coding benchmark可移植到BASE上的中途错误patch/构建产物和隐藏测试,但先验证prefix可重放/合法修复路线;本页不把桌面结果外推成coding成功率。

复现与安全边界

固定README写明dataset release coming soon,且需要KVM与约16.5GB桌面VM;本次没有下载数据,也未验证用户无屏Mac的可运行性,不建议安装本地模型。judge配置直接抓取TLS超时,web_extract有成功读取;尚未审完其实现或判分器独立性,不能写成已有本地judge回执。

同workflow分split不自动证明source-task、数据literal或共享应用状态完全不重叠。单根因且已修prefix的受控题可能比真实多错叠加更干净;hint去除也仍需检查训练输入、目标及中间文件的信息通道。verifier与gold lineage共源时应加合法替代解、变异和伪解对照。

与已有知识的关系

Agent-Benchmarks在clean-start以外补继承错误恢复;Context-Engineering关心压缩后可检索的根因与可信状态,Harness-Engineering负责state replay与预算/动作空间一致。trace-boundary-paired-continuation支持同状态配对;revivebench-hidden-verifier-audit-and-harness-parity补oracle与实际adapter门,a2a-python-cluster-state-stream-execution-boundaries则提醒读到任务状态并不证明执行接管成功。

写入记录

  • 2026-10-26 09:08 CST:新增真实失败/单根因重放、EAR与修复分账、self-takeover题池及深度分母限制,给出Hermes迁移设计并明确数据/VM复现未完成。