上篇我用AI编程开发产品(一):从了解到入门提到我在开发一款读书产品,产品的核心理念是希望化被动阅读为主动阅读,让AI真正为我们所用。一般来说,一款产品的诞生过程,可以分为需求分析、产品分析、产品设计和产品落地这几大环节。在需求分析阶段,需要弄清楚我们的用户是谁、用户在什么场景下有什么需求。在产品分析阶段,需要弄清楚是不是有竞品,和对手比我们的优势在哪。在产品设计阶段,面对这么多的产品需求,要决定做哪些,不做哪些,产品的视觉和交互怎么设计。在产品落地阶段,要完成产品的开发以及发布,确保产品按时上线。
需求分析
在这个阶段需要弄清楚我们的用户是谁,在什么场景下有什么需求。在我是如何用DeepSeek帮助自己读书的中我提到,自己在利用DeepSeek辅助阅读,会让AI针对当前阅读的书提出一些问题,以此检验我自己对这本书的掌握程度。这里面的关键词是"AI"、“提问”、“知识掌握程度”,所以勾画出的场景是,一批有着主动阅读意识的小伙伴,在微信读书网页版进行阅读,读完后利用AI提问,提升自己吸收知识的效率。
在这个阶段,我使用了一些常用AI对话大模型帮忙分析,可以看下图,AI分析的效果感觉还不错。
在写这篇文章的时候,我也使用了自己在Trae中创建的需求分析智能体,其中调用了sequential-thinking的mcp进行深度思考分析,可以看到效果更好,它扩展了一些我没想到的使用场景,比如备考。
产品分析
现在,我们已经把产品的使用场景、用户需求确定了,那么还需要确认这款产品的市场可行性,是否有竞品。在这个环节可以用AI帮助我们判断,我把产品的理念以及主要功能点告诉AI,让AI作为一个资深的产品经理,帮我进行分析,于是AI给了我截图的答案,可以看到,它搜索了市场是否有相关竞品,我们的差异化在哪里。
当然,更好的方式其实是需要去真实的市场去验证,所以可以做出一个产品demo出来,放到市场上宣传,看看用户是否会买单,某书就是一个很好的平台。还有个思路是先不开发demo,借鉴亚马逊念产品新闻稿的方式,假设我们的产品已经发布了,把我们的产品设计稿放到某书上,看看用户反馈,这是现在也很流行的一种方式,与用户共同创建产品。
产品设计
在产品设计阶段,我做了两个事情,一是写出产品的需求文档,二是做出产品的设计稿。
1. 产品需求文档
想象一下,AI现在是我们聪明的小助手,那么让它完成任务的时候,就需要把具体的背景、任务要求告诉AI。如果直接跟AI说开发一个读书小助手产品,AI肯定也是一脸懵逼,这时候就体现出产品需求文档的重要性。在文档中需要写清楚背景、功能点、优先级、业务流程等细节,AI才能准确理解我们的意图,去辅助我们完成开发。当然有了AI,这个步骤也需要灵活调整,我们不用写的特别具体,细节可以让AI进行补充,我们再反馈修改意见,让它修改,这样的效率会更高。
我告诉AI,"读问这款产品的核心功能有书籍信息识别、AI提问、用户回答、AI评价。
- 书籍信息识别:支持自动识别用户当前页面书籍的书名、作者等信息
- AI提问:支持根据提取的书名、作者等信息,结合预设的提示词生成问题
- 用户回答模块:支持基础文本编辑功能,让用户对AI生成的问题进行回答
- AI评价:支持从回答质量、建议等方面对用户回答进行评价"
于是AI根据这些信息,帮我补充完整了需求文档,有些细节不对的地方,我让AI继续进行调整,考虑到调用大模型API是付费的,让AI辅助设计了付费会员相关模块,至此,产品的需求文档环节告一段落。
2. 高保真原型图
接下来的环节是绘制高保真原型图,它决定了产品的视觉展示效果以及产品交互,直接影响用户感官层面的体验。我最开始是直接告诉AI需求文档,让它帮我画,但效果不是很好。于是我换了个方式,先画了一个简单的线框图,然后把这些图输入给AI,告诉它风格要符合产品理念、简洁等,随后AI就使用HTML+CSS代码,画出了一版比较不错的原型图,这种方式也方便后续AI编程开发。
产品落地
在产品落地环节,会真正使用到AI编程工具,来帮我们编写代码。
1. 准备阶段
读问这款产品会涉及到数据库、服务器等相关配置,这些都需要提前准备,但很多是付费的,于是我查询了相关的攻略,了解到有独立开发的"穷鬼套餐"(感兴趣可以上某书搜索这个关键词),选择了适合我的方案。最终数据库选择了Supabase、后端服务用了Supabase的Edge Function,网站部署用了Cloudflare、大模型我选择了硅基流动和火山引擎两家供应商的。
2. 基于Trae进行开发
这时候,我们的一系列准备工作都搞定了,就可以正式进入开发,但不要急着让AI直接写代码,而是先让AI进行技术方案规划,我们先从逻辑上看看AI的方案设计是否合理,特别是数据库的设计,确保没有问题。
当技术方案确认完后,如果直接让AI写完所有功能的代码,大概率要踩坑,一是在当前这个阶段,AI大模型具有不少幻觉;二是我们的需求包含了很多功能模块,受限于模型上下文token数量的限制,AI不一定一次可以写完整。
那么,正确的做法应该是什么呢?
我们应该把功能模块拆分出来,列出一个任务清单,并即时更新readme文档,方便AI后续开发其它任务时,了解相关背景。我把第一个任务定为获取微信读书页面的书籍信息,因为它是其它产品功能实现的大前提。完成了之后,需要继续围绕产品的核心功能来规划任务,我依次让AI开发AI提问、用户回答、AI评价功能模块,最后再开发注册登录以及会员模块。
好了,今天先更新到这里,后续我会把开发阶段踩过的坑都分享出来,帮助大家避雷。