rag系列文章目录
文章目录
前言
之前介绍了ai coding相关的skills和hooks,今天再介绍下rules,它们是三个不同的东西。
Skills是已知的流程,告诉大模型遇到类似的问题,该怎么做。
Hooks 是自动触发,告诉大模型遇到某些情况,需要自动触发一些操作。
而Rules是约束(不能乱来),告诉大模型在生产code的时候,需要遵守的一些规范。
一、Rules简介
在ai coding中,cursor和claude code是支持设置Rules的,它预定义的、针对项目、模块或特定场景的约束和指令。
Rules和Memory(记忆) 不同,在claude code中,memory 是 能够持久保存这些规则、项目上下文以及学习到的有用信息,使得 AI 在不同会话之间 不需要重新输入同样指令。
Rules 本质就是:给 AI 一个"长期有效的项目行为准则"。
它一般包括:
- 团队编码规范
- 架构约束
- 技术栈限制
- 禁止行为清单
- 设计原则
它的作用是:让 AI 不要"自由发挥",而是按你的工程标准执行。
二、Rules分类
下面以claude code为例进行说明。
- 设置系统级别
主要修改/etc/claude-code/CLAUDE.md文件。 - 设置项目级别
在项目目录下,创建规则文件 CLAUDE.md
bash
# Project rules
- 所有 API 端点必须经过验证
- 禁止使用 var,必须用 const/let
- 所有公共函数必须有注释
CLAUDE.md里面规则会在每次 Claude Code 启动时自动载入,并作为高优先级上下文。
- 设置模块化规则
对于大型项目,可以把规则拆分成多个文件,例如:
bash
your-project/
├── .claude/
│ ├── CLAUDE.md
│ └── rules/
│ ├── code-style.md
│ ├── testing.md
│ └── security.md
所有规则文件会自动被 Claude Code 载入,使规则更清晰、模块化。
- 设置用户级别
设置用户Rules,需要修改~/.claude/CLAUDE.md
| 类型 | 路径 | 作用 |
|---|---|---|
| 系统策略 | /etc/claude-code/CLAUDE.md |
IT/组织级规则 |
| 项目规则 | ./CLAUDE.md 或 ./.claude/CLAUDE.md |
团队共享规则 |
| 模块规则 | ./.claude/rules/*.md |
专项规则 |
| 用户规则 | ~/.claude/CLAUDE.md |
个人偏好 |
| 自动记忆 | ~/.claude/projects/<project>/memory/ |
Claude 自动学习的信息 |
三、实践
Rules配置文件夹目录如下:
bash
your-project/
├── CLAUDE.md
├── .claude/
│ ├── rules/
│ │ ├── 01-coding-style.md
│ │ ├── 02-architecture.md
│ │ ├── 03-transaction.md
│ │ ├── 04-sql-performance.md
│ │ ├── 05-logging.md
│ │ └── 06-concurrency.md
│ └── memory.md
├── order-module/
│ └── .claude/
│ └── rules/
│ └── order-rules.md
在工程级实践中,有些tips需要注意:
✅ 规则编号
用 01- 02- 排序,确保加载顺序稳定。
✅ 规则小而专
不要写一个 2000 行 rules 文件。
拆分。
✅ 规则只写"约束"
不要写任务说明。
任务属于 Skill。
✅ 规则可 Code Review
规则文件进 git。
和代码一样审查。
总结
在使用ai大模型生成代码的过程中,如何让大模型不随意生产代码,这就是需要写很多的Rules,给大模型设置一些约束,只有这样才能高效率地生成代码,提高生产力。
特别是比较大的项目,比如100万行代码的工程,设置一些约束,能够避免代码冗余等问题。