什么是 Skill?
在智能编程工具里,Skill(技能) 本质上是对某一类任务的'能力封装'。它不是单次使用的 Prompt,而是经过抽象、可以反复调用的指令单元。
简单来说:
- Prompt 是一次性提问。
- Skill 是可复用的能力模板。
比如生成 Getter 方法、根据接口文档写 Controller、自然语言转 SQL 等,都可以定义为 Skill。
为什么要用 Skill?
开发中常遇到需求描述重复、AI 输出风格不一、Prompt 越来越复杂等问题。Skill 的核心价值在于标准化 + 复用 + 稳定输出。
好处很明显:
- 提效:一次编写,多次调用。
- 减负:不用每次重新组织 Prompt。
- 稳定:有明确规则约束,输出更可控。
- 协作:团队可共享沉淀,统一规范。
基本使用流程
不管在哪个平台,核心步骤通常一致:选择 Skill -> 填写参数 -> 调用 -> 获取结果。 概念上类似这样:
Skill:生成 Java 方法
输入:方法名、参数、返回值、业务描述
输出:标准 Java 方法代码
如何编写一个 Skill?
好的 Skill 是把隐性经验变成显性规则。基本结构包含名称、目标、输入参数、约束规则和输出格式。 这里有个通用模板可以参考:
Skill 名称:XXX
目标:用于完成 XXX 类型任务
输入参数:参数 1、参数 2...
规则:遵循编码规范、不生成无关内容
输出:指定格式结果
特别建议在输出格式里植入自己的代码风格。比如要求每个方法开头加日志,格式为 log.xxx 记录入参,直接写在规则里,AI 就会严格执行。
实战:用 Skill 生成 Java 方法
下面是一个具体的配置示例,目标是生成符合规范的 Java 业务方法。
Skill 配置
- 方法名:methodName
- 返回类型:returnType
- 参数列表:parameters
- 业务描述:description
- 特殊要求:每行加上 log 日志,格式是 log.xxx 打印入参
约束规则
- 遵循 Java 命名规范
- 包含方法注释
- 逻辑清晰、可读性强
输入示例
方法名:calculateTotalPrice
返回类型:BigDecimal
参数:BigDecimal unitPrice, int quantity
业务描述:根据单价和数量计算总价
输出结果
注意看生成的代码,不仅包含了业务逻辑,还自动插入了日志记录:
/**
* 根据单价和数量计算总价
*
* @param unitPrice 商品单价
* @param quantity 商品数量
* @return 总价
*/
public BigDecimal calculateTotalPrice(BigDecimal unitPrice, int quantity) {
// 记录入参日志
log.info("入参是 商品单价:{} 商品数量:{}", unitPrice, quantity);
if (unitPrice == null || quantity <= 0) {
return BigDecimal.ZERO;
}
return unitPrice.multiply(BigDecimal.valueOf(quantity));
}
实际运行时,这种预设的日志能帮我们快速排查问题,比事后补全方便得多。
进阶用法
除了单个方法,Skill 还能组合成工作流:
- 拆分原子 Skill(如 Controller、Service、DTO)
- 固定输出格式(JSON / 代码块)
- 沉淀为团队规范(单元测试 Skill 等)
总结
Skill 不是普通的 Prompt,而是一种工程化使用 AI 的方式。它就像代码里的方法封装或设计模式。当你开始用 Skill 的思维思考,AI 编码将变得更稳定、高效且可控。


