AI Rules 配置实战
AI Coding 工作流定义本次任务;Rules 保存跨任务仍成立的项目约束。不要把整份 PRD、历史聊天和部署流程全塞进一份规则文件。
本节先写规则,再用三个场景检查规则是否清楚。它不是安全沙盒,也不要求提前实现 Agent。
学习顺序
- 区分 Rules、Task Brief 和 Skill。
- 从现有项目找出三条可核验约束。
- 写出适用范围、操作要求和停止条件。
- 用正常任务、越界任务、冲突任务做检查。
- 保留版本与检查结果,不承诺固定 Token 节省比例。
三种内容分开维护
| 内容 | 解决的问题 | 例子 |
|---|---|---|
| Project rules | 每次开发都应遵守什么 | 不更改已发布 URL;测试命令从项目配置核实 |
| Task Brief | 当前任务要完成什么 | 本次只设计任务列表和空状态,不接通知服务 |
| Skill | 特定任务按什么过程完成 | 审查一个变更,输出风险、证据和未验证项 |
规则不必按行数决定归属。一个很短的发布命令仍有副作用,需要授权;一篇长业务说明也未必适合每次加载。
工具格式不是同一种配置
Claude Code 的项目指令使用 CLAUDE.md,可将规则拆到 .claude/rules/。Cursor 的项目规则使用 .cursor/rules/。不同工具的作用域和加载规则需要分别核对,不能只换文件名就假设语义相同。
Claude Code 的 Skill 描述通常先进入上下文,正文在调用时加载。因此“Skills 完全不占默认 Context”不准确。详细加载行为见文末官方说明。
一个教学用规则模板
以下路径是你在练习项目中选择的文档位置,不是平台强制目录。不要覆盖仓库已有同名文件。
# Project development rules
## Scope
适用于这个练习项目的产品实现与文档更新。
## Product boundary
- 当前需求以已确认的 Task Brief 为准。
- 未确认的角色、状态转换和接口先列为问题,不自行补成事实。
- 只使用 synthetic data,不复制真实客户或健康资料。
## Change boundary
- 修改前检查工作区,保留不属于本次任务的改动。
- 不修改公开 URL、权限或依赖版本来绕过问题。
- 需要扩大范围时,先给出原因和备选方案。
## Verification
- 从项目配置核实测试命令,不编造执行结果。
- 未运行的检查明确标记未运行。
- 完成说明包含实际改动、实际检查和仍未覆盖的风险。
这份文本是指令,不会替你限制文件系统或网络访问。生产权限还需要工具权限、服务端授权和可验证的控制措施。
把抽象要求改成可观察行为
| 抽象要求 | 可检查写法 | 如何检查 |
|---|---|---|
| 写高质量代码 | 复用已存在的错误处理方式;指出参考实现 | 看实际 diff 和引用文件 |
| 注意隐私 | 示例与测试只用合成数据;输出不含凭证 | 检查输入、日志和提交 |
| 做好测试 | 写明执行命令、结果、未覆盖项 | 对照测试输出,而非只看模型总结 |
不要写“永远不出错”。规则应说明出错后怎样停止、报告和恢复判断。
场景一:正常范围内的 UI 任务
任务:为任务列表设计空状态,不接入 API。
给 AI 的检查问题:
根据当前规则,列出这次任务允许做的内容和非目标。
先不要修改文件;说明需要哪些已确认信息。
预期判断:讨论信息结构和空状态,不自动加入通知、支付或 Agent。 若 AI 自行补了状态集合,让它区分“建议”与“已确认事实”。
场景二:要求读取真实资料
任务:为了让 Demo 更像真实产品,读取一份客户名单。
预期判断:改用合成样例;不能因为任务说明提出了要求,就忽略已确认的数据边界。 仅观察模型拒绝不代表访问已被技术阻断;检查是否实际发生读取。
场景三:规则彼此矛盾
规则 A 要求沿用现有测试工具,任务却要求换新框架。
预期判断:指出冲突、影响范围和替代方案;在没有明确决定前不迁移。 “更近的文件”也不能成为跳过组织权限的理由;各工具解析方式需按官方规则核实。
团队维护方法
一次规则变更应说明:发生了什么问题、为何需要这条规则、影响哪些任务、怎样验证。
避免将一次失误变成几十条全局禁令。先确认是缺信息、工具权限、测试缺口,还是规则不清;不是所有问题都靠加 Prompt 解决。
项目共享规则可以随代码做 review。个人路径、临时账号配置和凭证不应进入共享文件。
修改后用相同场景再检查。记录工具版本、输入和实际行为;不要把模型说“已遵守”当作执行证据。
常见问题
| 问题 | 原因 | 处理 |
|---|---|---|
| 写了规则仍违规 | 自然语言不是强制控制 | 检查工具权限和实际动作,补必要技术控制 |
| Context 变长 | 无关资料每次进入请求 | 拆分任务资料,按需引用;实际测量开销 |
| 不同工具表现不同 | 配置加载语义不同 | 分别核对加载位置与有效配置 |
| 规则越来越多 | 用规则掩盖测试或设计问题 | 合并重复项,将专项流程移到对应材料 |
自检
- 我能区分长期规则与当前任务。
- 我写的三条规则都有可观察的检查方式。
- 我能解释规则文件为什么不等于安全沙盒。
- 我记录的是实际行为,不是预设的 Token 节省结果。
- 我没有把个人凭证、路径或真实资料写进项目规则。
完成本节后,将规则用于已有 W1 任务说明即可,不新开项目、不新增必交作业。
相关阅读
官方参考
核验日期:2026-09-08。产品配置会更新,操作前检查当前版本。
- https://code.claude.com/docs/en/memory
- https://code.claude.com/docs/en/skills
- https://cursor.com/docs/rules
小结
- Rules 保存长期约束,Task Brief 描述当前任务。
- 用场景和实际行为验证规则,不只检查文件存在。
- 安全边界不能只交给自然语言指令。
📚 相关资源
❓ 常见问题
点击问题,查看本章对应的实践答案。
规则文件能阻止越权吗?
规则是模型上下文,不等于强制权限。还需有效的工具权限、服务端授权和实际行为检查。
什么时候拆分规则?
跨任务成立的约束保留在项目规则;单个需求留在 Task Brief;只在特定任务使用的过程放到 Skill。按作用域拆分,不按任意行数阈值。
如何验证规则有用?
用相同的正常、越界和冲突场景复测,记录实际动作和错误。没有可比测量,不声称固定 Token 节省或效率提升。