什么是skills
智能体技能是一种轻量级的开放式格式,旨在通过专业知识和工作流来扩展人工智能智能体的能力。
其核心是一个包含SKILL.md文件的文件夹。此文件至少包含元数据(至少包括name和description)和指导智能体如何执行特定任务的指令。技能还可以捆绑脚本(scripts)、模板(templates)和参考资料(references)。
1 | my-skill/ |
skills是如何工作的?
skills采用渐进式披露来高效管理上下文:
- 发现:启动时,智能体仅加载每个可用技能的
名称和描述,仅需知道何时可能相关。 - 激活:当任务与某个技能的描述匹配时,智能体会将完整的
SKILL.md指令读入上下文。 - 执行:智能体遵循指令,根据需要可选地加载引用的文件或执行捆绑的代码。
这种方法能保持智能体的响应速度,同时让它们能够按需获取更多上下文信息。
SKILL.md 文件
每个技能都始于一个包含YAML前置元数据和Markdown指令的SKILL.md文件:
1 | --- |
SKILL.md文件顶部必须包含以下前置元数据:
● name: 简短的标识符
● description: 何时使用此技能
Markdown正文包含实际操作指令,对结构或内容没有特定限制。
这种简单的格式具有一些关键优势:
● 自说明性:技能作者或用户可以阅读SKILL.md文件来了解其功能,这使得技能易于审计和改进。
● 可扩展性:技能的复杂度范围很广,从简单的文本指令到可执行代码、资源和模板均可。
● 可移植性:技能就是文件,因此易于编辑、版本控制和分享。