← 返回 2026-02-10

Agent Skills:基于数据驱动的 Claude Skills 扩展大语言模型功能的分析 Agent Skills: A Data-Driven Analysis of Claude Skills for Extending Large Language Model Functionality

George Ling, Shanshan Zhong, Richard Huang 📅 2026-02-08 👍 5 2026-07-13 08:35
Agent Skills LLM Agent 安全评估 生态测量 软件工程

4万+ Agent Skills生态测量:爆发增长、冗余严重、供需错配、风险凸显

前置知识

Agent Skill(智能体技能)

Agent Skill 是一种可复用、可插拔的模块化抽象,用于封装 LLM Agent 在执行任务时的重复行为。每个 Skill 通常包含三部分:Metadata(名称、描述,用于发现和选择)、Instructions(Markdown 格式的执行流程和决策逻辑)、Resources(外部工具、脚本、API 配置)。在实际运行中,Agent 先加载一个精简的 Skill 索引,根据用户请求语义匹配最相关的 Skill,然后按 Skill 定义的步骤调用工具完成子任务。这种设计将重复的 prompt 工程和控制逻辑封装为可共享、可版本化的单元。

本文的核心研究对象就是这些 Skill 的生态系统——它们的发布、采纳、冗余和安全风险。不理解 Skill 的结构就无法理解本文的分析框架。

FTS5 全文搜索与语义匹配

在测量 Skill 冗余时,本文采用了两种匹配策略:基于名称的精确匹配(exact name matching)和基于语义嵌入的近似匹配。精确匹配通过小写化、去特殊字符后比较标准化名称,简单但只能捕获完全相同的重名;语义匹配则用 BAAI/bge-m3 模型对 Name+Description 进行编码,通过最近邻相似度和 t-SNE 可视化分析近似重复。论文发现语义匹配在该数据集上不够可靠(短描述噪声大),因此主结果以精确匹配为准。

冗余分析是本文三大核心发现之一,理解这两种匹配策略的区别才能正确解读 46.3% 冗余率的含义和局限。

Supply-Demand Gap(供需差距)

本文将「供给」定义为去重后某类别下的 Skill 数量,将「需求」定义为该类别下 Skill 的平均安装量(作为采纳度的代理指标)。通过对比这两个维度,可以发现哪些领域开发者过度发布(供过于求)、哪些领域用户需求旺盛但 Skill 稀缺(供不应求)。例如软件工程类占了 54.7% 的发布量但需求不如内容创作类旺盛,而信息检索类虽然发布量仅 4.8% 但 Web Search 的平均下载量高达 1268。

供需分析直接指向了 Skill 平台的治理方向——哪些领域需要更多高质量 Skill、哪些领域需要去重和质量筛选。

LLM-based Auditing(基于大模型的安全审计)

本文使用 Qwen2.5-32B-Instruct 模型对每个 Skill 进行四级别安全风险评估:L0(安全/只读公开数据)、L1(隐私风险/读取敏感数据)、L2(中等风险/受限写入操作)、L3(高风险/破坏性操作如任意命令执行、金融交易)。模型接收 Skill 的完整 SKILL.md 内容,按最坏情况解读(worst-case interpretation),输出严格的 JSON 标签和推理理由。

安全审计揭示了近 40% 的 Skill 具备状态变更或系统级操作能力,这是理解 Agent Skills 生态风险面的关键数据。

研究动机

随着 LLM Agent 系统在软件开发、数据分析、个人助理等场景的广泛应用,大量重复的子任务行为(如数据检索、代码修改、信息提取)被反复通过 prompt 或临时控制逻辑来指定。这种重复导致三个具体问题:第一,prompt 开销不断膨胀,一个包含多个子任务的 Agent 可能需要在上下文中塞入数千 token 的行为描述;第二,行为在上下文微小变化下变得脆弱(brittle),因为控制逻辑是硬编码的而非模块化的;第三,共享流程的维护变得极其困难——当多个 Agent 都需要执行相同的代码审查流程时,修改一处逻辑需要同步更新所有副本。Agent Skills 作为可复用模块化抽象应运而生,skills.sh 平台在 2026 年 1 月中旬至 2 月初短短 20 天内就从 2,179 个 Skill 激增到 40,285 个,增长了 18.5 倍,OpenClaw 开源项目在同一时期获得了超过 17 万 GitHub Stars。但这种爆发式增长背后,没有人系统性地回答过:这些 Skill 到底是什么类型的?用户真正采纳了哪些?它们带来了什么安全风险?

本文的目标是本文的具体目标是对公开 Agent Skills 生态系统进行首次大规模、数据驱动的量化分析,覆盖四个维度:(1)发布增长趋势——量化 Skill 的时间分布特征和社区注意力信号的关系;(2)内容特征——分析 Skill 的 token 长度分布和意图级冗余程度;(3)使用模式——建立功能分类体系(6 大类 20 子类),对比发布量(供给)和安装量(需求)的错配情况;(4)安全风险——通过 LLM 审计评估各类 Skill 的风险级别分布。最终目标是为 Skill 的复用、标准化和安全感知设计提供实证基础。

与已有工作不同的是,本文的独特切入角度在于它不是提出新的 Skill 设计方案或构建 Skill 系统,而是从测量(measurement)视角审视整个生态系统。此前关于 Agent Skills 的讨论主要集中在概念定义(Anthropic 2025)、安全漏洞案例(Schmotz et al. 2025)或特定系统设计(Jin et al. 2026),缺乏对公开市场全景的量化刻画。本文抓住了三个被忽视的关键问题:一是 Skill 发布的「bursty」特征——增长不是均匀的而是集中在少数爆发日,这暗示社区注意力驱动而非渐进式需求;二是 46.3% 的 Skill 存在意图级冗余,说明大量开发精力被浪费在重复包装相同工作流上;三是供需之间存在系统性错配,信息检索类需求旺盛但供给稀少(因为需要维护稳定的连接器),而软件工程类供给过剩但同质化严重。这种测量视角为后续的平台治理和标准化工作提供了必要的实证基础。

核心方法

本文的方法框架可以类比为「人口普查」:研究者不是在设计新的 Agent 系统,而是在对一个新兴生态系统进行全面的人口统计。整体技术路线分为四步:第一步是数据采集,从公开市场 skills.sh 爬取所有 Skill 的元数据(名称、仓库链接、首次出现日期、各平台安装量),截止 2026 年 2 月 5 日获得 40,285 条记录;第二步是内容分析,通过 tiktoken 的 o200k_base 编码器计算每个 Skill 的 token 长度,并通过标准化名称匹配和 bge-m3 语义嵌入两种方法量化意图级冗余;第三步是功能分类,由于市场标签稀疏且不一致,使用 Qwen2.5-32B-Instruct 模型将每个 Skill 分类到 6 大类 20 子类的自定义分类体系中;第四步是安全审计,同样使用 Qwen2.5-32B-Instruct 模型,按最坏情况解读为每个 Skill 分配 L0-L3 风险级别。整个分析基于单次快照的公开数据,不涉及敏感信息归因,所有结果仅以聚合形式报告。

本文最核心的创新在于将 Agent Skills 生态系统作为可量化、可分类、可审计的基础设施层来系统研究,而不仅仅是作为一个工程工具来讨论。具体来说,它提出了三个关键的分析维度组合:第一,用「发布量 vs 安装量」的供需框架来分析不同功能类别之间的资源错配,这在 Skill 研究中是首创;第二,用「名称精确匹配 + 语义嵌入近似匹配」的双信号方法来量化冗余,其中语义匹配因描述噪声大而被降级为辅助验证,主结果依赖更可靠的精确匹配,这种对方法论局限性的诚实处理本身就是一种贡献;第三,将安全审计从个案分析扩展到全量扫描(40,285 个 Skill),通过 LLM 自动生成 L0-L3 标签,首次给出了 Agent Skills 风险分布的全局画像。这种从「个案故事」到「统计画像」的转变是本文区别于已有工作的本质特征。

方法步骤详情

本文的方法分为五个具体步骤。第一步,数据采集(Section 2.1):通过爬虫从 skills.sh 平台提取每个 Skill 的元数据,包括 name、repository(托管链接)、first_seen(首次上架日期)和 installed_on(各平台安装量列表),最终获得 40,285 条记录。同时通过 GitHub GraphQL API 查询 OpenClaw 项目的每日新增 Star 数作为社区注意力的辅助信号。第二步,长度与冗余分析(Section 3):用 tiktoken 的 o200k_base 编码器对每个 SKILL.md 文件进行 tokenize 并统计 token 数;冗余分析先用标准化名称(小写化、去特殊字符)进行精确匹配分组,再用 BAAI/bge-m3 对 Name+Description 进行语义编码计算最近邻相似度,但发现语义匹配不够可靠,主结果采用精确匹配。第三步,功能分类(Section 4.1):构建 6 大类 20 子类的分类体系(软件工程、信息检索、生产力工具、数据与分析、内容创作、其他工具),因市场标签缺失,使用 Qwen2.5-32B-Instruct 对每个 Skill 的 name+description 进行分类,要求模型输出严格 JSON 并附理由。第四步,供需对比(Section 4.3):先对 Skill 进行去重处理(Section 3.2 的去重结果),然后计算每个子类的去重后 Skill 数量(供给)和平均安装量(需求),对比两者的一致性和偏差。第五步,安全审计(Section 5):使用 Qwen2.5-32B-Instruct 对每个 Skill 进行风险评估,输入包括 Skill 名称、描述和完整 SKILL.md 内容,模型按最坏情况解读输出 L0-L3 风险级别和推理理由。

技术新颖性

本文的技术新颖性体现在三个层面。第一,在研究对象上,这是首个对公开 Agent Skills 生态进行万级规模量化分析的工作。此前的相关研究要么聚焦于特定 Agent 系统的设计(如 Voyager、Reflexion),要么讨论 Skills 的概念框架(如 Anthropic 的 Agent Skills Overview),但没有人系统统计过一个公开市场上到底有什么类型的 Skill、用户如何采纳、以及它们的风险分布。第二,在分析方法上,本文创新性地将供需分析框架引入 Skill 生态研究,用「发布量」衡量供给、用「平均安装量」衡量需求,首次揭示了软件工程类供给过剩、信息检索类需求旺盛但供给稀少的系统性错配。第三,在安全评估上,本文将 LLM-based auditing 从单个 Skill 的漏洞分析扩展到全量自动化扫描,建立了 L0-L3 四级风险分类体系,首次给出了 Agent Skills 风险分布的全局统计:54% L0、5% L1、30% L2、9% L3,这意味着近 40% 的公开 Skill 具备状态变更能力。这种从个案到统计的转变对平台治理和安全标准制定有直接的实践价值。

Agent Skills 的 Token 数量分布
Figure 2: Agent Skills 的 Token 数量分布
各大类 Skill 名称的词云
Figure 5: 各大类 Skill 名称的词云
典型 Agent Skill 的内部结构
Figure 10: 典型 Agent Skill 的内部结构
Agent 执行过程中的动态 Skill 集成
Figure 11: Agent 执行过程中的动态 Skill 集成

实验结果

本文的核心发现可以归纳为四个方面。第一,增长趋势:skills.sh 平台在 2026 年 1 月 16 日至 2 月 5 日的 20 天内从 2,179 个 Skill 增长到 40,285 个,净增 38,106 个,增长倍数为 18.5 倍,日均复合增长率约 15.7%。但增长不是均匀的——1 月 25 日单日新增 8,857 个 Skill,占全部新增的 23.2%;以该日为中心的一周贡献了 19,259 个 Skill,占快照总量的 47.8%。与此同时,开源项目 OpenClaw 在 1 月 26 日单日获得 25,432 个 GitHub Star(前一天的 2.4 倍),总 Star 数超过 17 万,说明 Skill 发布与社区注意力高度同步。第二,长度与冗余:Skill 的 token 长度呈重尾分布,中位数 1,414 tokens,均值 1,895 tokens,标准差 2,025 tokens。90% 的 Skill 不超过 3,935 tokens,99% 不超过 9,253 tokens,说明绝大多数 Skill 可以舒适地放入典型的 prompt 预算中。但极端值可达 116,239 tokens(相当于一个小型代码库)。在冗余方面,精确名称匹配显示 53.7% 的 Skill 名称唯一,46.3% 与其他至少一个 Skill 共享标准化名称。2 重复组贡献 18.7%,5-9 重复组贡献 14.3%,10-49 重复组贡献 8.8%。第三,供需错配:软件工程类占发布量的 54.7%(其中 Infrastructure 子类 9,664 个,占 24%),但需求不如内容创作类旺盛(Audio & Video 平均下载 266,Image Generation 平均下载 214)。Web Search 虽然仅占 1.4% 的发布量,但平均下载量高达 1,268,是所有子类中最高的,说明信息检索连接器虽然有用但开发和维护成本高。第四,安全风险:整体分布为 L0 54%、L1 5%、L2 30%、L3 9%。Content Creation 最安全(75% L0),Productivity Tools 的 L2 占比最高(46%),Software Engineering 的 L3 占比最高(14%)。L3 风险的主要来源包括:API 密钥和数据库密码处理、Shell 命令执行、SSH 密钥生成与部署、支付配置管理、加密货币交易、以及 root/administrator 权限获取。

功能分类体系与类别级统计
Table 1: 功能分类体系与类别级统计
高风险(L3)Agent Skills 示例
Table 2: 高风险(L3)Agent Skills 示例
基于名称的冗余分布
Figure 3: 基于名称的冗余分布
冗余度最高的 30 个 Skill 名称
Figure 4: 冗余度最高的 30 个 Skill 名称
各大类的供需动态
Figure 6: 各大类的供需动态
各子类的供需动态
Figure 7: 各子类的供需动态
风险级别分布(总体及各大类)
Figure 8: 风险级别分布(总体及各大类)
各级风险的词云
Figure 9: 各级风险的词云
基于嵌入的 Skill t-SNE 可视化
Figure 12: 基于嵌入的 Skill t-SNE 可视化
各子类的风险分布
Figure 13: 各子类的风险分布
查看结构化数据
任务指标本文基线提升
Skill 生态规模 总 Skill 数量 40,285 无前序工作 首次量化
增长速率 20 天增长倍数 18.5× 无前序工作 首次量化
意图冗余率 标准化名称重复比例 46.3% 无前序工作 首次量化
安全风险分布 L2+L3 比例 39% 无前序工作 首次量化
软件工程占比 发布量份额 54.7% 无前序工作 首次量化
Web Search 平均下载 平均安装量 1,268 全类平均约 135 约 9.4 倍于均值

局限与改进

作者在论文末尾明确承认了两个主要局限。第一,数据来源单一:所有测量均基于 skills.sh 单一公开市场在 2026 年 2 月初的一次快照。随着平台政策、排名算法和社区组成的变化,供需模式和增长趋势可能发生变化,bursty 增长模式可能不会持续。第二,采纳信号不够精确:安装量(installed_on)是公开可见的代理指标,而非经过验证的实际执行记录。这些信号可能受到界面变化、缓存机制、协调推广等社交动力学的影响,且无法反映企业部署或自定义 Agent 栈中的私有使用。从我的观察来看,还有几个额外局限值得关注:(1)冗余分析中语义匹配被证明不可靠而被降级,这意味着 46.3% 的冗余率实际上是一个下界——真正的意图重复可能更高,但论文没有给出语义匹配的定量结果;(2)安全审计完全依赖 LLM 自动化标注,虽然使用了详细的 rubric,但缺乏人工抽样验证的报告,读者无法评估 LLM 标注的准确率;(3)分类体系的 20 个子类别由研究者手工定义,然后用 LLM 进行标注,但没有报告分类一致性(inter-annotator agreement),读者无法判断分类结果的可靠性。

独立分析的弱点

本文的弱点主要体现在以下几个方面。首先,数据的时间窗口极为狭窄——仅覆盖 20 天(2026 年 1 月 16 日至 2 月 5 日),这使得「增长趋势」的结论具有很强的时效性。20 天内的 bursty 增长很可能只是社区对新平台的新鲜感驱动,而非持续需求的反映。改进方向是进行纵向追踪研究,在更长时间跨度(如 3-6 个月)内多次采集快照,观察增长是否持续、bursty 模式是否反复出现。其次,供需分析中的「需求」仅用平均安装量作为代理指标,这个指标有两个严重缺陷:一是安装≠使用(用户可能装了但从未调用),二是安装量受平台排名算法影响很大(排名靠前的 Skill 会获得更多曝光和安装,形成马太效应)。改进方向是引入更精细的采纳信号,如实际调用次数、用户评分、留存率等。第三,安全审计的 LLM 标注缺乏人工验证。虽然论文给出了详细的 rubric 和 prompt(Appendix E),但没有报告 LLM 标注与人类专家标注的一致率。在安全领域,误报和漏报的代价不对称——将 L3 标为 L0 的漏报比将 L0 标为 L3 的误报更危险。改进方向是对 LLM 标注进行分层抽样人工验证,并报告 precision/recall。第四,冗余分析仅依赖标准化名称的精确匹配,这种方法无法捕获语义相同但名称不同的 Skill(如「code-review」和「review-code」),论文虽然尝试了语义匹配但效果不佳后就放弃了,没有进一步探索改进方案(如用更强的 embedding 模型或 fine-tuned 分类器)。

未来方向

论文在 Section 6 和 Section 7 中提出了多个未来方向。第一,去重与质量信号:鉴于 46.3% 的意图级冗余,未来应将语义去重与质量指标(文档完整性、执行可靠性、维护活跃度、使用量)结合,推动每个意图收敛到少量「canonical skills」,让开发者在高质量基础上扩展能力而非重复包装相同工作流。第二,选择性加载与模块化:由于 token 长度的重尾分布,少数超长 Skill 可能占据大量 prompt 预算。未来系统应支持按需检索——只加载当前子目标所需的步骤、参数和工具 schema,结合摘要化、剪枝和指令压缩来降低开销。第三,需求驱动的 Skill 合成:平台可以利用需求信号指导创作工具和审核重点,支持将现有 Skill 适配到新连接器、新领域和新用户约束的需求驱动合成。第四,安全协议标准化:当前框架缺乏对状态变更操作的细粒度控制,未来应实现标准化的沙箱环境,强制执行最小权限原则,允许 Agent 执行复杂任务的同时保护主机系统。从我的视角看,还可以延伸以下方向:(1)建立 Skill 质量基准(benchmark),用标准化的测试用例评估 Skill 的正确性、鲁棒性和安全性;(2)研究 Skill 组合(composition)的安全性——单个 Skill 是安全的,但组合后可能产生意外的级联效应;(3)探索 Skill 的可移植性——目前的 Skill 生态主要围绕 Claude 框架,能否跨 Agent 平台复用?

复现评估

从复现角度来看,本文的数据采集和分析流程相对透明。数据来源是公开市场 skills.sh,任何人都可以访问并爬取相同的 Skill 元数据(尽管随着时间推移,数据快照会有所不同)。论文详细描述了 tiktoken 的 o200k_base 编码器用于 token 计数、BAAI/bge-m3 用于语义嵌入、Qwen2.5-32B-Instruct 用于分类和安全审计,这些工具和模型都是公开可用的。分类的 prompt 模板在 Appendix D(Figure 14)中完整给出,安全审计的 prompt 在 Appendix E(Figure 15)中完整给出,这大大降低了复现门槛。然而,复现存在以下障碍:(1)skills.sh 的数据在持续变化,论文的 2026 年 2 月 5 日快照无法被精确复现,除非平台提供了历史数据存档;(2)分类和安全审计使用了 Qwen2.5-32B-Instruct,该模型的输出具有非确定性(即使设置 temperature=0),不同版本的模型可能给出不同结果;(3)论文没有开源分析代码(如数据清洗、统计、可视化脚本),复现者需要自行实现。总体而言,复现难度中等偏高——数据获取不难,但精确复现需要等待数据存档或进行近似复现。