简介:本文系统讲解如何为 AI 编程智能体构建技能包:理清技能与外部工具协议、钩子、插件、项目记忆文件的区别,拆解渐进式披露三层加载模型,手把手演示从定边界、建目录、写描述到写正文、配脚本、验证触发的完整六步法,并覆盖权限控制、子智能体调度等进阶配置与常见问题排查思路,帮助开发者把踩坑经验与团队规范沉淀为可复用的智能体能力。
本教程要帮助你完成三件事:第一,理解 AI 编程智能体中“技能包”的运行机制,搞清楚它与外部工具协议、钩子、插件、项目记忆文件等周边概念的区别;第二,动手从零构建一个结构规范、能够稳定触发的技能包,并掌握高质量描述字段的撰写方法;第三,学会权限控制、子智能体调度、动态上下文注入等进阶配置,以及技能不触发、误触发等常见问题的排查思路。
读完本文,你应该能把团队里反复口述的规范、踩过的坑、标准化的流程,沉淀成智能体可自动加载的能力。裸用智能体就像雇了个聪明但什么都不懂的新人,每次都要从头教;装好技能,相当于雇了一个带着整套标准作业流程上岗的熟手。
开始之前,请确认以下条件已具备:
很多人把技能和外部工具协议、钩子、插件、项目记忆文件搅成一锅粥。先用一句话区分清楚:
选型判断可以简化为:连接外部系统用工具协议,事件自动触发用钩子,整体分发用插件,全局约定进记忆文件,而“一套可复用的做事方法”就应该写成技能。
技能之所以高效,关键在“命中才加载”这五个字。这套机制通常被称为渐进式披露,分为三层,这是全文最重要的心智模型:
第一层,启动时。 智能体只把每个技能的名称、描述(以及适用时机说明)预载进系统提示,不读正文。描述字段通常有长度上限,不同工具一般在数百到一千余字符不等,超长部分会被截断。几十个技能摊开也就几 KB,对上下文几乎不构成压力。
第二层,命中时。 智能体根据当前任务判断该用哪个技能,命中后才去读取技能主文件的正文。这意味着:描述写得烂,技能永远不会被触发——它在第一层就被筛掉了。
第三层,按需读取。 技能主文件里可以引用捆绑的脚本、模板、参考文档,这些文件只有在正文明确要求时才会被读取。
三层结构让“能力很多”和“上下文很省”同时成立。它直接决定了你写技能时的两个核心动作:把描述写成“精准的触发器”,把正文写成“简洁的流程索引加按需展开的细节”。
先回答三个问题:这个技能解决什么重复出现的任务?什么场景下应该触发?产出物是什么?核心原则是单一职责:一个技能只管一类事。例如“接口审查”和“数据库变更评估”应该拆成两个技能,而不是塞进一个“后端开发规范”的大而全文件里。粒度宁小勿大,小技能可以组合使用,巨型技能往往触发不准、正文臃肿。
在技能目录下新建一个与技能同名的文件夹,内部放置技能主文件(带元数据头的 Markdown 文件)。目录结构示意:
my-skill/├── skill.md # 技能主文件:元数据 + 操作手册├── scripts/ # 可选:确定性辅助脚本│ └── lint_check.sh├── templates/ # 可选:产出物模板│ └── review_report.md└── references/ # 可选:详细规范与参考资料└── api_spec.md
目录名建议使用小写字母加连字符,与技能名保持一致,方便人工排查和多技能管理。
元数据一般包含名称和描述,部分工具还支持“适用时机”说明字段。描述字段的写法直接决定触发率,推荐公式:
描述 = 做什么(动词开头)+ 适用场景(什么时候用)+ 关键触发词(用户可能说出的词)
反例:“帮我更好地处理代码。”——没有任务边界,智能体无法判断何时命中。
正例:“审查 REST 接口的设计与实现是否符合团队规范。当用户要求评审接口代码、统一错误码、检查分页与鉴权结构时使用。关键词:接口评审、API 规范、错误码。”
两个注意点:描述字段有长度上限,超长截断,务必把触发词放在前半段;不要堆砌无关关键词骗取触发,否则会导致误触发泛滥。
正文是命中之后才会被读取的部分,要写成智能体可以直接照做的标准作业流程:
---name: api-reviewdescription: 审查 REST 接口的设计与实现是否符合团队规范。当用户要求评审接口代码、统一错误码、检查分页与鉴权结构时使用。---# 接口审查技能## 执行流程1. 定位目标接口文件,列出全部对外路由2. 逐项核对:命名风格、错误码语义、分页参数、鉴权声明、幂等性3. 输出审查报告,按"阻塞 / 建议 / 提示"三级归类## 硬性约束- 只输出报告,不直接修改业务代码- 不确定的规范点明确标注"待人工确认",禁止臆测## 深入资料- 详细规范见 references/api_spec.md- 报告模板见 templates/review_report.md
写作要点:流程用编号步骤,约束单独成节,长内容拆到 references 目录按需读取,不要把所有细节都堆进正文。
确定性的检查逻辑(如命名校验、格式比对)写成脚本放进 scripts 目录,让智能体调用脚本而不是逐条推理,既节省上下文消耗,又保证结果稳定可复现。模板类产出物放 templates 目录,保证团队多人产出的格式一致。
把技能目录放到约定位置:全局技能目录对所有项目生效,项目级技能目录只对当前仓库生效。重启智能体会话或执行刷新后生效。团队场景建议把技能目录纳入代码仓库,通过版本控制统一分发,避免各成员环境不一致。
验证分三步走:
回顾本教程主线:技能是把程序性知识沉淀为智能体能力的标准载体,它与工具协议、钩子、插件、记忆文件各司其职;渐进式披露三层模型决定了“描述写精准、正文写流程、细节做捆绑”的写作方法;按“定边界、建目录、写描述、写正文、配脚本、验证触发”六步即可落地一个技能;再配合权限控制、子智能体调度与动态注入,可以覆盖从个人提效到团队规范的完整场景。
你踩过的坑、团队的规范、反复走的流程,才是真正的护城河。下一步,建议从你本周重复做过三次以上的某件事开始,写出你的第一个技能包,并逐步把个人技能扩展为团队技能库。