使用金丝雀工具诊断LLM智能体中的工具选择推理

arXiv cs.AI 论文

摘要

本文引入“金丝雀工具”作为诊断探针,用于识别LLM智能体中特定的工具选择推理失败,提出了一个六类型分类法,并在8,640次任务运行中评估了八个模型,以展示能力层级差异和鲁棒性。

arXiv:2608.04719v1 公告类型:新 摘要:智能体评估告诉我们模型选错了工具,但很少说明原因。我们引入金丝雀工具:一种诊断探针工具,植入智能体的模型上下文协议(MCP)工具集中,每个工具专门用于探测一种特定的工具选择弱点。一个六类型分类法(语义诱饵、参数陷阱、能力幻象、前提失明、时间诱饵和粒度陷阱)将单一的“错误工具”结果转变为模型如何推理工具的多维画像。我们评估了八个模型——六个托管模型和两个80亿参数开放权重模型——跨越三个能力层级,在120个任务上,覆盖三种金丝雀密度条件和三种随机种子(8,640次运行),外加一次2,880次运行的微妙性消融实验。任务成功由独立于提供方的评判者评分,并由第二位独立评判者确认(Cohen's kappa = 0.75)。我们报告三个发现。首先,随着模型能力增强,易感性急剧下降:每个任务的金丝雀易感率(CSR)在模型间差异约36倍,Claude Opus 4.8最低,Llama 3.1 8B最高。其次,仅凭能力层级并不能预测安全性:最易感的托管模型属于中层级,并且在同一提供方内,较便宜的模型可能更安全。第三,该分类法按能力分层:能力幻象最可靠地困住前沿模型,而其他类型在强模型上基本无效,但在小型开放模型上会触发,因此它们按能力进行区分,而非本身薄弱。软化每个金丝雀的泄露短语后,前沿模型的CSR基本不变,证明这些探针测量的是推理,而不是短语识别。易感性还能预测任务失败(Spearman rho = -0.34),而最鲁棒的模型在金丝雀压力下没有显著退化。我们发布了该框架、金丝雀模式、任务和日志。
查看原文
查看缓存全文

缓存时间: 2026/08/06 07:42

# 使用金丝雀工具诊断 LLM Agent 中的工具选择推理

来源:https://arxiv.org/html/2608.04719

###### 摘要

Agent 评测能告诉我们*某个模型选错了工具*,但很少告诉我们*为什么*会选错。我们引入金丝雀工具(canary tools):一种植入在 Agent 的 Model Context Protocol (MCP) 工具集中的诊断性探针工具,每个探针专门针对某一种工具选择缺陷。一个包含六种类型的分类体系(语义诱饵、参数陷阱、能力幻象、前置条件盲区、时间诱饵、粒度陷阱)将单一的“选错工具”结果转化为模型如何推理工具的的多维画像。我们评估了八个模型——来自三家提供商的六个托管模型,外加两个 8B 开源权重模型——覆盖三个能力层级,在 120 个任务上、三种金丝雀密度条件和三种随机种子下进行(8,640 次任务运行),并附带一次 2,880 次运行的受控微妙性消融实验。任务成功由独立于提供商的评判模型打分,该模型既不属于被测模型,也不与任何被测模型共享提供商;另有一位独立的第二评判模型加以佐证(评判者间 Cohen's κ=0.75)。我们报告三项发现。第一,随着模型能力增强,易感性急剧下降:跨八个模型的每任务金丝雀易感率(csr)跨度约为 36 倍,最低为 Claude Opus 4.8,最高为 Llama 3.1 8B。第二,*仅凭能力层级并不能预测安全性*:六个托管模型中易感性最高的是中端模型,而在同一提供商内部,较便宜的模型可能反而更安全。第三,该分类体系具有*能力分层性*:能力幻象是最能稳定困住前沿模型的探针,而其余类型对强模型基本无效,却能在小型开源模型上轻易触发,因此它们按能力进行区分而非本身薄弱。软化每个金丝雀的泄底措辞后,前沿模型的 csr 基本不变,这证明探针测量的是推理而非措辞匹配。易感性还能预测任务失败(Spearman ρ=−0.34),而最稳健的模型并不会因金丝雀压力而显著降级。我们发布框架、金丝雀模式、任务与日志。

使用金丝雀工具诊断 LLM Agent 中的工具选择推理

Atul Anand Sourav Chattaraj

## 1 引言

Agent 基准测试告诉我们*一个 LLM Agent 是否完成了任务*,但当它失败时,却很少告诉我们*为什么*失败(Liu et al., 2024;Qin et al., 2024)。工具使用型 Agent(Schick et al., 2023;Yao et al., 2023;Patil et al., 2024)越来越多地运行在通过 Model Context Protocol(Anthropic, 2024)等标准暴露的大规模、异构工具集之上,而一种反复出现的失败模式就是*工具选择*:面对两个相似的工具时,Agent 会伸手去拿那个名字看起来对、但功能上却错误的工具。基于干扰项的评测套件会添加无关工具并检查性能是否下降,但它们仍然只返回一个比特——Agent 失败了——而不是*哪一步推理*出了问题。对于改进 Agent 来说,这个详细程度是错误的:想要修复工具选择失败的开发者首先需要知道那是一种*什么类型*的错误(图 1)。

标准评测:Agent 选择工具→\rightarrow*失败了吗?*→\rightarrow是 / 否(一个比特)
金丝雀诊断(本研究):*同一个*错误选择回答了*哪一步推理出了问题?*
语义
参数
能力
前置条件
时间
粒度
类型

图 1:诊断范式转变。标准基准将工具选择错误压缩为一个比特(失败与否)。金丝雀工具经过专门设计,使得同一次错误选择能够揭示*六种推理缺陷中的哪一种*发生了,从而将结果转化为带类型的诊断。

我们主张一种诊断性转变,借鉴教育测试中误解探针(misconception probes)的思路:与其给答案打对或错,不如设计每一个题目,使某个特定的错误答案能够揭示某种特定的误解。我们将这一思路引入工具选择,提出金丝雀工具:植入在 Agent 工具集中的诊断性探针工具,每个工具都设计成调用它就能暴露某一种具体的推理缺陷。金丝雀不是噪声,而是一种具有已知失败语义的定向探针。

我们的贡献如下:

1. 1. 一个六类型的**金丝雀分类体系**(§3):每种类型探测一种不同的工具选择能力。
2. 2. 一个可复现的**生成与评测框架**(§4):模式驱动的金丝雀生成器、逼真的沙盒工具环境、覆盖托管模型与本地模型的 Agent 循环、与提供商无关的结果评判模型,以及陷阱探测器。
3. 3. 一项覆盖**八个模型**的实证研究(§6),得出能力分层式的诊断画像,发现能力层级不能预测安全性,并验证金丝雀易感性能够预测任务失败。

图 2 预告了主要结果:每任务金丝雀易感率(csr)在模型之间跨度约为 36 倍,而且能力层级并不能对其排序(最易感的模型是中端模型,且一个中端模型击败了其同提供商的前沿兄弟模型)。

参见图注

图 2:每个模型的每任务金丝雀易感率(声明条件下;越低越好)。条形按提供商分组排列,而非按能力层级。层级并不能对模型排序:最差的是中端模型,而且中端模型击败了其前沿兄弟模型。完整数字及置信区间见表 1。

## 2 相关工作

#### Agent 与工具使用基准测试。

大多数 Agent 与工具使用基准测试只评判调用或任务是否正确。AgentBench(Liu et al., 2024)和 ToolLLM(Qin et al., 2024)在大规模工具集上衡量端到端任务完成情况;Berkeley Function-Calling Leaderboard(Patil et al., 2025)通过抽象语法树比较来检查函数调用是否与参考匹配;τ-bench(Yao et al., 2024)和 ToolSandbox(Lu et al., 2024)则根据策略或里程碑检查来评估多轮、有状态的工具使用。所有这些方法都是基于结果或正确性的:错误选择会被判为不正确,但没有一个会报告*哪种*推理缺陷导致了该错误。金丝雀工具与之互补,为错误选择附加了带类型的诊断。

#### 干扰项与工具选择。

有一条更接近的工作路线是添加额外工具来直接探测选择过程。MetaTool(Huang et al., 2024)测试是否应该调用工具以及调用哪个工具,包括在相似工具和具有明确可靠性问题的工具之间进行选择。MCPAgentBench(Liu et al., 2025)和 MCP-Atlas(Bandi et al., 2026)在正确工具旁边放置无关或同领域的工具来衡量抗干扰能力。这些套件产生的是二元信号(Agent 是否选了干扰项?)。相比之下,金丝雀工具经过专门设计,使得*Agent 取了哪个金丝雀*就能揭示*某一种具体的推理缺陷*,从而把一次错误选择转化为多维画像,而非单一的干扰分数。

#### 工具幻觉与安全探针。

ToolBeHonest(Zhang et al., 2024)诊断工具增强型模型中的幻觉问题,例如调用不存在的工具或参数。那种失败源于模型权重本身,而我们研究的是在上下文呈现的合理、看起来真实的工具之间进行选择。在安全方面,InjecAgent(Zhan et al., 2024)注入对抗性内容以测试间接提示注入的鲁棒性;金丝雀标记(canary tokens)则是检测入侵的经典蜜罐。我们借用了蜜罐的直觉,但将其瞄准良性的工具选择推理,而非对抗性攻击。

## 3 金丝雀分类体系

#### 问题设定。

Agent 被赋予一个任务 qq 和一个工具集 TT,其中每个工具 tt 都暴露一个名称、一段自然语言描述和一个参数模式。*工具选择*就是选择 a(q,T)∈Ta(q,T)\in T 中要调用哪个工具。正确的选择要求 Agent 的决策对 tt 中决定其是否适合 qq 的那些属性*敏感*:工具实际做什么(而不只是名称暗示什么)、其输入能否被满足、其宣称的能力是否真实且为任务所需、是否存在未满足的前置条件、其数据是否最新、其范围是否与任务匹配。*金丝雀*(canary)是沿着这些轴中恰好一条对真实工具 t⋆t^{\star} 进行的定向扰动 c=δ(t⋆)c=\delta(t^{\star}),它使工具表面上看起来合理,但对 qq 却是错误的。将 cc 植入 TT 并观察到 a(q,T∪{c})=ca(q,T\cup\{c\})=c,表明 Agent 的选择对受扰动属性*不敏感*,这是一个带类型的失败,而不是笼统的“选错工具”。该分类体系为每条轴列举一种金丝雀类型。这六条轴覆盖了工具契约的组成部分(名称、描述、参数模式和范围);我们并不声称它们是穷尽的,框架也允许增加更多轴。它们的非冗余性在经验上同样可见:每种类型在能力曲线上的不同位置触发(§6)。

因此,每种金丝雀类型都针对一种推理能力,并具有确定性的失败语义,从而使一次被捕获的调用毫无歧义。

**语义诱饵**:一个名称和描述被改写但模式完全相同的工具,其描述却显示它返回缓存/过期数据。用于探测 Agent 是阅读描述还是仅按名称匹配。

**参数陷阱**:一个功能相似的工具,但重命名了参数,并增加了一个无法满足的必填参数(例如 Agent 无法提供的 api_key)。用于探测参数可行性检查。

**能力幻象**:一个描述夸大其能力的变体(“研究级”、“能解决最困难的情况”)。用于探测 Agent 是否会批判性地评估能力声明,还是偏好“更强大”的工具。

**前置条件盲区**:一个特权变体,其描述省略了需要认证这一要求;调用它会返回认证错误。用于探测对隐含前置条件的推理。

**时间诱饵**:一个带有过时日期/版本标记的变体。用于探测 Agent 是否权衡时效性。

**粒度陷阱**:一个过度具体、硬编码的变体(例如仅针对单个城市的天气,且没有参数)。用于探测 Agent 是否将工具的具体程度与任务范围相匹配。

#### 一个工作示例。

图 3 追踪了一次真实的被捕获运行。在简单任务*“将 5 英里转换为公里”*上,其唯一正确工具是 convert_units,但 GPT-4.1 却调用了能力幻象金丝雀 advanced_convert_units。单位转换完全不需要其宣称的“研究级”能力,因此这次错误选择精准地定位了该探针所针对的问题:偏好听起来更强大的工具,却不检查任务是否需要。这正是二元干扰分数(“选错工具”)所会遗漏的诊断内容。

任务(简单):“将 5 英里转换为公里。”
正确工具:convert_units(value, from, to)。
工具集(已打乱):12 个真实工具 + 金丝雀。这里有两个看似合理:
∙\bullet convert_units——真实转换器。
∙\bullet advanced_convert_units——金丝雀,“经过优化,研究级”。
Agent(GPT-4.1)调用 advanced_convert_units。
能力幻象陷阱被触发;金丝雀返回一个标记为“可能不可靠”的值。
诊断:偏好听起来更强大的工具,而不检查任务是否需要它。干扰分数只报告“选错工具”;金丝雀则指明*是哪种误解*(能力幻象)。

图 3:金丝雀探针的实际运行(真实运行)。干扰项基准会将该错误选择记为二元的“选错工具”,而在金丝雀分类体系下,它则是一种带类型的诊断:*能力幻象*。每种金丝雀类型都会产生不同的此类诊断。

## 4 方法论

#### 金丝雀生成器。

给定一个真实的 MCP 工具模式,生成器为每种类型生成一个金丝雀。参数、前置条件、时间和粒度金丝雀通过确定性模式变换生成;语义和能力金丝雀还额外使用 LLM 来改写名称和描述,使其无法与真实工具简单区分(各类型的变换详见附录 C)。完整金丝雀池一次性生成并持久化保存,因此每个模型、每种条件和每个随机种子看到的都是字节完全一致的金丝雀。

#### 逼真的工具环境。

我们在五个 MCP 服务器(weather、math、file、search、database)上实现了 12 个真实工具。工具结果是*逼真的合成数据*:带有数字的可信搜索片段、与文件名相关联的文件内容,以及内部一致的数据库行,而不是明显的占位符。这一点比听起来更重要。在早期使用占位符输出的运行中,较强的模型注意到结果是合成的,于是干脆停下来而不是编造答案,这既压低了它们的陷阱率(调用更少,出错机会更少),也压低了它们的任务成功率。逼真的输出让每个模型都能在同等条件下完成多步任务。

#### 组装器与 Agent 循环。

对于每个任务,组装器将真实工具与声明类型的金丝雀合并,并进行确定性打乱。所有模型,无论是托管模型(通过 OpenAI 兼容网关)还是本地模型(通过 Ollama),都运行在同一个工具调用循环中,从而消除了按提供商区分的适配器混杂因素。

#### 结果评判模型。

任务成功率(tsr)由一个 LLM 评判模型打分,它读取任务、工具调用轨迹和最终答案,并判断结果是否达成。这取代了“工具覆盖率”启发式(Agent 是否调用了所有“正确”工具),因为后者会不公平地惩罚那些通过推理而非调用预期工具来解决某一步骤的强模型(完整提示见附录 B)。为了避免用某个模型自身家族的成员来为其输出打分,评判模型是*与提供商无关的*:我们使用 DeepSeek-V3.2,它既不在八个被测模型之列,也不与其中任何一个共享提供商。我们以温度 0 查询评判模型,使相同输入获得相同判定,从而使 tsr 可复现。

#### 验证评判模型。

我们用三种方式检查评判模型。第一,它是否稳定?在更高温度下对一个 300 次运行的样本重新打分三次,得到的判定是一致的,并且与温度 0 的评分在 94% 的运行上相符。第二,评判模型的选择是否重要?用第二个独立评判模型(GLM-5,同样来自被测池之外且来自不同提供商)对同一份样本重新打分,两者一致性的 Cohen's κ=0.75,且两个评判模型的总体 tsr 仅相差 0.05。第三,它是否与人类一致?一位作者手工评了 40 次任务运行,与评判模型在 95% 上一致(κ=0.90);每一次分歧都是评判模型是两者中*更严格*的那一方,因此 tsr 即使有偏差也是低估成功率的。协议与案例见附录 D 和 E。

#### T

相似文章

LLM代理已经知道何时调用工具——甚至无需推理

Hugging Face Daily Papers

本文介绍了When2Tool,一个研究LLM代理实际何时需要调用工具的基准,并揭示模型已从隐藏状态知道工具的必要性但未能采取行动。提出的Probe&Prefill方法将不必要的工具调用减少了48%,且精度损失极小。

Lomekwi: LLM智能体中的资源受限工具发现

arXiv cs.AI

本文区分了LLM智能体中的工具使用与工具发现,将发现分解为好奇心、识别和效率。介绍了Lomekwi框架,并在组合游戏中展示了识别能力随模型大小的逆缩放。