结果监控器:静默工具故障的恢复能力

arXiv cs.AI 论文

摘要

本文介绍了结果监控器,这是一种确定性检测器,用于识别语言代理工具调用中的静默故障并提供恢复收据,显著提高了ToolMaze和τ-bench等基准测试中的任务完成率。

arXiv:2608.19303v1 Announce Type: new 摘要:当工具调用超时时,代理会看到故障并可以绕过它。缓存的错误页面或负价格可能以预期格式到达并被当作事实消费。我们引入结果监控器,它检测从任务不相交轨迹中挖掘或从公共模式导出的结果契约的违规。违规时,监控器保留结果并发出一个非约束性收据,命名违规属性和公共恢复工具。在注入故障的冻结、预指定评估中,结果监控器将ToolMaze完成率从10.9%提高到28.1%,在两个提供商家族的四个模型中实现,并在第三个中复制。在tau-bench零售中,完成率在两个层级上分别提高了14.0和12.0个百分点。在单独的ToolMaze控制中,移除恢复工具列表消除了测量增益,恢复它则恢复了效果;诊断细节和时间安排没有产生可检测的差异。增益集中在故障阻止完成的地方。在一个从已发布事件分类转录的套件中,挖掘词汇表之外的检测率降至46%,尽管交付继续且完成率不变。恢复工具是这些控制中的活跃收据内容;将检测扩展到契约词汇表之外仍然是开放问题。
查看原文
查看缓存全文

缓存时间: 2026/08/21 09:56

# 结果监控器:静默工具故障的恢复可用性
来源:https://arxiv.org/html/2608.19303

###### 摘要
当工具调用超时时,智能体能看到故障并可以绕过它。而缓存的错误页面或负价格可能以预期格式返回,并被当作事实信息消费。我们引入了**结果监控器**,用于检测从任务无关轨迹中挖掘或从公共模式中派生出的结果契约的违反情况。发生违反时,监控器会保留结果,并发出一份非绑定回执,其中注明被违反的属性和公共恢复工具。在注入故障的固定预设评估中,结果监控器将ToolMaze的完成率从10.9%提高到28.1%,涉及两个供应商系列的四种模型,并在第三个系列中复现了该效果。在τ-bench零售任务中,两个层级的完成率分别提升了14.0和12.0个百分点。在单独的ToolMaze对照实验中,移除恢复工具列表会消除测量到的增益,而恢复它则能重新获得该效果;诊断细节和时机并未产生可检测的差异。增益集中在故障阻碍任务完成的地方。在一个源自已发布故障分类法的套件上,对挖掘词汇表之外的检测率下降至46%,但交付仍在继续,完成率未受影响。在这些对照实验中,恢复工具是回执的活跃内容;将检测扩展到契约词汇表之外仍是一项开放挑战。

## 1 引言
语言智能体经常将推理与外部工具调用相结合。这使它们能够执行更多任务,但也使其依赖于无法直接观察的信息。超时很容易检测。矛盾、过时或物理上不可能的结果却可能以预期格式返回并被直接采信:在一个记录在案的生产事故中,被当作内容消费的缓存HTTP错误页面变成了一份自信的伪造分析,该运行时中70%的静默故障最初是由人类阅读输出捕获的。ToolMaze表明,智能体难以从此类隐式故障中恢复。
静默故障造成了两个不同的推理问题。系统必须首先认识到观察结果不一致,并定位被违反的属性。然后,它必须选择一个能推进任务的恢复动作。传统的智能体循环依赖语言模型从原始观察中推断两者。在另一个极端,运行时防护会阻止动作或选择修复,从而掩盖了行为改善是源于更好的推理还是防护的干预。
我们引入了一个确定性检测器,用于识别工具结果何时违反了挖掘出的或公共的不变量,并将违反信号传递给执行智能体。我们将这些不变量称为**结果契约**,因为它们规定了工具调用与其结果之间的预期关系,这些关系从正常执行中挖掘出来或从公共模式中派生出来。发生违反时,检测器会附加一份建议性回执;它从不限制动作、执行修复、透露基准故障标签或咨询评估器。
近期的契约和门控系统在执行前附加检查并强制执行它们。我们的监控器则相反,它检查返回的结果,并且不强制要求响应。ToolMaze契约使用任务无关的交叉拟合,注入只会改变模型观察到的内容;因此,评估器评分的是智能体选择的恢复,而不是运行时编码的修复。
由此产生的接口将检测与恢复分离开来:监控器识别被违反的结果属性并列出公共恢复工具,而语言智能体选择做什么。我们将这些工具称为信号的**恢复可用性**。三个发现支持该接口:
1. **检测器触发的回执在三个供应商系列中提高了完成率。** 我们在固定的、任务无关的ToolMaze确认中发现,使用结果监控器能带来成对的完成率提升。该效应在DeepSeek和Qwen的四种模型中成立。一个单独冻结的MiniMax M3复现实验将其扩展到第三个供应商系列。
2. **效益在τ-bench中复现,并集中在故障阻碍完成的地方。** 我们评估了50个τ-bench零售任务,每个任务都受到两种故障类型的影响。类别违规显著改善,没有伴随的损失,而守恒违规则未显示测量到的效果。在所有研究中,增益集中在故障阻碍基线完成的地方。交付并非普遍有益:留出的AppWorld没有显示测量到的净效应,而干净的ToolMaze对照组包含救援和危害。
3. **恢复工具——而非额外的诊断细节——驱动了可检测的ToolMaze增益。** 基线的既有故障感知提示和扩展的推理预算都没有消除该效应。通用警告与局部化见证相匹配,改变位置或显著性并未显示可检测的优势。剥离恢复工具的警告表现与基线一致,而恢复列表则恢复了增益。仅模式的检测器恢复了大部分故障富集增益,但触发更频繁;学习到的契约提高了检测选择性。
我们通过一项源自事故的研究测量了剩余边界。在挖掘词汇表之外,检测效果下降,但交付并未受影响。

**原始接口**:lookup\_inventory → available = \-3 → 检测 · 定位 · 恢复 → 留给智能体 → 静默故障 → 值被当作事实消费。
**检测与建议**:lookup\_inventory → 原始结果保留 → 契约被违反 → 挖掘或公共不变量 → **建议性回执** → 见证 expected≥0, observed \-3 → 恢复 → query\_warehouse, get\_stock\_by\_sku → 活跃内容(第5节) → 验证 · 重试 · 切换 → 动作集保持不变。

图1:原始接口将检测、定位和恢复留给智能体。检测与建议则标记契约违规,并附加一份建议性回执,其中包含诊断见证和一份可用恢复工具列表。它既不移除动作,也不选择修复。对照实验(第5节)确定了恢复工具列表,而非特定属性的见证,是我们测试样本中的活跃内容。

## 2 相关工作
#### 使用工具的语言智能体。
ReAct将自然语言推理与环境动作交织进行,而Toolformer训练模型决定何时以及如何调用API。AgentBench和AppWorld将评估扩展到交互式多步骤环境,后续工作扩展了工具库,SWE-agent表明智能体-计算机接口设计影响任务成功;工具幻觉研究针对智能体自身的故障调用。这些方向主要在假定的接口下评估规划和工具选择。我们则修改了接口在语义可疑结果后传达的内容。
#### 反馈与自我修正。
Reflexion在试验中存储语言反馈,CRITIC使用外部工具批评和修订输出,Self-Refine使用同一模型作为生成器和批评者进行迭代;没有外部依据的自我修正可能使输出退化。Reinforced Agent在执行前放置一个独立的LLM审查员,并迭代修订临时工具调用;我们在实验中与机制忠实的移植版本进行比较。过程监督训练一个学习到的验证器来评分每个推理步骤;我们的步骤级回执则是确定性的、接口导出的检查,无需训练验证器,也无需额外的模型调用。
PALADIN则在故障恢复轨迹上进行训练,并在推理时检索恢复范例;我们的方法无需训练,并针对返回结果中的隐式不一致。AgentProp-Bench报告了在九种模型中,拒绝与恢复之间几乎没有排序关联,这支持了检测不良交互与从中恢复之间的区别。
#### 运行时监控与验证。
ToolEmu使用一个LM模拟的沙箱来暴露重大的智能体风险。ToolMaze直接扰动工具环境以研究动态重规划。τ-bench在状态化的零售和航空领域评估智能体。运行时防护在执行期间强制执行安全约束。
最接近的近期系统使强制执行的对比具体化:ToolGate仅在霍尔式前置/后置条件验证通过时才允许工具调用;Reason Less, Verify More在执行前拒绝违反策略的写操作;Agent Behavioral Contracts强制执行会话级治理规则;其他系统则提供规则语言、事务补偿或状态机后置条件,其中恢复由运行时负责。ToolSafe训练一个护栏模型在执行前标记不安全的调用。
我们的监控器在结果到达后采取行动,不做强制执行决定,无需训练验证器,并将恢复留给执行智能体。轨迹后假成功检测器识别未支持的完成声明;我们的检查器则在相同轨迹仍可恢复时发出每调用信号。
#### 按契约设计与运行时断言。
将计算结果与声明的预期进行检查是一门悠久的软件工程学科:按契约设计规定了组件必须遵守的前置和后置条件,高阶契约系统在违反时归咎责任,运行时验证监控针对形式化属性的执行。
我们将接口检查的想法移植到语言智能体观察中,并明确选择一种建议传播策略,因此是模型(而非运行时)决定如何恢复。
#### 学习到的不变量与规范挖掘。
因为手写契约成本高昂,另一项工作从观察到的执行中推断可能的规范。Daikon从动态轨迹中检测可能的不变量,规范挖掘方法将其推广到时序和API使用属性。
我们采用了同样的非神谕立场:我们的契约是从干净的智能体轨迹中挖掘出来的,或从公共响应模式中派生出来的,而不是针对任务解决方案编写的。与程序分析环境不同,挖掘出的不变量不是用来认证代码,而是在推理时向下游智能体解释可疑的观察结果。Contract2Tool同样从文档、模式和轨迹中推断前置条件和效果,但将它们部署用于因果工具过滤;我们交叉拟合返回结果上的不变量,并将违规作为建议观察暴露出来。
#### 智能体安全与护栏。
近期工作提出了在执行前或后过滤或约束智能体动作的护栏框架。一个相关的威胁是工具结果本身携带的对抗性负载;我们的威胁模型是良性但不一致的结果;对抗性工具不在范围内。尽管是非绑定的,但假阳性上下文仍然可能诱使智能体采取有害行动。

表1:恢复接口的概念比较。阴影单元格标记了策略与“结果监控器”行不同的地方,后者作为参考;阴影定位设计差异,但不对其进行排名。该表描述了机制,而非测量到的优越性。
我们在匹配的脚手架下测量了建议性替代方案——通用警告、始终验证和审查员循环移植;强制执行仍然是一个设计对比(表1)。

## 3 结果监控器
系统有两个角色:一个**检测器**,用于识别工具结果何时违反了学习到的或公共的不变量;以及一个**建议信号**,用于将违反情况传达给执行智能体。
挖掘的不变量(结果契约)定义了检测器;回执编码了信号。这些组件服务于不同的角色:契约决定结果何时可疑,而公共恢复关系决定回执暴露哪些替代工具。
对照实验孤立了回执的活跃内容;它们并没有使基于契约的检测变得可有可无。
### 接口
在步骤t,智能体从动作集A_t中选择工具调用a_t,并接收结果y_t。契约检查器C将(a_t, y_t)映射到一个有序的违规记录集合V_t,每个记录是一个机器可读的属性代码,可选地包含路径、预期/观察值以及人类可读的细节。
如果V_t为空,接口原样返回y_t。否则,一个版本化的编码器E_s将(τ, V_t, R_t)映射到回执ρ_t,其中R_t仅包含公共工具接口中可用的恢复可用性。A_t保持不变。智能体可以验证、重试、切换工具、忽略回执或采取任何其他声明的操作(图1)。

算法1 CheckAndReceipt:每调用契约评估。
0: 工具τ, 参数a, 结果y, 注册表C, 可见工具T, 编码器E_s
0: 增强结果;动作集A不变
1: V ← C.Check(τ, a, y)
2: 如果 V = ∅ 则
3:    返回 y {一致}
4: 结束如果
5: R ← {τ} ∪ {s ∈ Subs(τ): s ∈ T}
6: ρ ← E_s(τ, V, R) {版本化序列化}
7: 返回 {tool_result: y, outcome_contract: ρ}

算法1形式化了每调用运行时:给定调用、结果和学习到的契约,它是确定性的,并且从不调用工具、评分候选动作或等待任务级失败。
冻结的确认实验使用编码器E_{v1};后续的控制实验使用带显式见证结构的E_{v2}。

相似文章

从自信地宣告完成到悄然失败:描述LLM智能体中的虚假成功

arXiv cs.LG

本文描述了LLM智能体中的“虚假成功”现象,即智能体声称任务已完成,但环境状态显示并非如此。研究发现,在多个基准测试中,虚假成功占失败的45%-75%。LLM评判器无法可靠检测到这一现象,而轻量级TF-IDF检测器能以更低延迟实现高AUROC,提示生产监控应使用校准检测器而非LLM评判器。