内容
活动
关注

Agent Skills 的一次工程实践

简介: **本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。

一、Agent Skills 介绍

1. 简介

Create, manage, and share Skills to extend Claude’s capabilities in Claude Code. This guide shows you how to create, use, and manage Agent Skills in Claude Code. Skills are modular capabilities that extend Claude’s functionality through organized folders containing instructions, scripts, and resources. 

Claude Code 官方文档对 Agent Skills 的描述 :技能 (Skill) 是由指令脚本资源组成的模块化功能包,能够扩展 Claude 智能体的能力。这些技能存放在特定目录下(每个技能一个文件夹),当 Claude 判断某个技能与当前用户请求相关时,便会自动加载相应技能来完成任务。这种触发是模型自主决策的,而非需用户手动指定调用

2. 特性 – 三层渐进式披露

Agent Skills 的核心设计理念是渐进式披露(Progressive Disclosure) 。这意味着技能的信息分为三个层次,Claude 按需逐步加载,既确保必要时不遗漏细节,又避免一次性将过多内容塞入上下文:

  1. 元数据(Metadata)第一层:每个技能的 SKILL.md 文件开头都有 YAML 元信息,包括技能的名称和描述。例如,name: mysql-employees-nl2sql-analysis,description: ...。在智能体启动时,Claude 会预加载所有已安装技能的元数据到系统提示中 。元数据提供了何时使用该技能的线索,让模型对技能用途有初步了解,但不包含具体实现细节。
  2. 技能主体(SKILL.md 内容)第二层:如果 Claude 判断某个技能与当前任务相关,它会进一步读取并加载该技能完整的 SKILL.md 内容作为上下文 。这个 Markdown 文件中包含对任务的详细指令、注意事项、示例等,指导模型如何利用该技能解决问题。
  3. 附加文件和脚本第三层:对于更复杂或特定的场景,技能文件夹中可以包含脚本(如 .py 工具)或额外说明文档(如参考资料 reference.md 等)。SKILL.md 可以通过 Markdown 链接引用这些文件。当且仅当需要时,Claude 才会加载或运行这些附加内容 。例如,在 PDF 处理技能中,SKILL.md 引用了 forms.md 以提供额外的表单填充指南;Claude 只有在填表任务出现时才读取 forms.md 。又如技能中包含 Python 脚本供执行,当需要复杂计算或访问数据库时,Claude 可以选择运行脚本工具,而无需将脚本代码全部读入上下文 。

借助如上所述的三层结构,Agent Skills 可实现动态的上下文管理。无关任务时,Claude 仅加载技能元数据,几乎不占用上下文窗口;一旦识别出相关技能,再逐步加载详细内容和工具 。这种按需加载机制使技能能够包含海量信息却不怕超出上下文窗口限制,大幅减少了重复prompt 。

二、Agent Skills 能实现什么?

Agent Skills 的出现,为复杂任务提供了比传统单轮工具调用更强大的解决方案。下面以自然语言生成 SQL 并分析数据的场景为例,对比传统工作流方案和 Agent Skills 方案的区别。

传统工作流方案(如 Dify、百炼、扣子 等):采用固定的提示链或函数调用流程。例如,用户用自然语言提问 -> LLM 根据 Prompt 生成一条 SQL -> 通过 Model Context Protocol (MCP) 或函数调用执行该 SQL 查询数据库 -> 将查询结果返回给 LLM -> LLM 再输出分析报告。这样的流程通常只适用于一次性、单条 SQL 的情况,流程是预先固化的。如果用户的问题需要多步查询才能回答(涉及多条SQL逐步获取信息),传统方案很难覆盖或需要手动将多个步骤串联,非常不灵活。

image.png

Agent Skills 方案

skill/employees/ ├── SKILL.md └── scripts/  ├── execute_sql.py  └── __pycache__/ 

借助技能机制,Claude 能够在一次对话中自主规划并执行一系列操作,完成更复杂的闭环。例如,本次以 MySQL 官方示例数据库 employees(员工信息库)为测试数据, 定制agent skills,用于将中文业务问题转换为受控的 SQL 查询并输出结构化分析报告。

skill主要包含两部分:一份详细的说明文件 SKILL.md 和一个 SQL 执行脚本 execute_sql.py(数据库连接信息通过环境变量配置)。技能的 YAML 元数据描述了它适用于 employees 数据库的分析任务,Claude 在需要做员工数据分析时会自动触发它。如下是该技能的 SKILL.md 结构示例:

--- name: mysql-employees-nl2sql-analysis description: 基于 MySQL 官方 employees 经典示例数据库,将中文业务问题转换为受控的单条 SQL,执行后输出结构化数据分析报告 ---- # MySQL Employees 数据分析 Skill 本 Skill 专用于 **MySQL 官方 employees 经典示例数据库**,用于员工、部门、薪资、职位等分析场景。 你必须完成一个完整闭环: 1. **理解用户中文问题** 2. **生成一条严格受控的 MySQL SQL** 3. **调用 execute_sql.py 执行该 SQL** 4. **基于返回结果输出分析报告** --- ## 一、数据库背景(必须理解) ## 二、可用数据表(唯一允许) ## 三、你的职责边界(非常重要) ## 四、SQL 生成规则(硬约束) ## 五、execute_sql.py 使用协议(强制) ## 六、最终输出要求(给用户看的) ## 七、推荐 JOIN 模板(参考) ## 八、Examples ## 九、一句话总原则(给模型记住) 

如上所示,我们在技能说明中明确了数据库背景、允许查询的表、模型需遵守的边界和规则(只生成单条且安全的 SQL)、工具使用方法以及输出格式要求等。借助这样详尽的指导,Claude 可以严格按照业务需求来行动。一旦这个技能被触发,Claude 会执行如下闭环流程:

  • Step1 理解用户问题 → Step2 生成符合规则的 SQL → Step3 使用提供的 execute_sql.py 工具运行查询 → Step4 根据查询结果编写分析报告。
  • 动态多步查询示例:假设用户问:“分析下公司里面谁的话语权最高?”。单凭一条 SQL 无法直接回答这个复杂问题,因为需要综合考虑管理职级、薪资水平、技术影响力等多方面因素。传统方案难以完成这样的多角度分析。而启用 Agent Skills 后,Claude 会利用技能中的指导,自主拆解问题*,通过多条查询逐步获取所需信息并最终给出报告。

image.png

在每一步,Claude 调用 execute_sql.py 执行 SQL 并获取结果,然后决定下一步需要哪方面的数据。最终,结合所有查询结果,整理出完整的分析结论。下面是模型根据这些查询结果给出的分析报告示例(节选)

## 公司话语权分析 ### 使用的 SQL: ```sql -- 查看管理层(Manager职位) SELECT CONCAT(e.first_name, ' ', e.last_name) AS name, s.salary AS salary FROM employees e JOIN salaries s ON e.emp_no=s.emp_no AND s.to_date='9999-01-01' JOIN titles t ON e.emp_no=t.emp_no AND t.to_date='9999-01-01' WHERE t.title='Manager' LIMIT 100; -- 查看最高薪资员工 SELECT CONCAT(e.first_name, ' ', e.last_name) AS name, s.salary AS salary FROM employees e JOIN salaries s ON e.emp_no=s.emp_no AND s.to_date='9999-01-01' ORDER BY s.salary DESC LIMIT 10; -- 查看部门管理者及其部门 SELECT CONCAT(e.first_name, ' ', e.last_name) AS name, d.dept_name AS department FROM employees e JOIN dept_manager dm ON e.emp_no=dm.emp_no AND dm.to_date='9999-01-01' JOIN departments d ON dm.dept_no=d.dept_no LIMIT 100; *** ### 分析报告: #### (1)权力结构概览 从数据来看,这家公司的话语权分布呈现出**复合型权力结构**,既有正式的管理层,也有基于专业能力和薪酬水平的非正式影响力。 #### (2)正式管理层分析 **部门管理者(9人):** - **Vishwani Minakawa**(市场部):薪资106,491 - 最高薪管理者 - **Hauke Zhang**(销售部):薪资101,987 - 第二高薪管理者 - **Isamu Legleitner**(财务部):薪资83,457 - 其他部门管理者薪资在56,654-79,393之间 **特点:** - 市场部和销售部的管理者薪资明显高于其他部门,反映了这两个部门在公司中的战略重要性 - 虽然只有9名正式管理者,但他们分别负责9个核心部门,拥有直接的管理权限 #### (3)薪酬话语权分析 **最高薪资群体(前10名):** - 薪资范围:152,687 - 158,220 - **全部都是"Senior Staff"(高级职员)职位** - 这些人的薪资远超正式管理者(最高管理者薪资106,491 vs 最高员工薪资158,220) ***** 

通过 Agent Skills,模型可以通过灵活运用多条SQL逐步推理,最终完成结构化、深入的分析报告输出。此项方案的主要优势在于:技能提供了完备的领域知识和操作规程,模型可以在单轮对话中完成复杂的工作流,而无需人为把任务拆解成多次提问。相较之下,传统方法要实现类似结果非常困难,而 Agent Skills 大大提升了智能体处理复杂任务的自动化程度

三、AgentScope 框架与 Skills 集成

AgentScope 是达摩院开源的智能体框架,对标 LangChain,但更聚焦 Agent 本身的推理、调度与工具调用能力。本文实践中,AgentScope 作为运行框架,用于承载 Anthropic 的 Agent Skills 机制。

最近,AgentScope 也宣布支持了 Anthropic Agent Skills,使得技能的发现、加载与执行可以直接集成到 Agent 运行时中。本次 demo 正是基于该特性,实现了 Skill 的渐进式加载与多步工具调用。
image.png

在整体架构中:

  • AgentScope 负责接入大模型、消息流转、推理循环与工具调度
  • Agent Skills 提供领域约束、操作规范与可复用能力

参考文档

目录
相关文章
|
安全 JavaScript Docker
Agent Skills技术协议与开源实现,让大模型拥有“即插即用”技能
Anthropic推出Agent Skills协议,通过模块化技能封装提升大模型智能体的专业能力。ModelScope开源项目MS-Agent已实现该协议,支持技能的动态加载、自主执行与安全沙箱运行,推动智能体能力的可组合与可扩展发展。
725 29
|
6天前
|
机器学习/深度学习 运维 Cloud Native
别再拍脑袋扩容了:用 ML 做容量预测,才是云成本和性能的最优解
别再拍脑袋扩容了:用 ML 做容量预测,才是云成本和性能的最优解
81 17
|
24天前
|
人工智能 开发框架 缓存
2025 SECon × AgentX 大会:AI 原生应用架构专场精彩回顾 & PPT 下载
近日,2025 SECon × AgentX大会——AI 原生应用架构专场圆满落幕,本次专场阿里云联合信通院共同出品,现场吸引了 80+ 名技术从业者深度参与。活动聚焦 AI 时代软件架构的核心命题,深度分享了 AI 原生应用架构趋势与实践、AgentScope 开发框架、AI 开放平台、大模型可观测 & AIOps 等热门技术议题,探讨从基础设施到应用层的协同演进策略与工程实践。
156 18
|
8天前
|
人工智能 测试技术 API
Minion框架早已实现PTC:超越传统Tool Calling的Agent架构
Minion框架早于Anthropic的PTC特性,率先采用“LLM规划+代码执行”架构,通过Python编排工具调用,显著降低Token消耗、提升性能与可靠性。支持完整生态、状态管理与多模型协作,已在生产环境验证大规模数据处理、多源整合等复杂任务,推动AI Agent迈向高效、可扩展的下一代架构。
|
6天前
|
网络协议 Linux Shell
阿里云安装freeswitch的步骤总结
本文介绍在阿里云上安装freeswitch系统三种安装方式:脚本、镜像及Docker。支持多种Linux系统,推荐最小化安装,提供下载地址、一键安装命令及卸载方法。安装后访问IP即可登录,默认账号密码为admin/admin,初始化需等待5-10分钟。
|
6天前
|
机器学习/深度学习 存储 人工智能
构建AI智能体:六十三、基于信息论的智能医疗诊断系统:算法原理与临床验证
摘要:本文提出了一种基于信息论的智能医疗诊断系统,通过互信息、信息熵和信息增益等核心概念,构建了症状分析、疾病推理和检查推荐的综合诊断平台。系统采用模块化设计,利用概率模型生成模拟医疗数据,量化症状与疾病的关联强度,并通过热力图直观展示诊断依据。该系统能有效提升诊断准确性,优化检查资源配置,推动医疗诊断从经验依赖向数据驱动转变,为解决基层医疗资源不足等问题提供了技术支撑。
81 12
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
构建AI智能体:六十一、信息论完全指南:从基础概念到在大模型中的实际应用
摘要: 信息论是人工智能尤其是大语言模型的核心数学工具。本文系统介绍了八大核心概念: 信息量:衡量事件意外程度,公式为I(x)=-log₂P(x) 信息熵:评估系统不确定性,H(X)=-ΣP(x)log₂P(x) 联合熵/条件熵:分析多变量关系及条件不确定性 互信息:量化变量间共享信息量 KL散度:衡量概率分布差异 交叉熵:模型训练的核心损失函数 在大语言模型中,这些概念被广泛应用于: 训练阶段:交叉熵优化预测,KL散度防止过拟合 推理阶段:温度参数调节生成文本的创造性(高熵增加多样性)
165 2
|
14天前
|
人工智能 自然语言处理 安全
构建AI智能体:四十五、从专用插件到通用协议:MCP如何重新定义AI工具生态
MCP(模型上下文协议)是AI领域的标准化工具调用协议,相当于万能遥控器,让不同AI模型能通过统一接口使用各种外部工具。其核心架构采用客户端-服务器模式:AI客户端负责理解用户意图并整合结果,MCP服务器则专注于工具执行。相比厂商私有的FunctionCall,MCP具有开放标准、跨模型支持、动态发现等优势,能实现真正的"即插即用"。该协议解决了AI模型知识局限、无法执行动作等问题,使AI从"知识库"进化为能操作外部系统的智能助手,可应用于个人
200 7
|
1月前
|
分布式计算 安全 调度
阿里云通用算力型u2i与经济型e实例性能、适用场景区别及选择参考
在阿里云丰富的云服务器实例规格中,通用算力型u2i和经济型e实例是目前相对于其他实例规格来说,活动价格相对更低的两个云服务器实例,由于经济型e实例是共享型实例规格,而通用算力型u2i实例是独享型实例规格,因此,有的用户比较关心阿里云通用算力型u2i云服务器怎么样?本文将从技术规格、性能表现、适用场景及成本效益等多个维度,对这两款实例进行介绍,以供大家了解而在区别及选择参考。
|
16天前
|
运维 监控 前端开发
基于AI大模型的故障诊断与根因分析落地实现
本项目基于Dify平台构建多智能体协作的AIOps故障诊断系统,融合指标、日志、链路等多源数据,通过ReAct模式实现自动化根因分析(RCA),结合MCP工具调用与分层工作流,在钉钉/企业微信中以交互式报告辅助运维,显著降低MTTD/MTTR。
758 28
下一篇