AI代理技能需要行为审计,而不是通过率
AI代理技能看起来很容易评估,直到通过率几乎没有变化。
反事实轨迹审计在一个基准配置中报告,技能带来的平均任务成功率只提高了0.3个百分点;但同一次审计仍发现,在49项任务中,技能以522种具体方式改变了代理行为。1如果只看通过率仪表盘,这几乎等于没有变化。轨迹审计看到的却是真实变化。
AI代理技能需要行为审计,而不是通过率。技能可能改变代理选择哪个工具、读取哪条路径、跳过哪些证据、忽视哪些风险,以及造成哪些副作用,而最终任务结果看起来仍然没有变化。
摘要
AI代理技能不应只凭通过率获得信任。通过率告诉团队,在基准评分器下,最终任务是否成功。行为审计追问的是:技能是否以团队预期的方式改变了代理的行动。
近期研究让这种差距难以忽视。反事实轨迹审计会比较加载技能和不加载技能时的代理轨迹,并揭示普通成功指标遗漏的技能诱导模式。1Behavioral Integrity Verification会比较技能声称要做的事与实际做的事,并报告在大规模技能语料中普遍存在描述与行为不一致的问题。2SkillsBench表明,经过精心整理的技能可以提升代理表现,但也显示自生成技能可能毫无帮助,某些任务甚至会因技能而变差。3
实用规则很直接:不要因为基准分数上涨就安装技能。只有当轨迹证明该行为确实应该存在时,才安装技能。
要点
对于使用代理技能的团队: - 即使文件只包含Markdown,也要把每个技能视为会改变行为的代码。 - 在跨项目共享技能之前,先审计轨迹变化、副作用和失败模式。
对于技能作者: - 声明预期行为、允许使用的工具、禁止操作和证据义务。 - 针对成对轨迹测试技能,而不只是测试最终任务结果。
对于安全审查人员: - 比较声明能力和观察到的能力。 - 将隐性扩张、外部访问、破坏性操作和政策绕过标记为技能缺陷。
对于评估团队: - 分别报告通过率、行为变化、副作用变化和审查负担。 - 通过率持平仍然可能掩盖危险的行为变化。
为什么通过率会漏掉技能风险?
通过率压缩错了对象。
技能会在任务开始前改变代理。它可以添加领域流程、工具偏好、格式规则、审查步骤、置信表达或恢复行为。基准评分器通常只看到最终产物:正确或错误。
这会形成盲区:
| 技能影响 | 通过率看到什么 | 行为审计看到什么 |
|---|---|---|
| 更好的工具顺序 | 可能是成功 | 哪个调用提前了,以及为什么。 |
| 额外读取文件 | 可能是成功 | 哪些文件进入了上下文。 |
| 更激进地打补丁 | 可能是成功 | 变更规模、所有权和回滚风险。 |
| 跳过验证 | 可能是成功 | 完成前缺失的证据。 |
| 隐藏的外部访问 | 可能是成功 | 网络或MCP边界扩张。 |
| 更低的审查负担 | 可能是成功 | 更短的轨迹、更清晰的证明、更少未解决声明。 |
最终答案可能看起来正确,但技能让整次运行更不可信。反过来也可能成立:技能可能产出失败结果,却教会代理更好的搜索或恢复模式,这种技能值得修复,而不是删除。
通过率应该进入审计,但不能等同于审计。
反事实轨迹审计带来了什么?
反事实轨迹审计比较两次运行:一次加载技能,一次不加载技能。1
这篇论文的重点之所以有分量,是因为在其报告的WebArena配置中,醒目的通过率收益很小。基准使用技能时,平均任务成功率只提高0.3个百分点。1然而,作者在49项任务中识别出522种技能诱导的行为模式,涉及验证步骤、表单交互、错误恢复、页面导航和误用模式等变化。1
这种差异正是本文要讨论的问题。
即使总体任务成功率几乎没有变化,技能仍然影响了行为。
CTA会将轨迹对齐到不同阶段,并识别技能诱导模式。审计不只问任务是否通过。它会追问技能在哪里改变了轨迹、这种变化是有益还是有害,以及哪条技能指令似乎导致了变化。1
这种方法为团队提供了更好的审查对象:
| 审计问题 | 为什么重要 |
|---|---|
| 哪一步发生了变化? | 将行为连接到轨迹中的具体位置。 |
| 哪条指令造成了变化? | 将行为连接到技能文本。 |
| 变化是有帮助、有伤害,还是只是转移了成本? | 防止通过率表演。 |
| 变化是否产生副作用? | 捕捉成功背后隐藏的风险。 |
| 变化能否跨任务泛化? | 区分一次侥幸的运行和真正值得保留的技能。 |
团队在把技能从本地实验提升为共享流程之前,需要先拿到这种审查对象。
Behavioral Integrity Verification带来了什么?
Behavioral Integrity Verification提出了另一个问题:技能是否做了其描述中声称会做的事?2
BIV论文研究了大规模技能仓库,并报告称,在被分析的技能中,超过80%存在某种形式的描述与行为偏差。2作者将多数偏差归类为疏忽导致,而非对抗性行为,但他们仍然发现了对抗性案例和多阶段风险模式。2
这个发现很重要,因为描述会驱动激活。
在代理系统中,技能描述往往决定技能是否进入上下文。描述会说明代理何时应该加载它。如果描述低估了能力、隐藏了副作用,或没有提到工具访问,代理和用户都会在任何任务专属推理开始之前作出错误路由决策。
BIV指出,技能缺少一个清单层:
| 声明项 | 行为审计应验证什么 |
|---|---|
| 激活条件 | 技能是否只针对声明的任务类别运行? |
| 能力 | 观察到的行为是否停留在声明范围内? |
| 工具使用 | 技能会导致哪些工具、命令、MCP服务器或文件被使用? |
| 副作用 | 技能是否会读取、写入、删除、发送、花费、发布或部署? |
| 外部访问 | 技能是否造成网络、浏览器或第三方活动? |
| 安全声明 | 技能是否真的添加了承诺的检查? |
| 拒绝边界 | 技能是否保留了被阻止的操作? |
可怕的版本是恶意技能撒谎。常见的版本是粗糙技能忘了说实话。
两种都需要审计。
SkillsBench带来了什么?
SkillsBench说明,团队不应矫枉过正,把技能一概判定为无用。
该基准在86项任务和7308条轨迹上评估代理技能。3论文报告称,与无技能基线相比,经过精心整理的技能让平均通过率提高16.2个百分点,而自生成技能平均没有带来收益。3它还报告了某些任务上的负向变化,这意味着技能可能让某些工作变差。3
这个结果给出了更平衡的视角。
技能可以有帮助。技能质量重要。任务匹配重要。来源重要。评估方法也重要。
采用技能的教训不是“避开技能”。真正的教训是“像审查能力包一样审查技能”。
一个有用的技能应该回答:
| 问题 | 必要答案 |
|---|---|
| 技能改善哪项工作? | 具体任务类别和读者/用户。 |
| 哪些行为应该改变? | 工具选择、证据检查、格式、审查或恢复模式。 |
| 哪些行为绝不能改变? | 禁用工具、路径、副作用和权限边界。 |
| 什么证据证明技能有帮助? | 轨迹变化、通过率、审查投入和副作用画像。 |
| 团队如何移除它? | 版本、负责人、回滚和替代路径。 |
只有当观察到的行为与这些答案一致时,技能才有资格扩大使用范围。
行为审计是什么样?
行为审计会比较预期的技能行为和观察到的代理行为。
最低限度的审计包含4轮检查。
| 审计轮次 | 证据 |
|---|---|
| 声明审计 | 技能描述、激活条件、能力、工具和禁止操作。 |
| 反事实轨迹审计 | 在同一任务集上,分别使用和不使用技能进行成对运行。 |
| 副作用审计 | 文件、命令、网络调用、外部写入、批准和回滚状态。 |
| 失败审计 | 失败运行、险些失败、已恢复错误和重复修复模式。 |
输出不应像排行榜,而应更像一份审查材料包。
对每项任务,记录:
- 任务名称和风险类别。
- 技能版本和来源。
- 基线轨迹。
- 技能轨迹。
- 发生变化的步骤。
- 发生变化的工具调用。
- 发生变化的副作用。
- 获得或丢失的证据。
- 最终结果。
- 审查者决定:保留、修订、限定范围、阻止或停用。
这份材料包让人工审查者能够作出经得起一次基准运行之外考验的判断。
技能契约放在哪里?
ContractSkill为需要更严格行为约束的技能指向了一种更清晰的形态。4
论文认为,用自然语言编写的Web代理技能可能含糊、脆弱且难以调试。它提出基于契约的技能,包含明确的任务定义、前置条件、后置条件和步骤级流程。这样系统就能定位失败,并修复受影响部分,而不是重写整个技能。4
这种契约框架很适合行为审计。
| 自由形式技能 | 契约形态技能 |
|---|---|
| “发布时要谨慎。” | “发布前,验证来源URL、路由渲染、schema和回滚。” |
| “检查页面。” | “获取路由,断言状态为200,断言存在变更标记,断言没有回退文本。” |
| “避免有风险的命令。” | “阻止删除、强制推送、外部POST,以及对负责路径之外的写入。” |
| “自然翻译。” | “保留URL和引用;翻译可见标题;拦截英文残留。” |
契约形态的技能减少歧义。它们也让审计成本更低,因为预期行为已经处在一种可供审查者与轨迹对照的结构中。
契约不应把每个技能都变得庞大。对于低风险的写作格式或清单任务,普通技能仍然有效。当技能可能改变外部系统、公开内容、数据、资金、安全态势或共享项目行为时,契约才尤其重要。
如何修复坏技能?
不要因为一次运行失败就删除一个有用的技能。先识别行为在哪里出错。
AgentRx关注通过执行轨迹定位关键失败步骤、生成约束,并用可审计日志验证修复,从而修复代理失败。5论文面向的是广义代理行为,而不是专门的技能文件,但其修复方式很适合映射到技能:找到失败步骤,推导约束,测试修复后的行为,并保留证据。
技能修复应遵循同样的顺序:
| 失败 | 修复 |
|---|---|
| 技能激活范围过宽 | 收窄描述和触发示例。 |
| 技能改变了错误的工具选择 | 添加工具选择规则和反例。 |
| 技能跳过验证 | 在完成前添加停止条件。 |
| 技能造成过大的变更 | 添加所有权和变更路径限制。 |
| 技能导致网络活动 | 添加出口规则和批准要求。 |
| 技能改善一项任务却伤害另一项任务 | 拆分技能,或将其限定到有效的任务类别。 |
修复应以新的审计结束,而不是以自信的提交消息结束。
如果修复后轨迹仍显示错误行为,就停用该技能。
最低标准
团队共享AI代理技能之前,至少要求一份行为审计材料包。
| 字段 | 必要证据 |
|---|---|
| 来源 | 仓库、作者、版本和安装路径。 |
| 目的 | 技能声称要改善的任务类别。 |
| 激活 | 应加载技能的精确条件。 |
| 允许行为 | 技能可以影响的工具、文件、资源和操作。 |
| 禁止行为 | 技能不得扩张的工具、路径、副作用和权限。 |
| 反事实轨迹 | 同一任务在使用和不使用技能时的轨迹。 |
| 结果变化 | 通过率、失败率、审查投入和执行成本。 |
| 行为变化 | 变化的步骤、工具调用、副作用和证据。 |
| 风险决定 | 保留、修订、限定范围、阻止或停用。 |
| 回滚 | 团队如何移除技能并回到之前的行为。 |
这份材料包会迫使团队提出正确问题。
问题不是“这个技能是否帮过一次忙?”问题是“这个技能是否可靠地以团队想要的方式改变行为?”
更值得采用的标准
技能能让代理很快显得更好用。这种速度会诱使团队不断积累流程文件、命令、代理、钩子和提示词,因为每一个看起来都很便宜。
便宜的上下文仍然会改变行为。
值得采用的技能,必须通过改善整个工作流来赢得位置。它应当降低审查负担、强化证据、收窄风险,或教会代理一种它原本无法可靠执行的流程。只会让代理听起来更自信的技能应该被移除。提升了通过率却扩大隐藏副作用的技能,应当审查不通过。
标准应保持简单:
- 声明技能应该改变什么。
- 证明轨迹确实按这种方式改变。
- 说明什么绝不能改变。
- 证明轨迹遵守了该边界。
- 只有当行为值得存在时,才保留技能。
AI代理技能不是魔法便签。它们是行为补丁。请像对待代码一样对待它们。
快速总结
AI代理技能需要行为审计,因为通过率隐藏了太多东西。反事实轨迹审计表明,技能可以改变数百种轨迹模式,而总体成功率几乎不动。1Behavioral Integrity Verification表明,技能描述经常偏离实际能力。2SkillsBench表明,经过精心整理的技能可以有帮助,但自生成技能和任务不匹配可能失败,甚至造成伤害。3
操作规则很直接:评估行为,而不只是评估分数。当技能的声明、轨迹、副作用、失败、修复和回滚路径彼此一致时,它才值得信任。
FAQ
什么是AI代理技能的行为审计?
行为审计检查技能如何改变代理的实际运行:工具调用、文件访问、副作用、验证步骤、恢复行为和最终结果。它会将观察到的行为与技能声明的目的和边界进行比较。
为什么通过率不足以评估技能?
通过率显示任务是否在评分器下成功。它不会显示技能是否扩大了工具访问、跳过了证据、增加了副作用,或以团队未预期的方式改变了行为。
什么是反事实轨迹审计?
反事实轨迹审计比较加载技能和不加载技能时的代理轨迹,对齐轨迹阶段,并识别技能诱导的行为模式。它帮助团队看到总体成功指标可能遗漏的行为变化。1
什么是Behavioral Integrity Verification?
Behavioral Integrity Verification将技能描述与实际技能行为进行比较。它会检测技能声称的能力、激活条件或安全声明是否与观察到的行为不一致。2
团队在共享技能前应审计什么?
团队应审计技能来源、激活条件、声明能力、允许和禁止的操作、成对轨迹、副作用、失败案例、修复路径和回滚计划。
参考文献
-
Xuanyu Zhang, Yiding Liu, Chengsong Huang, Ensheng Shi, Weizhi Ma, Yifei Zhang, Qun Liu, Shumin Deng, Jiahang Shen, and Shiqi Wang, “LLM代理技能的反事实轨迹审计”, arXiv:2605.11946v1, 2026年5月13日提交。来源用于成对轨迹比较、技能诱导模式检测、阶段对齐、WebArena技能评估、0.3个百分点的总体通过率提升,以及49项任务中的522种行为模式。 ↩↩↩↩↩↩↩↩
-
Ning Liu, Meng Fang, Youtao Zhang, Dominik T. Matt, Stanislav Pletnev, Hongzhi Wang, and Erwin Schoitsch, “Agentic AI技能的行为完整性验证”, arXiv:2605.11770v1, 2026年5月13日提交。来源用于声明能力与实际技能能力验证、仓库规模技能分析、描述与行为偏差发现、疏忽和对抗性偏差类别,以及多阶段风险模式。 ↩↩↩↩↩↩
-
Lingkai Kong, Xiangliang Zhang, and Jiamou Liu, “SkillsBench:LLM能否从自身和其他代理的技能中学习,以实现可靠任务执行?”, arXiv:2602.12670v1, 2026年2月17日提交。来源用于86项任务、7308条轨迹的SkillsBench评估,经过精心整理的技能带来的通过率提升,自生成技能结果,以及负向任务变化。 ↩↩↩↩↩
-
Meiyi Ma, Fengan Xia, Canran Xu, Wenqi Li, Aranya Roy, Zhaopeng Tu, Ranveer Chandra, and Dongmei Zhang, “ContractSkill:面向LLM驱动Web代理的契约式技能设计”, arXiv:2603.20340v1, 2026年3月25日提交。来源用于基于契约的技能定义、前置条件、后置条件、步骤级流程、确定性验证、故障定位和最小局部修复。 ↩↩
-
Cunxiang Wang, Ruoxi Sun, Yidong Wang, Piji Li, and Yue Zhang, “AgentRx:面向LLM代理的可扩展自动失败诊断与修复”, arXiv:2602.02475v1, 2026年2月3日提交。来源用于关键步骤失败定位、约束生成、轨迹验证,以及LLM代理失败的可审计修复日志。 ↩