跳到主要内容

在使用 AI 工具过程中,什么时候应该使用 Rule 和 Skills?

很多团队一开始用 AI 时,会把所有约束都塞进一段大 prompt。这样短期看似能跑,长期却很难维护。更稳的做法是把“长期稳定的约束”沉淀成 Rule,把“某类任务的执行套路”沉淀成 Skill。 这两者不是替代关系,而是分工关系。

0. 面试速答(30 秒版 TL;DR)

  • Rule 更适合放“始终有效、必须遵守、偏约束型”的内容。
  • Skill 更适合放“某类任务怎么做、按什么步骤做、如何验收”的内容。
  • 一个简单判断方法:
    • 如果它像“红线”或“默认制度”,优先放 Rule
    • 如果它像“操作手册”或“任务模板”,优先放 Skill
  • 实际工程里最稳的组合通常是:Rule 负责兜底,Skill 负责提效。
  • 一句话总结:Rule 管边界,Skill 管流程。

1. 先分清两个概念

1.1 Rule 是什么

Rule 可以理解为:默认生效、尽量稳定、跨任务通用的约束条件。

它回答的是:

  • 什么事情不能做
  • 什么事情必须做
  • 输出至少要满足哪些底线

典型例子:

  • 不允许改工作区外文件
  • 删除命令必须确认
  • 回答 review 时必须给文件路径
  • 修改代码前必须先搜索上下文
  • 涉及高风险操作必须升级审批

你会发现,这类内容和具体任务关系不大,但和整体安全性、稳定性关系很大。

1.2 Skill 是什么

Skill 可以理解为:面向某类任务的标准做法。

它回答的是:

  • 这类任务什么时候用
  • 输入需要准备什么
  • 执行时按什么步骤推进
  • 最后怎样算完成

典型例子:

  • “前端 bug 修复” Skill
  • “新增技术文档” Skill
  • “代码 Review” Skill
  • “排查构建失败” Skill

这类内容强调的是“流程复用”,不是“全局约束”。

2. 什么时候该用 Rule

出现下面几种情况时,更适合沉淀成 Rule。

2.1 这条要求对大多数任务都成立

例如:

  • 先读上下文再改代码
  • 不要宣称已经验证,除非真的跑过
  • 输出必须说明未验证项

这类要求越通用,越不应该藏在某一个 Skill 里,而应该直接升级成全局 Rule。

2.2 这条要求本质上是“底线”

例如:

  • 不允许执行高风险删除命令
  • 不允许擅自联网安装依赖
  • 不允许泄露敏感配置

底线型要求如果只放在某个 Skill 里,会有漏网场景。它应该始终生效。

2.3 这条要求主要在控制风险,而不是指导步骤

Rule 更像护栏,不像导航。

如果你的重点是:

  • 限目录
  • 限权限
  • 限命令
  • 限输出格式

那它通常更像 Rule。

3. 什么时候该用 Skill

出现下面几种情况时,更适合沉淀成 Skill。

3.1 这是一类反复出现的任务

例如团队每周都会反复做:

  • 补一篇技术文档
  • 修一个前端交互 bug
  • 做一次 PR 风险审查

如果每次都从头临时组织 prompt,稳定性和效率都会很差。这时就该把经验抽成 Skill。

3.2 这类任务需要固定步骤

比如“排查 bug”通常应该是:

  1. 先复现
  2. 再定位
  3. 再做最小改动
  4. 再跑验证
  5. 最后输出说明

这类“多步骤、可复用、顺序重要”的工作,非常适合做成 Skill。

3.3 这类任务需要专门上下文

有些任务不是所有场景都需要,但一旦触发就需要固定资料。

例如“新增文档” Skill 可能要求:

  • 先看目录结构
  • 遵守特定写作模板
  • 必要时补 Mermaid 图
  • 跑文档校验

这些都更像任务专属方法论,不适合升格成全局 Rule。

4. 一个实用判断法:看它回答的是“能不能”,还是“怎么做”

如果一条内容主要回答:

  • 能不能做
  • 必须不做什么
  • 最低必须满足什么

它更像 Rule。

如果一条内容主要回答:

  • 这类任务怎么启动
  • 过程怎么走
  • 结果怎么验收

它更像 Skill。

所以可以把它们记成一句话:

  • Rule 决定可行动作边界
  • Skill 决定任务执行路径

5. 前端团队里的典型例子

场景更适合 Rule 的内容更适合 Skill 的内容
修 bug只改允许目录;高风险命令要确认复现、定位、最小修复、验证的流程
写文档必须中文为主;图表要校验新文档的结构模板、图表示例、验收步骤
Code Review结论必须附文件依据Review 时优先看回归、测试缺口、风险项
调试构建问题不要随意升级依赖如何收集日志、定位缓存、缩小范围

你会发现,一个真实任务里,两者往往同时存在。

6. 为什么不要把所有东西都塞进 Skill

这是很多团队的常见误区。

如果你把本该全局生效的约束都塞进 Skill,会出现两个问题:

  1. 没走这个 Skill 时,约束就失效了
  2. Skill 会越来越肿,最后没人维护

反过来,如果你把所有流程都硬塞进 Rule,也会出问题:

  1. Rule 过长,模型难以稳定执行
  2. 不同任务之间互相打架
  3. 团队无法针对具体任务迭代方法

所以真正成熟的做法不是二选一,而是分层。

7. 一套推荐分层

可以用这套方式理解:

  • Rule 层 负责权限、边界、输出底线、验证底线
  • Skill 层 负责任务定义、步骤、输入、工具使用方式、验收模板
  • 临时 Prompt 层 负责这次任务的特殊背景、当前目标和额外说明

这三层叠起来,比一段超长 prompt 更稳定。

8. 典型题 & 标准答法

Q1:Rule 和 Skill 的核心区别是什么?

答:

Rule 更像跨任务通用的约束和底线,强调始终有效;Skill 更像某类任务的操作手册,强调流程复用和稳定执行。

Q2:为什么说 Rule 更适合放底线约束?

答:

因为底线约束不能依赖“这次刚好走了哪个 Skill”。像权限、安全、验证要求这类内容,应该默认始终生效,否则容易出现治理空洞。

Q3:一个团队应该先建设 Rule 还是先建设 Skill?

答:

通常先补最关键的 Rule,先把风险收住;然后再针对高频任务建设 Skill,把效率做起来。也就是先兜底,再提效。

9. 常见误区

  • 把所有经验都塞进 Rule 结果是规则臃肿,执行噪音很大。
  • 把所有约束都塞进 Skill 结果是只在部分场景生效,风险兜不住。
  • 只做文档沉淀,不做版本维护 Rule 和 Skill 都会过时。
  • 没有验收机制 沉淀了规则和流程,不代表团队真的会稳定执行。

10. 速记要点(可背诵)

  • Rule 管边界,Skill 管流程。
  • Rule 适合放:长期稳定、跨任务通用、偏风险控制 的要求。
  • Skill 适合放:高频可复用、步骤明确、可验收 的任务套路。
  • 更成熟的工程实践不是只选一个,而是 Rule 兜底,Skill 提效,临时 Prompt 补充现场信息