当 Skill 从几个手写文件扩张为共享生态,评测问题就不再是“这次任务成功了吗”。系统还要知道 Agent 能否找到正确 Skill、多个 Skill 是否冲突、Skill 是否跨模型有效、更新后有没有退化,以及它是否携带不应该拥有的行为。
Rutgers 团队把快速增长的 Agent Skill 研究整理为一张完整地图:四种进化路径、六类评测基准,以及三个仍未被解决的结构性缺口。
Agent Skill 全景:从创建、检索和执行,到四种进化路径以及六类评测
#Skill 不只是说明文档
论文把 Skill 表示为四个组成部分:适用条件、执行策略、终止条件和可复用接口。
适用条件决定什么场景下应该激活;执行策略描述如何行动;终止条件告诉 Agent 何时完成;可复用接口决定它如何与其他 Skill 组合。这一定义说明,只阅读 SKILL.md 判断文字质量远远不够。一个 Skill 可能写得准确,却因为路由错误从不被调用;也可能单独有效,与其他 Skill 组合后产生冲突。
随着库规模增长,检索、路由和管理成为 Skill 能否发挥作用的前置条件。评测必须覆盖这条完整链路,而不是默认正确 Skill 已经出现在上下文中。
#六类 Skill 评测
综述把现有基准分成六类。
第一类是效用评测,通过同一任务的有/无 Skill 配对实验,测量 Skill 带来的边际提升。SkillsBench 是代表性工作,但平均提升会掩盖领域、模型和任务之间的巨大差异。
第二类是 Skill 生成评测,检查自动生成的 Skill 是否正确、是否与执行轨迹一致,以及能否在同结构的新任务上复用。它测的不是一次生成质量,而是 Agent 能否从经验中形成稳定程序性知识。
第三类是检索与路由评测。在几万甚至几十万个候选 Skill 中,系统必须找到正确能力、过滤相似但不适用的候选,并决定何时加载。只用名称和短描述检索,可能丢失决定适用性的关键条件。
第四类是安全评测。Skill 同时包含自然语言指令、脚本、引用和权限,因此既可能遭遇提示注入,也可能像软件包一样携带供应链风险。安全测试必须检查异常行为、权限边界和敏感数据保护。
第五类是软件工程专项评测,把公开 Skill 放进固定版本的真实代码仓,用可执行验收标准进行配对实验。这类评测可复现,但仍难覆盖私有工作流、遗留系统和持续变化的工程环境。
第六类是真实环境评测,让 Agent 在动态个人助理、技术支持或其他开放环境中完成长链任务。它更接近部署,却更难标准化和复现。
#四种 Skill 进化路径
评测不只负责打分,也为 Skill 更新提供信号。论文总结了四种主要进化方式。
- 执行反馈:根据单次运行中的局部成功和失败修补 Skill
- 轨迹蒸馏:比较多条成功与失败轨迹,提取可复用模式
- 压缩与增强:合并重复 Skill、拆解复杂 Skill、清理冗余并补足覆盖
- 强化学习:用跨任务复用收益训练检索、执行和更新策略
单次轨迹最容易获得,但也最容易把偶然步骤写进 Skill。批量轨迹更能分离通用知识和样本噪声。库级压缩解决冲突与上下文成本,强化学习则试图把“未来任务是否真正受益”变成奖励。
这些路径并不互斥。一个成熟系统可以先从执行轨迹发现问题,再跨运行蒸馏共同模式,最后通过回归评测决定是否合并更新。
#当前基准的三个断层
第一,覆盖不均衡。效用和安全基准已经积累较多任务与可审计包,Skill 生成和多模态场景仍然很小。桌面、网页、图像和机器人 Skill 的正确动作取决于视觉状态,纯文本任务很难代表它们。
第二,没有真正的纵向评测。大多数工作只在某个版本上拍一张快照,没有连续观察 Skill 经历多轮反馈后是否持续改善、是否遗忘旧能力,以及更新是否污染其他 Skill。
第三,指标过于二元。通过或失败无法说明 Agent 花了多少 token、调用了多少工具、延迟多高、在哪里出错,也无法区分 Skill 本身质量、模型能力和环境故障。
#安全必须进入进化循环
Skill 更新会引入三类风险:直接写入恶意指令、从外部内容继承提示注入,以及自我进化过程中悄悄删除原有安全约束。轨迹蒸馏还可能把敏感信息写回 Skill,形成长期泄露。
因此,Skill 自我修改不能直接进入生产。更新应当有版本历史、权限边界、依赖关系和人类审查;触及敏感操作时,还要保留明确确认。评测集不仅要检查任务表现,还要包含安全回归。
#从静态仓库走向受监控基础设施
综述最终指向的不是一个万能分数,而是一套持续治理方式:为 Skill 建立版本与依赖图,只重测受影响的下游能力;把成本、延迟、错误类型和泛化加入复合指标;让同一个 Skill 在不同模型与 Harness 上接受测试;把生产反馈转为可审查更新,而不是无控制地自我改写。
当 Skill 决定 Agent 的生产行为时,它就不再只是内容资产。它更像一层会持续变化的软件依赖:发布前要验收,更新后要回归,运行中要监控,出现问题要能定位和回滚。