Skill 用于为 Agent 定义可复用的技能,涵盖脚本执行、数据处理、外部 API 调用等能力。支持通过 Markdown 在线定义或上传技能包两种方式创建,创建完成后 Agent 即可在运行时按需调用。
创建方式概览
|
创建方式 |
说明 |
适用场景 |
|
在线编写 Markdown 内容定义技能 |
快速创建轻量级技能,支持 AI 辅助生成 |
|
|
上传本地文件或通过 URL 导入技能包 |
已有成熟的技能包,需要导入使用 |
方式一:通过 Markdown 定义
通过编写 Markdown 文本定义 Skill 的描述、功能列表和使用方法。平台支持填入案例模板和 AI 生成功能,降低编写门槛。
操作步骤
-
登录 AgentRun 控制台。
说明登录前需确保已开通函数计算服务并拥有 AgentRun 的访问权限。如未开通,请前往函数计算产品页完成开通。
-
在左侧导航栏,选择工具与Skills。
-
单击创建工具。
说明列表页按钮为创建工具,进入创建页后标题显示为“创建工具或技能”。
-
在创建类型区域,选择Skills。
说明创建类型区域提供以下四种选项:
-
Skills:创建或导入技能包,支持 Markdown、代码包等多种格式。
-
MCP:MCP(Model Context Protocol)工具,支持远程连接和本地部署。
-
Function Call:创建 Function Call 工具,支持 OpenAPI、RESTful API 等。
-
工具市场:从市场选用已有工具。
-
-
在创建方式中,选择通过 Markdown 定义。
-
配置以下信息。
参数
必填
说明
Skill 名称
是
Skill 的标识名称。
描述
否
简要说明 Skill 的功能用途,最多 256 个字符。
Markdown内容
是
使用 Markdown 语法定义 Skill 的行为逻辑。详细编写指导请参见下方编写 Markdown 内容。
访问凭证
否
配置 Skill 运行时的身份认证方式。支持以下两种模式:
-
使用已有凭证(默认):复用当前账号已配置的访问凭证,保障数据安全。
-
匿名访问:不携带认证信息。适用于访问公开资源的场景。
警告匿名访问无法保障数据安全。选择匿名访问前,请确认目标服务支持无认证调用。
Markdown 内容的编写指导请参见下方编写 Markdown 内容。
使用 AI 生成
如果不确定如何编写 Markdown 内容,可以使用AI 生成功能:
-
在Markdown内容区域右上角,单击AI 生成。
-
输入对 Skill 功能的自然语言描述。
-
AI 将自动生成符合规范的 Markdown 定义。
-
生成后可在编辑器中修改和完善。
说明AI 生成的内容可作为初始模板,建议根据实际需求调整后再提交。
内容安全扫描
编写完成后,在 Markdown 编辑器下方单击扫描 Markdown 内容,对 Markdown 内容进行安全扫描,检测是否包含潜在的恶意代码或脚本。
-
-
(可选)配置工作空间。
在工作空间区域,选择 Skill 所属的工作空间。
-
单击立即创建。
编写 Markdown 内容
在Markdown内容编辑器中,使用 Markdown 语法描述 Skill 的能力。建议包含以下内容:
-
标题:Skill 名称。
-
描述:Skill 的功能说明。
-
技能列表:Skill 包含的具体技能及其作用。
-
使用方法:Skill 的调用方式和示例代码。
单击编辑器工具栏中的填入案例可自动填充一个示例模板,快速了解 Markdown 定义的格式和结构。
以下为通过填入案例生成的 Markdown 内容格式示例(非可执行代码,展示 Skill 定义的推荐结构和内容):
---
name: weekly-report-generator
description: 用于生成结构化周报的智能助手。当用户提到"周报"、"本周总结"、"工作进展"、"团队汇报"等关键词时,即使未明确请求,也应主动调用此技能,帮助其快速产出符合标准格式、重点突出的周报内容。
---
# 周报生成器(Weekly Report Generator)
本技能旨在帮助用户高效撰写专业、清晰的周报,自动提取关键信息并按标准结构组织内容,确保汇报逻辑完整、重点突出。
## 何时使用此技能
- 当用户提到"周报"、"本周总结"、"工作进展"、"团队汇报"、"进度更新"、"weekly update"等关键词时
- 当用户需要向领导或跨部门同步工作成果与计划时
- 当用户希望节省撰写时间,但又不降低报告质量时
避免在以下情况下使用:
- 用户仅要求简单日记式记录或非正式沟通
- 无需正式汇报的内部闲聊场景
## 核心工作流程
1. **识别汇报类型**:判断是个人周报、团队周报还是项目周报,不同类型侧重略有差异
2. **提取关键信息**:通过提问或分析上下文,收集以下要素:
- 本周完成事项(已完成任务、达成目标)
- 进行中的工作(当前进度、卡点问题)
- 下周计划(待办事项、优先级排序)
- 需要支持的资源或协调事项
3. **应用标准模板**:根据预设结构自动生成内容,确保语言简洁、条理清晰
4. **优化表达**:使用积极正向的语言描述成果,对困难项说明原因与应对策略,提升可读性与专业度
## 输出规范
### 本周工作总结
- [完成事项 1](简要说明成果)
- [完成事项 2](量化结果更佳,如"完成3个模块开发")
### 当前进行中
- [任务名称]:当前进度为70%,预计下周三交付
- [任务名称]:遇到[具体问题],已尝试[解决方案],需[资源/协助]
### 下周工作计划
- [优先级高] 任务一:目标 + 截止时间
- [优先级中] 任务二:目标 + 截止时间
- [优先级低] 任务三:计划启动
### 其他说明
- [协作需求、风险提示、建议反馈等]
## 注意事项
- 每条事项尽量控制在1~2行,避免冗长描述
- 成果类表述强调价值而非过程,例如:"优化接口响应速度至200ms"优于"修改了代码逻辑"
- 若用户未提供具体细节,主动追问:"您本周最想突出哪几项成果?"或"是否有需要跨部门协调的事项?"
方式二:上传技能包
已有现成的技能包文件时,可以通过上传文件或指定 URL 的方式导入 Skill。
操作步骤
-
登录 AgentRun 控制台。
说明登录前需确保已开通函数计算服务并拥有 AgentRun 的访问权限。
-
在左侧导航栏,选择工具与Skills。
-
单击创建工具。
-
在创建类型区域,选择Skills。
-
在创建方式中,选择上传技能包。
-
配置以下信息。
参数
必填
说明
Skill 名称
是
Skill 的标识名称。
描述
否
简要说明 Skill 的功能用途,最多 256 个字符。
访问凭证
否
配置 Skill 运行时的身份认证方式。支持以下两种模式:
-
使用已有凭证(默认):复用当前账号已配置的访问凭证,保障数据安全。
-
匿名访问:不携带认证信息。适用于访问公开资源的场景。
警告匿名访问无法保障数据安全。选择匿名访问前,请确认目标服务支持无认证调用。
-
-
在上传技能包区域,选择导入方式。
-
上传文件
-
选择上传文件。
-
将技能包文件拖拽到上传区域,或单击上传区域选择文件。
支持的文件格式和限制:
项目
说明
文件格式
ZIP
文件大小
最大 50 MB
重要请确保在压缩包的根目录中包含合法的
SKILL.md文件。(可选)勾选启用安全扫描,对上传的技能包进行安全检查。
-
-
通过 URL 获取
-
选择通过 URL 获取。
-
输入技能包的 URL 地址。
-
平台将从指定 URL 下载并导入技能包。
-
-
-
(可选)配置工作空间。
-
单击立即创建。
Skill 的加载与消费
Skill 创建完成后,需要被 Agent 加载才能在运行时使用。AgentRun 支持以下加载方式。
主动加载
创建 Agent 时,在工具与上下文的Skills标签页中添加 Skill,该 Skill 将被主动加载到 Agent 的执行环境中。
加载内容包含 Skill 的脚本文件、description 描述及 npm 依赖(如涉及),执行前系统会自动安装相关依赖。Skill 以 ZIP 包形式分发,首次加载时因冷启动和代码包大小可能有短暂延迟,后续实例复用将显著改善加载速度。
可以在创建 Agent 时开启允许 Skill 执行脚本选项,授权 Skill 在实例的操作系统层面执行代码逻辑。启用后,Skill 中包含的脚本将直接运行,请确保所添加的 Skill 来源安全。
主动发现
AgentRun 内置 find_agent_on_skills 能力,Agent 可在运行时根据用户指令主动搜索和发现当前账号下可用的 Skill。该能力为默认内置,无需手动添加。
此能力仅在用户明确发出查询指令(如“查询我有哪些 Skill”)时触发,不会自动搜索。支持根据任务需求动态安装特定 Skill。
权限控制
Skill 的可见性由 Agent Runtime 中配置的 Role 权限决定,基于资源级鉴权体系实现,无需额外对话层限制。
-
若 Role 仅授权访问某工作空间资源,则
find_agent_on_skills仅返回该工作空间下的 Skill。 -
对有强隔离要求的场景,建议采用主动加载模式(即预选置入),避免依赖运行时发现。
在 Sandbox 中执行 Skill
Skill 可以在 Sandbox 沙箱环境中通过 MCP 协议加载和执行。Sandbox 功能已上线生产环境,目前处于灰度阶段。
集成流程为:先部署 MCP Server,再启动 Sandbox 代理函数。Agent 通过 MCP Client 连接到 Sandbox 中的 MCP Server,MCP Server 调用 Skill Loader 加载并运行 Skill。
调用链路为:Agent → MCP Client → MCP Server(Sandbox)→ Skill Loader → CLI Engine → 外部 API
详情请参见为沙箱动态挂载自定义 Skills 。
常见问题
Markdown 定义和上传技能包有什么区别?
|
对比项 |
Markdown 定义 |
上传技能包 |
|
适用场景 |
快速创建轻量级技能 |
导入已有的成熟技能包,或者技能由多个文件或文件夹组成 |
|
编辑方式 |
在线编辑,支持 AI 辅助 |
上传文件或 URL 导入 |
|
灵活性 |
创建后可在线修改 |
可通过 WebIDE 打开编辑并保存更新 |
AI 生成的 Skill 定义可以直接使用吗?
AI 生成的 Markdown 内容可以作为起点,但建议根据实际业务需求调整和完善,以确保 Skill 的行为符合预期。
企业用户上传 Skill 需要什么权限?
上传 Skill 通过 RAM(Resource Access Management)权限控制。具备调用 CreateTool 接口权限的用户(通过 AccessKey 认证)即可上传 Skill。Skill 是 Tool 的一种类型(type),通过CreateTool 接口统一创建。
当前无额外审核流程,上传即生效,其他具备相应权限的用户可见且可消费。安全性依赖前端的安全扫描功能,建议在上传时勾选启用安全扫描。
上传技能包时提示文件格式不支持怎么办?
现象:上传技能包时,系统提示"文件格式不支持"或上传失败。
可能原因:上传的文件不是 ZIP 格式,或文件扩展名与实际格式不匹配。
解决方案:确认技能包文件为 ZIP 格式。如果文件格式正确但仍无法上传,检查文件是否损坏,尝试重新压缩后上传。
技能包超过大小限制如何处理?
现象:上传技能包时,系统提示文件超过大小限制(50 MB)。
可能原因:技能包中包含了不必要的依赖文件、日志文件或大体积资源。
解决方案:检查技能包内容,移除不必要的文件(如 node_modules、日志文件、测试数据等),仅保留核心脚本和配置文件后重新打包。如果精简后仍超过限制,考虑将 Skill 拆分为多个独立的小技能包。
Skill 首次加载耗时较长是否正常?
现象:Agent 首次调用 Skill 时响应较慢,等待时间明显长于后续调用。
可能原因:Skill 首次加载需要完成冷启动流程,包括下载代码包、安装 npm 依赖等,耗时取决于代码包大小和依赖数量。
解决方案:首次加载的延迟属于预期行为,通常在数秒到十数秒之间。后续调用将复用已启动的实例,响应速度显著提升。如果持续超时,检查 Skill 的代码包大小和依赖项是否合理。