智能AI
morning
NeurIPS 2026 | 别等Agent把任务搞砸!7B审计员AgentForesight在线抓错
摘要
从事后归因到在线审计,在任务失败前识别关键错误 多智能体的失误,未必表现为当场报错。更麻烦的是,一个 Agent 给出错误前提,其他 Agent 却继续认真执行。来自罗格斯大学、得克萨斯大学奥斯汀分校和普渡大学的研究团队提出 AgentForesight,让一个 7B 模型在任务运行中持续审计。在 AFTraj-2K 测试集上,它对失败轨迹的关键错误步骤识别指标 Exact-F1 达到 66.44...
Agent
AgentForesight
https
AFTraj
University
从事后归因到在线审计
让一个
Boxuan
Zhang
Jianing
2026-10-10
1 阅读
约10分钟阅读
机器之心
字号:
从事后归因到在线审计,在任务失败前识别关键错误 多智能体的失误,未必表现为当场报错。更麻烦的是,一个 Agent 给出错误前提,其他 Agent 却继续认真执行。来自罗格斯大学、得克萨斯大学奥斯汀分校和普渡大学的研究团队提出 AgentForesight,让一个 7B 模型在任务运行中持续审计。在 AFTraj-2K 测试集上,它对失败轨迹的关键错误步骤识别指标 Exact-F1 达到 66.44 ,比最强通用模型基线高 19.88 分,而对成功轨迹误报率仅为 2.37% 。 让一个 Agent 规划,一个 Agent 搜索,再让另一个 Agent 汇报,任务就一定更可靠吗? 设想这样一个场景:用户想买一副 200 美元以内的降噪耳机,筛选 Agent 却把预算上限设成了 300 美元。接下来,比较参数、生成报告、给出推荐,每一步都可能有条不紊。可再漂亮的报告,也掩盖不了整条工作流已经偏离了用户要求。 后面的 Agent 未必做错了自己的子任务。它们只是把 前面那一步的错误 ,当成了继续工作的前提。 等推荐生成后,再追问「哪个 Agent、哪一步出了错」,当然有助于复盘。但能不能在预算刚被改错时就提醒系统,而不是让后面的 Agent 继续沿用这个错误前提? 这正是 AgentForesight 的出发点:在局部错误已经出现、却尚未一路传成任务失败时,尽早发出预警。 为此,它把 事后归因前移为在线审计 :每完成一步,外部审计员就读取截至此刻的执行记录,决定继续还是报警,为后续干预争取时间。 论文标题:AgentForesight: Online Auditing for Early Failure Prediction in Multi-Agent Systems 作者:Boxuan Zhang、Jianing Zhu、Zeru Shi、Dongfang Liu、Ruixiang Tang。其中 Boxuan Zhang 与 Jianing Zhu 为共同第一作者,Ruixiang Tang 为通讯作者。 机构:Rutgers University、The University of Texas at Austin、Purdue University。 论文链接:https://arxiv.org/abs/2605.08715 项目主页:https://zbox1005.github.io/agent-foresight/ 代码仓库:https://github.com/ZBox1005/AgentForesight 数据集:https://huggingface.co/datasets/ZBox008003/AFTraj 还没看到结局,凭什么叫停? 过去,许多多智能体失败分析工作采用事后归因:先读完一条已知失败的轨迹,再判断责任 Agent 和关键错误步骤。后续错误如何扩散、最终答案为什么不对,都能成为定位线索。 在线审计没有这些「后见之明」。AgentForesight 只能看到当前轨迹前缀,也就是截至此刻已经发生的记录;未来的动作、尚未返回的工具结果和最终成败,都不在它的视野里。 图 1|从事后归因到在线审计。上图事后审计在任务失败后回溯错误;下图在线审计在关键错误出现时报警,为后续处理留下机会。 难点因此不只是「找出一个错误」,而是区分: 系统尚在合理探索,还是已经出现影响任务成败的决定性错误? 前者不应被无端打断,后者则应在被下游 Agent 继续沿用前尽早识别。 报警也不能只说一句「有问题」。审计员还要指出错误发生在哪一步、由哪个 Agent 引入,并给出简短理由,让后续处理有明确的着力点。 不只收集失败,还要知道什么时候该放行 把事后归因搬到线上,训练数据也得改变。 只有失败轨迹,模型学不到何时应该继续任务;只有整条任务的成败标签 ,又无法告诉它究竟从哪一步开始出了问题。 为此,团队构建了 AFTraj-2K,覆盖代码生成、数学推理,以及涉及工具与检索的 Agentic 任务。数据集包含 2,272 条标注轨迹:1,158 条经过验证的成功轨迹,1,114 条失败轨迹。 但 「最终答对」,并不等于「过程每一步都可靠」 。中途出错后被其他 Agent 纠正的轨迹,不能不加区分地当作可用成功样本。团队因此同时检查最终结果、工具调用的完整有效性,以及每一步与当前子目标的一致性,筛出可用于前缀监督的成功轨迹。 图 2|决定性错误的位置分布。横轴为错误位置占轨迹长度的比例,三个任务域呈现不同分布;总体覆盖 1,114 条失败轨迹。关键错误并不固定出现在开头或结尾。 失败数据则来自两条路径:一条在验证过的成功轨迹上注入错误,检查修改是否生效、任务是否确实失败;另一条从自然失败中提出候选位置,再经多次独立验证,检查错误是否真实存在、是否实质影响任务、是否具有决定性,以及是否为最早的决定性错误。 这里要找的不是最显眼的异常,而是能改变任务结局的关键一步:修正它之后,是否存在让任务从失败转向成功的后续路径?这让标签从「整条任务失败了」,细化为「哪一步、哪个 Agent 引入了决定性错误」。 先学会识别失败边界,再把错误找准 有了步骤标签,为什么还要分阶段训练?因为通用模型面临两道相互关联的门槛: 先分清当前记录是否已经越过失败边界 ,再在出错的记录里 定位具体步骤和责任 Agent。 直接要求它一次学会全部能力,精确归因的 奖励信号又过于稀疏 ,训练就可能退化成一律回答「安全」。AgentForesight 因此采用由粗到细的两阶段训练: 先建立对失败边界的敏感性,再将这份风险判断细化为准确归因。 图 3|AgentForesight 方法总览。左:筛选成功轨迹,通过受控错误注入与自然失败验证构建步骤标注。右:先以 BPPO 学习失败边界,再以三轴奖励细化审计结论。 第一阶段:敏锐捕捉从「继续」到「报警」的关键转折 第一阶段的重点,是让在线审计模型对「还能继续」到「应该报警」的临界变化敏感起来。团队从同一条失败轨迹中取出两个相邻前缀:一个停在决定性错误前,应当继续;另一个只多出刚刚出错的那一步,应当报警。 这样, 任务背景和此前的执行历史保持不变,判断却必须随着关键一步翻转。 训练信号因此聚焦于导致风险变化的内容,而不是等失败后果充分暴露,才认出「这条任务已经失败」。 这就是 边界对偏好优化 (Boundary-Pair Preference Optimization,BPPO):在每个前缀下提高正确回答相对于错误回答的偏好,并联合学习边界两侧的样本。模型由此获得对失败临界点的 风险预判先验 ,为下一阶段的精确定位提供起点。 第二阶段:从「有问题」,到「哪一步、哪个 Agent」 建立风险预判之后,还要让报警足够具体。第二阶段以第一阶段模型为起点,围绕审计结论的三个维度给出奖励。 步骤奖励不是只有「全对/全错」:预测位置越接近标注,奖励越高,为逐步找准错误提供平滑信号。误报与漏报都会受到惩罚,避免模型靠一律报警或一律放行取巧。 训练还将 第一阶段模型作为 KL 约束的参照 ,限制第二阶段偏离已经学到的风险判断。两个阶段并非简单串联:后者要在保留失败边界敏感性的同时,把「这里不对劲」细化为「这一
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱