# 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