为你的 Agent 集成 Skill 系统
为自己开发的Agent添加Skill支持时,开发的核心步骤:发现、解析、使用、管理
- 发现:你的Skill存储在哪里,本地还是云端,项目级和用户级的优先级是什么,如何确定该文件夹是一个Skill
- 解析:将SKILL.md的元信息解析出来
- 使用:Agent如何使用解析出来的元信息,是系统提示词还是工具描述,后续的渐进式披露策略的执行,是使用读取工具还是使用内部的激活工具
- 管理:如何维持加载进入上下文的Skill的有效性,上下文压缩的时候Skill的内容是否需要保护
🌟 开发的核心原则也是Skill的核心特点:渐进式披露
Excalidraw文件:https://my.feishu.cn/file/V5kabOooOo5hZVxmAjCcFilJn5f?from=from_parent_docx

- 第一层披露:在会话启动的时候,将**元信息(名称+描述)**加载到上下文中
- 第二层披露:在Skill激活的时候,也就是Agent根据用户输入和元信息匹配到相应的Skill,将完整的SKILL.md内容加载到上下文中
- 第三层披露:当SKILL.md的正文内容加载到上下文之后,Agent根据任务的复杂情况来选择加载更详细的指导说明,也就是脚本、参考资料、静态资源这三种可按需加载的资源
一、发现
Agent是需要从相应的文件目录中发现运行环境有哪些Skill,大部分Agent是运行在本地环境的,所以我们重点说一下本地环境的Skill发现
对于Skill的文件目录的范围是分为两种的:用户全局范围和项目局部范围
- 项目局部范围:只对当前项目生效的SKill,例如:前端设计Skill、React最佳实践SKill等
- 用户全局范围:对用户所有的项目生效的Skill,例如:find-skills(发现Skill)、pptx(生成ppt的Skill)
ExcailDraw文件:https://my.feishu.cn/file/JfaxbHpFaogKJsxHCDrc99dAnlp

具体的Skill的目录模块是这样的: