How to write PRD

How to write PRD

我有这个问题不是说为了人类写 PRD,而是为 AI 写 PRD。我想写一种 PRD,这个里面我们规定 AI 需要做的,边界权限等,然后我们坐等 AI 去根据文档去实现所有功能。而不是我们像个监工一样,总是时不时要看看 AI 写的对不对。

What is PRD

看了几篇文章,好像每个人理解的都不一样,主要区别是 scope。

比如我原本的理解,几乎就是一个设计文档。我有一个 feature,我需要如何修改 UI 界面,我需要增加怎样的功能,详细的列出来。但是网上对于 PRD 有不同层面的理解。

一种 PRD 文档,就是已经有了一个产品了,我们只需要加一个新功能,那么内容大致如下:

  1. overview,需求背景,stakeholder,大概要如何解决问题,要添加怎样的功能。都是梗概性,力求简洁。
  2. use case 或者说 用户画像,就是解决了那些用户的怎样的问题。用户的使用案例是什么
  3. 可以说一些功能设计了,比如 ux,ui 设计,需要在哪里加怎样的功能等等。然后可以把设计师的设计文档链接贴上,把工程师的设计文档链接贴上
  4. 需求排期,比如大概什么时候做,多长时间做完等等
  5. 上线检测,看看上线这个功能后,又怎样的变化。有何反馈
  6. 风险点,我看到有的文档还会说一些风险点。比如法律、用户使用习惯、程序开发影响点可能导致的 bug 等等。

一种 PRD 涵盖的范围很大,是一个全新的产品,看起来有点像商业企划书了。还会讲 vison

  1. 整个产品的背景,我们发现了怎样的用户需求,我们希望开发一个怎样的产品。
  2. vison,这个领域有多少用户量。商业逻辑是什么,产品变现逻辑是什么
  3. 产品交互图,大致的一个交互图。
  4. 产品具体的 feature,然后由于是一个新产品,因此需求很多,还需要排优先级
  5. 希望达到的里程碑事件

上面描述了 PRD 大致在写什么,还有很多文章通过 PRD 延伸出 PM 应该做什么,什么是好的 PM,好的 PRD 应该是怎样的。比如 PRD 应该是一个信息交流的平台,PM 使用 PRD 来传达自己的想法,让信息透明。

  1. 让各方能够知道需求的由来,理解了来由之后,才能有默契的高效的合作。
  2. 信任。知道 PM 不是拍拍脑袋瓜随便想出来的,需求是有背景的。

还有一些讨论,在于什么是正确的需求。

AI 能够理解理念么?

比如我们想说什么是一个好的 PM?什么是一个好的 PRD?什么是一个好的组织?这些问题更像是一个理念,这些理念当然可以写到纸面上,但是这些理念的权衡,AI 真的能够理解么?AI 真的能够权衡理念观念么?

或许我们对 AI 太苛刻了?毕竟人类也无法权衡理念。

如何更好的执行

下面是 figma 的一个 PRD 样例

https://www.figma.com/resource-library/product-requirements-document/?utm_source=chatgpt.com#_4-contextualize-strategic-goals

https://coda.io/@yuhki/figmas-approach-to-product-requirement-docs/prd-name-of-project-1

figma 给出的 PRD 普遍都具体些,都是针对某个小需求来做的。很适合我们作为 PRD,只有足够具体的明确的需求,AI 才能够执行好。当然对于人类可能也是这样,但是人类的隐含的 context 太多,因此人类可以在语言信息不完整的情况下,也能意会。AI 很像一个知识极其丰富、学习能力极强的、单纯的、木纳的小孩子。

今天我用 PRD 完成了前端的工作

我首先写了 RPD 文档,但实际上那个文档很短,基本上就是介绍前端需要做什么,后端需要做什么,就这些。我感觉那都不能称为一个文档了,因为他太细碎了,我把每个她需要改的文件地址都告诉他了,然后接口需要改什么字段也都告诉她了。我觉得我只是把 cursor 对话框里面的 prompt 放到一个文件里面了。

前端代码生成还不错,但是仍然有不少错误。

  1. ui 设计,我把 ui 设计图放到文档中了,AI 写出的按钮放错了位置。可能是他的图像识别有一点问题?我不太清楚图像识别出的信息是什么,各个组件的位置关系?
  2. 第二个就是代码逻辑,当然那个可能也不算错误吧,可能是另一种实现方法。这个是我的文档中的缺失。如果我能明确写出来,那么他可能直接就能搞定。

后端的问题,逻辑方面,我就自己写了。我觉得自己写可能比 AI 更快点。关键的是我很难描述我要做的东西。我说的难,是指我需要花很多口舌,去描述我的需求是什么,每个字段应该如何设计,每个字段意义,业务逻辑是什么。如果我真的把这些都描述清楚,我认为还不如我直接编码呢。

能否让 AI 自己设计代码?

我们总是把需求设计好了,字段设计好了,ui 设计好了,然后才告诉 AI 怎么做。

La elección de camisetas de fútbol versión aficionado mejora al comparar el ajuste previsto para actividad deportiva o uso casual. Para evitar errores, merece la pena revisar la guía de tallas específica para cada tipo de corte.

我们是否能直接把需求告诉 AI,让他扫描代码库,让他自己出方案,我们评估方案,最终确定方案后,AI 自己生成 PRD 文档,自己去执行,调试呢?

ссс