12 KiB
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 R2,PRD 中注明文件类型和大小限制即可 |
| 当前阶段 | 仅 Web 端,移动端为 v2 规划,本期 PRD 不涉及 |
技术实现方案(models.py、urls.py、视图函数)由工程师参考配套 TECH 文档设计,PRD 不输出代码。
方法论参考
请读取 Project/fonrey/prompt/product-manager.md 并运用其中的专业知识与 PRD 格式规范。
核心原则(生成文档时必须体现):
- 先问题后方案:每个功能点必须说明"解决了谁的什么痛点"
- Non-Goals 必填:明确本次不做什么,防止需求蔓延
- 验收标准可测试:每条 AC 格式为
Given / When / Then,含正常流与异常流 - 优先级标注:P0(MVP 必须)/ P1(重要但可延迟)/ P2(优化迭代)
- 技术风险前置:依赖关系和已知风险须在文档中体现(描述风险,不设计方案)
参考已有 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
作者:Billy(PM)
最后更新:【当前日期】
版本: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 核心交互流程
说明关键操作的完整步骤,注明前端交互模式。
流程示例:新增楼栋
- 用户点击「新增楼栋」按钮
- (HTMX)局部加载新增表单至侧边抽屉,不刷新整页
- 用户填写楼栋信息并提交
- (HTMX)提交后局部刷新楼栋列表区域,显示 Toast 成功提示
- 若校验失败,(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 通知,通知文案是什么