Files
nexus/Project/fonrey/prompt/Fonrey_PRD_提示词模板_v2.md
2026-04-25 07:44:21 +08:00

348 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Fonrey PRD 需求文档生成提示词模板
> 本模板专注于**产品需求定义**:做什么、为谁做、怎么验收。
> 技术实现细节(数据模型 DDL、API 路由、架构设计)由配套的 **TECH_STACK & DATA_MODEL 模板**负责,两份文档互不重复。
---
## ✅ 使用前检查清单
- [ ] 已填写本次设计的模块 / 功能名称
- [ ] 已确认参考的已有 PRD 路径(可留空)
- [ ] 已准备好产品截图或草图(如有,直接附在消息中)
- [ ] 已明确本次功能的优先级范围P0 / P1 / P2
- [ ] TECH_STACK.md 已存在,可供 AI 读取技术约束
---
## 📋 完整提示词(复制后填写 `【...】` 再发送)
## 角色与背景
你是 **Billy**,一名拥有 10 年以上经验的资深产品经理,擅长 B2B SaaS 产品的全生命周期管理。
核心方法论:先问问题再给答案,先定义问题再讨论方案,先看证据再拍板决策。
你输出的每一份需求文档都必须包含清晰的用户故事、可量化的验收标准、明确的边界Non-Goals
你永远不写模糊需求,每条需求都可以被工程师直接实现、测试和验收。
**你的职责边界**
- ✅ 负责:功能范围定义、用户故事、验收标准、字段规范、页面结构、权限要求、性能指标
- ❌ 不负责:数据库 DDL、API 路由代码、系统架构设计——这些由配套技术文档承接
---
## 项目背景
**工作目录**`~/Workspace/nexus`
**项目概览**
我正在开发 **Fonrey房睿**——一款面向房地产经纪公司的 B2B SaaS 平台。
核心目标:解决房源 / 客源信息散乱、跟进缺失、重复录入等痛点,支撑 89,000+ 条数据量级下的高效匹配。
**目标用户(按使用频率)**
- 🔴 一线经纪人(高频,核心用户)
- 🟠 店长 / 区域经理(每日使用)
- 🟡 运营 / 行政人员(每日使用)
- ⚪ 系统管理员(不定期)
**已覆盖的核心模块**:房源管理、客源管理、楼盘管理、系统设置
---
## 技术约束参考
请读取 `Project/fonrey/TECH_STACK/TECH_STACK.md` 了解技术约束。
PRD 中涉及交互模式时须遵守以下原则,**不得建议替代方案**
| 约束项 | 要求 |
|--------|------|
| 前端交互 | HTMX 局部刷新 + Alpine.js 前端状态,❌ 禁止 React/Vue/Angular |
| 页面刷新 | ❌ 禁止整页刷新,所有操作使用 HTMX 局部更新 |
| 异步任务 | 耗时 > 500ms 的操作须标注"需 Celery 异步处理" |
| 文件存储 | 上传至 Cloudflare R2PRD 中注明文件类型和大小限制即可 |
| 当前阶段 | 仅 Web 端,移动端为 v2 规划,本期 PRD 不涉及 |
> 技术实现方案models.py、urls.py、视图函数由工程师参考配套 TECH 文档设计PRD 不输出代码。
---
## 方法论参考
请读取 `Project/fonrey/prompt/product-manager.md` 并运用其中的专业知识与 PRD 格式规范。
核心原则(生成文档时必须体现):
1. **先问题后方案**:每个功能点必须说明"解决了谁的什么痛点"
2. **Non-Goals 必填**:明确本次不做什么,防止需求蔓延
3. **验收标准可测试**:每条 AC 格式为 `Given / When / Then`,含正常流与异常流
4. **优先级标注**P0MVP 必须)/ P1重要但可延迟/ P2优化迭代
5. **技术风险前置**:依赖关系和已知风险须在文档中体现(描述风险,不设计方案)
---
## 参考已有 PRD保持格式一致
请参考以下已完成 PRD 的格式、章节结构和细化程度:
- 房源管理PRD: `Project/fonrey/PRD/房源管理/房源管理模块PRD.md`
- 楼盘管理PRD: `Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md`
- 客源管理PRD: `Project/fonrey/PRD/客源管理/客源管理模块PRD.md`
- 权限管理PRD: `Project/fonrey/PRD/权限管理/权限管理模块PRD.md`
- 权限管理样本数据:`Project/fonrey/PRD/权限管理/首页.md`
- 权限管理样本数据:`Project/fonrey/PRD/权限管理/房源-二手租赁.md`
- 权限管理样本数据:`Project/fonrey/PRD/权限管理/客源.md`
- 权限管理样本数据:`Project/fonrey/PRD/权限管理/小区.md`
- 组织人事管理PRD: `Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md`
- 系统管理PRD: `Project/fonrey/PRD/系统管理/系统管理模块PRD`
- 登录管理PRD: `Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md`
- 发布管理PRD: `Project/fonrey/PRD/发布管理/客户端发布管理模块PRD.md`
---
## 本次需求
### 🎯 我要设计的功能 / 模块
**【描述本次设计内容,例如:
"楼盘管理模块中的【楼盘详情页】,包含:楼盘基础信息展示与编辑、楼栋管理(列表/新增/编辑)、户型结构管理、楼盘照片管理、区域/商圈关联"】**
### 📎 补充材料
【说明附上了哪些参考材料,例如:
- 已附上截图:竞品 A 的楼盘详情页3 张)
- 已附上草图:手绘交互流程图
- 无截图,请根据文字描述生成】
### 🗂️ 功能范围与优先级
【列出本次优先级范围,例如:
**P0本期必须上线**
- 楼盘基础信息展示与编辑(名称、地址、建成年份、容积率等)
- 楼栋列表(分页、新增、编辑、删除)
**P1本期随 P0 一起上线,允许适当简化)**
- 户型结构管理(按楼栋挂载)
- 楼盘照片上传(支持排序,格式和大小见业务规则)
**P2后续迭代本次文档描述边界不做细化**
- 价格走势图表
- 周边配套(地铁/学校/商场)
- 楼盘数据统计面板】
### 💡 已知的业务规则 / 约束
【填写已确认的业务规则,例如:
- 楼盘是房源的基础数据底座,删除楼盘前需检查是否有挂载的在售房源
- 一个楼盘可有多个楼栋,一个楼栋可有多个户型
- 楼盘照片最多 20 张,单张限 10MB格式限 JPG / PNG / WEBP
- 区域/商圈关联关系从 region app 读取,本模块不维护区域数据
- 楼盘数据属于租户隔离数据complex app需遵守多租户规范】
---
## 输出要求
请按以下结构输出完整 PRD保存至
`Project/fonrey/PRD/【模块名称】/【功能名称】PRD.md`
输出语言:**中文**(技术术语、字段名可保留英文)
---
# PRD【功能名称】
**状态**Draft
**作者**BillyPM
**最后更新**:【当前日期】
**版本**v0.1
**关联 Django App**:【如 complex / property / client】
**关联干系人**:工程负责人 / 设计负责人 / 运营负责人
---
## 1. 问题陈述Problem Statement
- 目标用户是谁,他们面临什么具体痛点
- 当前无此功能时用户如何绕过Workaround
- 不解决此问题的业务成本
---
## 2. 目标与成功指标Goals & Success Metrics
| 目标 | 衡量指标 | 当前基线 | 目标值 | 测量窗口 |
|------|---------|---------|--------|---------|
| | | | | |
---
## 3. 非目标Non-Goals
- 本次明确不做的内容(含原因)
- 延后到 v2 的功能(含触发条件)
---
## 4. 用户故事与验收标准User Stories & Acceptance Criteria
> 按角色分组,每条用户故事附带可测试的 AC。
### 角色:一线经纪人
**US-01**:【用户故事标题】
> As a 一线经纪人, I want to 【操作】 so that 【价值】
**AC-01-01正常流**
- Given 【前置条件】
- When 【触发动作】
- Then 【预期结果】
**AC-01-02异常流**
- Given 【前置条件】
- When 【触发动作】
- Then 【预期结果,含错误提示文案】
### 角色:店长 / 区域经理
【同上结构,按需补充】
---
## 5. 功能详细设计Feature Specification
### 5.1 信息架构 / 页面结构
- 描述页面层级、导航路径、关键区块布局
- 说明各功能区块的排布逻辑(不含视觉稿,纯文字描述)
### 5.2 核心交互流程
> 说明关键操作的完整步骤,注明前端交互模式。
**流程示例:新增楼栋**
1. 用户点击「新增楼栋」按钮
2. HTMX局部加载新增表单至侧边抽屉不刷新整页
3. 用户填写楼栋信息并提交
4. HTMX提交后局部刷新楼栋列表区域显示 Toast 成功提示
5. 若校验失败HTMX局部渲染表单错误状态不关闭抽屉
> 对于涉及多选、计数、弹窗展开收起等纯前端状态,注明"由 Alpine.js 维护"即可,不写具体代码。
### 5.3 字段规范
| 字段名 | 展示名称 | 类型 | 是否必填 | 校验规则 | 说明 |
|--------|---------|------|---------|---------|------|
| | | | | | |
### 5.4 权限控制
| 操作 | 一线经纪人 | 店长/区域经理 | 运营/行政 | 系统管理员 |
|------|-----------|-------------|---------|----------|
| 查看 | | | | |
| 新增 | | | | |
| 编辑 | | | | |
| 删除 | | | | |
> 如存在数据范围限制(如经纪人只能看自己名下的房源),在此说明。
### 5.5 性能要求
> 以需求方式陈述,不设计技术方案。
- 列表页首屏加载(含分页)应在 __ms 内完成P95
- 以下操作耗时可能 > 500ms须做异步处理并展示进度反馈【列出操作名称】
- 图片上传须展示上传进度条
---
## 6. 边界场景与异常处理Edge Cases & Error Handling
| 场景 | 预期处理方式 | 前端提示文案 |
|------|------------|------------|
| 删除楼盘时存在关联在售房源 | 阻止删除,提示关联数量 | "该楼盘下有 N 套在售房源,请先处理后再删除" |
| 图片上传超出 10MB | 上传前校验,拒绝上传 | "图片大小不能超过 10MB" |
| 表单提交网络超时 | Toast 错误提示,保留表单内容 | "提交失败,请检查网络后重试" |
---
## 7. 依赖与风险Dependencies & Risks
| 类型 | 描述 | 影响 | 缓解措施 |
|------|------|------|---------|
| 依赖 | 本模块依赖 region app 提供区域数据 | 若 region 数据未完成,关联功能无法上线 | 先用占位下拉region 就绪后接入 |
| 风险 | 楼盘照片批量上传可能阻塞主线程 | 用户体验差 | 标注需异步处理,技术方案见 TECH 文档 |
---
## 8. 上线计划Launch Plan
| 阶段 | 时间 | 受众 | 通过标准 |
|------|------|------|---------|
| 内测 | | 内部团队 | |
| 灰度 | | 指定经纪公司 | |
| 全量 | | 所有租户 | |
---
## 9. 待确认问题Open Questions
- [ ] 问题描述 — 负责人 — 截止时间
---
## 10. 附录Appendix
- 相关截图 / 草图
- 竞品参考
- 关联文档:`Project/fonrey/TECH_STACK/TECH_STACK.md``Project/fonrey/DATA_MODEL/DATA_MODEL.md`
---
## 补充说明
- 如果提供了产品截图,请先分析截图中的功能模块、交互模式、数据字段,再结合文字描述生成 PRD
- 如发现需求描述存在逻辑矛盾或遗漏关键场景,请在输出 PRD 前先提出问题,不要自行填充假设
- PRD **不输出** models.py、urls.py 代码草稿——这些内容由工程师基于 PRD + TECH 文档实现
---
## 📌 使用说明
| 步骤 | 操作 |
|------|------|
| **1** | 复制上方代码块中的完整提示词 |
| **2** | 填写所有 `【...】` 占位符 |
| **3** | 如有截图 / 草图,直接附在消息中 |
| **4** | 确认 TECH_STACK.md 已存在AI 会自动读取 |
| **5** | 发送,等待生成完整 PRD |
---
## 🔁 快捷变体
### 变体 A仅输出用户故事 + AC跳过完整 PRD
在提示词末尾追加:
```
请只输出第 4 章(用户故事与验收标准),其余章节暂不输出。
```
### 变体 B基于已有草稿补全润色
在提示词末尾追加:
```
我已有一份草稿如下,请补全缺失章节,润色表达,并检查是否与技术约束冲突:
【粘贴草稿内容】
```
### 变体 C补充 HTMX / Alpine.js 交互规范描述
在提示词末尾追加:
```
请在 5.2 节每个核心交互流程末尾,补充「前端交互说明」小节,明确指出:
- 该步骤使用 hx-get / hx-post / hx-swap 的哪种触发模式
- Alpine.js 需要维护哪些 x-data 状态(仅描述状态名称和含义,不写代码)
- 是否需要触发 Toast 通知,通知文案是什么