---
doc_id: PRD-003
title: "REQUIREMENTS_RULES"
owner: 文档治理团队
approver: 业务与技术负责人
status: active
version: 1.0.0
classification: internal
last_reviewed: 2026-08-25
next_review: 2027-02-21
---

# 文件一：01_REQUIREMENTS_RULES.md
# 项目需求与产品规则
版本：1.0
状态：长期有效
作用：控制 AI “做什么”，防止需求漂移、擅自加功能、漏功能、越改越偏。
## 1. 核心原则
项目开发必须遵循：
- 需求 → 设计 → 技术实现 → 测试 → 上线
- 禁止直接从一句自然语言需求跳到大规模写代码。
- AI必须先确认现有项目状态和已有功能，再决定如何实现新需求。
# 2. 用户需求优先级
需求分为：
## P0：不可违背
包括：
- 用户明确要求
- 安全规则
- 数据完整性
- 权限规则
- 核心业务规则
- 已确认设计规范
不得擅自改变。
## P1：正式需求
当前版本确定要实现的功能。
- 必须完整实现并验证。
## P2：优化需求
可以改善：
- 使用体验
- 性能
- UI
- 代码结构
不得因为实现P2而破坏P0/P1。
## P3：未来需求
记录，但当前不得擅自实现。
- 防止：
- “AI觉得挺好，所以顺手加了。”
# 3. AI禁止擅自改变产品需求
未经明确授权，不得：
- 新增业务功能
- 删除功能
- 合并功能
- 改变用户流程
- 改变登录方式
- 改变权限规则
- 修改核心交互
- 更换技术路线
- 更换页面风格
- 更换数据库
- 增加第三方依赖
- 引入收费API
- 改变数据结构
AI可以提出建议，但：
- 建议 ≠ 授权实施。
# 4. 每次开发前必须确认四件事
开始任何功能前，先确定：
### ① 为什么做
功能目的是什么。
### ② 谁来用
用户角色是什么。
### ③ 用户怎么用
完整用户路径是什么。
### ④ 成功标准是什么
什么状态才算实现完成。
# 5. 每项功能必须建立功能定义
格式：
## FEATURE-ID
名称：
- 目的：
- 使用用户：
- 入口：
- 输入：
- 处理：
- 输出：
- 成功状态：
- 失败状态：
- 权限：
- 依赖：
- 异常情况：
- 验收标准：
例如：
## FEATURE-LOGIN-001
名称：
- 用户登录
- 目的：
- 允许注册用户进入个人账户。
- 入口：
- /login
- 输入：
- 账号、密码。
- 成功：
- 进入用户中心。
- 失败：
- 明确提示账号或密码错误。
- 权限：
- 游客可访问。
- 验收：
- 正确账号能登录。
- 错误密码不能登录。
- 退出后受保护页面不可访问。
# 6. UI展示不代表功能完成
出现按钮：
- 不代表功能存在。
- 出现页面：
- 不代表功能完成。
- 出现假数据：
- 不代表后端完成。
- 出现接口：
- 不代表接口可用。
- 因此必须区分：
- 【UI完成】
- 【前端逻辑完成】
- 【后端完成】
- 【接口联通】
- 【真实测试通过】
# 7. 禁止假功能
正式项目不得存在：
- 点击按钮无反应。
- 假登录。
- 假管理员。
- 假上传。
- 假保存。
- 假搜索。
- 假统计。
- 假接口。
- Mock数据冒充真实数据。
如果使用Mock：
- 必须明确标记：
`
MOCK ONLY
`
禁止生产环境继续使用。
# 8. 不得隐藏失败
如果某功能无法完成：
- 明确标记：
- 【未完成】
- 而不是用静态页面模拟完成。
# 9. 所有功能必须考虑状态
至少包括：
- 默认状态。
- 加载状态。
- 成功状态。
- 失败状态。
- 空数据状态。
- 无权限状态。
- 断网状态。
- 超时状态。
# 10. 所有用户输入必须考虑边界
包括：
- 空。
- 过短。
- 过长。
- 特殊字符。
- 中文。
- 英文。
- Emoji。
- 重复提交。
- 非法格式。
- 异常输入。
# 11. 需求改变必须记录
任何正式需求改变，应记录：
- 原需求：
- 新需求：
- 改变原因：
- 影响范围：
- 涉及文件：
- 是否影响数据：
- 是否需要迁移：
- 是否需要重新测试：
# 12. 禁止需求漂移
如果执行过程中发现：
- 实现方式越来越偏离原需求，
- 必须停止扩散。
- 先回到需求定义。
# 13. 不确定时怎么办
禁止 AI 自己脑补重要业务规则。
- 可以：
- 选择最保守、不破坏现有功能的实现。
- 并标记：
- 【需要产品确认】
# 14. 完成功能的定义
一个功能只有同时满足：
- 需求实现
前端完成
后端完成
接口正常
异常处理
权限检查
测试通过
- 才叫：
- 【完成】
# 15. 每次需求任务完成后输出
修改功能：
- 涉及文件：
- 新增内容：
- 删除内容：
- 未完成事项：
- 潜在风险：
- 测试结果：
- 是否影响其他模块：

---


# 六大规则共同执行协议
以下内容同时适用于全部六份文件。
## A. AI每次任务开始前
先阅读：
- 与当前任务有关的规则文件。
- 如果任务涉及多个领域：
- 全部读取。
例如：
- 修改登录：
- 必须读取：
- 01_REQUIREMENTS_RULES.md
- 03_ENGINEERING_RULES.md
- 04_SECURITY_RULES.md
- 05_TESTING_RULES.md
修改视觉：
- 读取：
- 01_REQUIREMENTS_RULES.md
- 02_DESIGN_SYSTEM_RULES.md
- 05_TESTING_RULES.md
准备上线：
- 六份全部读取。
# B. 规则冲突优先级
如发生冲突：
- 安全与数据完整性
明确用户需求
产品规则
架构规则
设计规则
优化建议
# C. AI不能自行修改规则
除非用户明确要求：
- “修改规则文件”。
- 否则：
- 这些文件只读。
# D. 现有项目与规则冲突怎么办
不得为了符合规则立即大规模重写。
- 先输出：
- 规则：
- 当前实现：
- 差异：
- 严重程度：
- 建议迁移方式：
再决定是否修复。
# E. 每次修改之前
先回答自己：
- 我正在解决什么问题？
- 哪些文件必须修改？
- 哪些文件不应该碰？
- 是否涉及数据？
- 是否涉及权限？
- 是否影响API？
- 是否影响UI？
- 如何验证？
# F. 每次修改之后
必须检查：
- 代码是否能运行。
- 是否引入新错误。
- 相关功能是否正常。
- 是否影响其他模块。
- 是否需要更新文档。
# G. 禁止假完成
以下情况不得说：
- “全部完成”。
- 仍有未测试。
- 仍有报错。
- Build失败。
- 接口未验证。
- 缺少环境。
- 第三方服务没测试。
应明确：
- 已完成：
- 未完成：
- 无法验证：
- 风险：
# H. 修改范围原则
永远优先：
- 小范围。
- 可验证。
- 可回滚。
- 低耦合。
而不是：
- 一次改几十个无关文件。
# I. 项目长期目标
本项目必须尽量保持：
- 可理解。
- 可修改。
- 可维护。
- 可测试。
- 可部署。
- 可恢复。
- 可扩展。
- 安全。
最终目标不是：
- “AI这次把它跑起来了。”
- 而是：
- “即使换一个AI、换一台电脑、换一个开发者，这个项目依然能够继续维护。”
# AI任务统一结束报告模板
每一次AI开发任务结束，都使用：
## 本次任务
## 修改文件
## 新增文件
## 删除文件
## 修改功能
## 配置变化
## 依赖变化
## 数据库变化
## 安全影响
## 实际测试
## Build状态
## 未验证内容
## 已知问题
## 后续建议
最后只能使用：
- ✅ 完成并验证
- ⚠️ 完成但仍有未验证项目
- ❌ 未完成
- 三种结论之一。