134 lines
3.0 KiB
Markdown
Executable File
134 lines
3.0 KiB
Markdown
Executable File
# Rule约束
|
||
|
||
> 相关:[[AI编程演进阶段]]、[[Harness工程]]、[[规格驱动开发]]
|
||
|
||
## 定义
|
||
|
||
**Rule约束**是AI编程的第2阶段,通过规则文件约束AI在不同工作模式下的处理方式。
|
||
|
||
**核心思想**:用明确的规则告诉AI能做什么、不能做什么,而不是依赖AI的"聪明"。
|
||
|
||
## 核心特征
|
||
|
||
### 1. 规则显化
|
||
- 将隐式的经验转化为显式的规则
|
||
- 规则以文件形式存在
|
||
- 规则可版本化、可共享
|
||
|
||
### 2. 工作模式
|
||
- 定义AI在不同模式下的行为
|
||
- 如:Research模式、Plan模式、Code模式
|
||
- 每种模式有不同的约束
|
||
|
||
### 3. 持续对话
|
||
- 需要通过对话输入需求
|
||
- AI根据规则约束生成代码
|
||
- 人工需要持续监督
|
||
|
||
## 典型框架
|
||
|
||
### RIPER-5
|
||
- **R**esearch:研究阶段,分析需求
|
||
- **I**mplement:实现阶段,编写代码
|
||
- **P**lan:规划阶段,制定计划
|
||
- **E**valuate:评估阶段,验证结果
|
||
- **R**eview:审查阶段,Code Review
|
||
|
||
### 规则示例
|
||
```markdown
|
||
# Java代码风格Rules
|
||
|
||
1. 使用Java 17语法,不使用已废弃API
|
||
2. 类名使用大驼峰,方法名使用小驼峰
|
||
3. 常量使用全大写下划线分隔
|
||
4. 单行代码不超过120字符
|
||
5. 禁止使用@Autowired字段注入
|
||
6. 数据库表必须包含created_at和updated_at字段
|
||
```
|
||
|
||
## 规则分类
|
||
|
||
### 1. 代码风格规则
|
||
- 命名规范
|
||
- 格式规范
|
||
- 注释规范
|
||
|
||
### 2. 架构规则
|
||
- 分层架构约束
|
||
- 依赖方向约束
|
||
- 模块划分规则
|
||
|
||
### 3. 安全规则
|
||
- 敏感数据处理
|
||
- 权限控制
|
||
- 加密要求
|
||
|
||
### 4. 性能规则
|
||
- 数据库查询优化
|
||
- 缓存策略
|
||
- 并发控制
|
||
|
||
## 载体
|
||
|
||
### .cursor/rules/
|
||
```
|
||
.cursor/
|
||
└── rules/
|
||
├── java-style.md
|
||
├── api-style.md
|
||
└── security.md
|
||
```
|
||
|
||
### CLAUDE.md
|
||
```markdown
|
||
# 项目规则
|
||
|
||
## 代码规范
|
||
- 使用阿里巴巴Java开发手册
|
||
- 所有方法必须有注释
|
||
|
||
## 数据库规范
|
||
- 表名使用下划线命名
|
||
- 必须包含时间戳字段
|
||
```
|
||
|
||
### AGENTS.md
|
||
```markdown
|
||
# AI行为规则
|
||
|
||
1. 生成代码必须符合代码规范
|
||
2. 敏感数据必须加密存储
|
||
3. API必须使用RESTful风格
|
||
```
|
||
|
||
## 适用场景
|
||
|
||
- **个人项目**:约束AI生成符合个人习惯的代码
|
||
- **小团队**:统一团队代码风格
|
||
- **学习阶段**:通过规则学习最佳实践
|
||
|
||
## 优势
|
||
|
||
- **简单直接**:规则清晰,易于理解
|
||
- **快速上手**:不需要复杂的工具链
|
||
- **灵活调整**:规则可以随时修改
|
||
|
||
## 局限
|
||
|
||
- **需要持续对话**:每次都需要输入需求
|
||
- **无法自动化**:依赖人工监督
|
||
- **规则冲突**:复杂场景规则可能冲突
|
||
|
||
## 最佳实践
|
||
|
||
1. **从核心规则开始**:先定义最重要的规则
|
||
2. **逐步完善**:根据实践逐步添加规则
|
||
3. **定期Review**:定期审查和优化规则
|
||
4. **规则分层**:区分强制规则和推荐规则
|
||
|
||
## 相关概念
|
||
|
||
- [[AI编程演进阶段]]:Rule是第2阶段
|
||
- [[Harness工程]]:Rule是Harness的组成部分
|
||
- [[规格驱动开发]]:Rule的进阶是Spec
|