Agent Skill 和 Rules 有什么区别?
用过 Cursor 或者 Claude 的人对 Rules 应该不陌生——在设置里写几条规则,AI 就会按你的要求来。
那它和 Agent Skill 有什么不同?我见过不少人把这两个混用,或者干脆不知道该用哪个。
Rules 是什么
Rules 就是约束条件,告诉 Agent "你必须怎样,不能怎样"。
比如:
- 回复必须用中文
- 代码注释不能用英文
- 不要使用 var,统一用 const/let
- 每次修改代码后,提醒我写单元测试
Rules 的特点是全局生效,只要在对话范围内,每一次交互都受它约束。它不是在教 Agent 怎么完成某件事,而是在限定 Agent 的行为边界。
Agent Skill 是什么
Skill 是执行方法,告诉 Agent "这件事应该怎么做"。
同样是 Code Review 场景:
## Code Review 执行指南
1. 优先检查安全漏洞,标记 [HIGH]
2. 检查边界条件和空值处理
3. 评估性能问题
4. 输出格式:问题 + 等级 + 修改建议
Skill 是按需触发的,用户发起相关任务时才加载进上下文,完成后卸载。
核心区别
Rules 管边界,Skill 管方法。
| Rules | Agent Skill | |
|---|---|---|
| 本质 | 约束 / 行为准则 | 执行方法 / 操作流程 |
| 生效范围 | 全局,始终有效 | 按需,任务触发时加载 |
| 解决什么 | Agent 该怎么"做人" | Agent 该怎么"做事" |
| 类比 | 公司规章制度 | 岗位工作手册 |
同一场景,两者分工不同
还是代码助手的例子:
Rules 负责的部分:
- 所有建议必须附带代码示例
- 不要直接帮用户改代码,先说明问题让用户自己改
- 回复保持简洁,不要长篇大论
这些是行为约束,不管 Agent 在做什么任务,都要遵守。
Skill 负责的部分:
做 Code Review 时:先查安全 → 再查逻辑 → 再查性能 → 按模板输出报告
这是执行流程,只在做 Code Review 这件具体任务时才生效。
两者叠加的效果:Agent 做 Code Review,按 Skill 定义的流程走,同时遵守 Rules 里"必须附带代码示例"和"保持简洁"的约束。
什么时候用 Rules,什么时候用 Skill
用 Rules:
- 希望 Agent 在所有场景下保持某种风格或约束
- 涉及输出格式、语言、态度等通用行为
- 内容简短,几条原则就能说清楚
用 Skill:
- 某类任务有明确的执行步骤和质量标准
- 不同任务之间的执行逻辑差异很大
- 执行内容较重,不适合一直挂在上下文里
一个判断方法:如果这件事对所有任务都适用,写进 Rules;如果只在特定任务里才需要,封装成 Skill。
常见的混用错误
把执行流程塞进 Rules:
# 错误示范
Rules:
- 做 Code Review 时,先检查安全漏洞,再检查逻辑问题,
再检查性能,最后输出报告,报告格式为……(一大段)
这段内容只在 Code Review 时有用,却全局常驻在上下文里,纯属浪费 token,应该封装成 Skill。
把约束写进 Skill:
# 错误示范
code-review Skill instruction:
- 回复必须用中文
- 保持简洁
- 不要直接帮用户改代码
这些是通用行为约束,不只 Code Review 需要,应该写进 Rules 全局生效。
总结
- Rules:全局约束,管的是 Agent 的行为边界,始终生效
- Skill:执行方法,管的是具体任务怎么做,按需加载
- 两者不冲突,配合使用——Rules 定底线,Skill 定打法
设计 Agent 系统时,把该全局的放 Rules,把该按需的封 Skill,结构会清晰很多。