三小时零基础AI编程做产品,到底行不行?
最近网上有不少案例分享,0基础的人通过AI编程,几个小时做了产品,然后稳稳的收入激增,确实挺让人羡慕,我自己也分享过一些案例,但毕竟只是道听途说,很多事情,需要自己试试才知道。而且只有自己真的去尝试了,遇到别人问及相关问题的时候,才能真的拿出靠谱的意见和建议,而不是仅凭道听途说就去胡乱点评。
当然,最近这两年一直在旅游,缺乏工作心态,所以动作肯定比不了一线的年轻人。先说结论,对我来说,想要快速用AI做出一款可用的产品,目前来看,不太行。当然,这也要看产品类型,和对应的技术诉求,我会用自己的案例来讲解,可能存在的问题。
一开始我是问chatgpt,移动跨平台开发用什么语言框架比较好,它说flutter比较好,那么用什么开发工具呢,介绍的是vs code,其实一开始我是在我笔记本上安装的,按部就班地安装,我装的是visual studio,flutter,android studio,以及它要我安装的一些其他sdk和组件,但我笔记本硬盘分区不合理,系统盘太小了,虽然做了很多应用迁移,还是很快被一些默认安装程序什么的塞满,经常要删删改改才能让系统正常运行,此外笔记本电脑的速度也堪忧。
几经周折,总算是把flutter demo调通了,但这种一大堆各种窗口和按钮的交互方式我还是很不习惯,其实我算是上古时期程序员,而且一直抵触前端开发,我以前用的开发工具都是远程服务器上直接开Vi,全部命令行操作。
所以稀里糊涂地不知道从何下手的感觉,加上笔记本的编译速度也很慢,就停了几天没动,然后听从一些小伙伴的劝告,考虑了个人预算的问题,毕竟抠门,选择买一台mac mini做开发机,征得夫人同意后,去商场的苹果分销店直接顺了一台,羡慕国内的同学有国补,我就不想耗这个时间了,直接拿。然后配了个鼠标,在家楼下的电器城拎了一台显示器,然后把闲置两年的蓝牙键盘拿出来,算是齐活了。
光搭建开发环境,就折腾了我两天。不过还好mac上安装还算顺利,这次是把vs code,android studio,flutter,此外一些其他语言插件各种也都装上了。那么在vs code上,用的是copilot编程,copilot可以调用各种AI模型,第一天用claude 3.5各种来回反复,很折腾,第二天就狠心注册了copilot pro版本,氪金就是好,claude 3.7启用后明显写代码的效率和成功率提升了。
其实我自己是十分拒绝写前端交互的,而且很多年没有真正做过技术了, (去年无聊写过解数独的程序,还不错) ,所以全部都是在copilot chat上提需求,让AI自动写代码。前后我是一直没有参与代码的修订和编写的,这么说来,和零基础AI编程,好像也挺像的。
我平时手机上常玩的是数独游戏,所以想拿这个练起手 (事后证明,想简单了) ,然后一开始还算顺利,难度选择,提示功能,草稿功能,最后的快速填充功能,连胜纪录,胜利次数,最快时间等状态数据的保存等等,一样样设计开发完成,中间也有很多反复,但总算看上去完成了 (其实并没有,只是自己不知道) 。
然后开始设计更多游戏,2048,扫雷先后实现,中间也是和各种bug斗争 (都是把问题扔给AI,我是不查代码的) ,以及各种体验优化等等。
再往后就是增加语言选择和多语言能力,设计多语言的产品名称等。
然后今天,回头想再完善一下数独,增加更高难度,然后才发现,掉坑了。
先说一下AI开发中需要面对的问题吧。
1、很多人也遇到的,就是你让它哪怕修改一个很小的功能,甚至仅仅是简单的版式调整,它有可能把前面一堆东西给你改得面目全非,以至于经常要反复往回调整。后来小伙伴提醒,务必要装一个git版本管理工具,现在听话了,本地跑git服务,每天老老实实提交稳定版本,遇到各种崩溃的场合,老老实实的回滚。
2、需求提得多了,代码会逐渐臃肿,各种无用的,废弃的都会堆积在代码里,而且经常会莫名其妙地丢弃原有文件另开新文件 (当然也许是自己执行chat的时候打开的文件不够全) ,然后就导致很多没用的文件还在目录里。有时候需要让AI帮你分析一下,哪些代码没有用,哪些文件没有用,claude 3.7是可以分析的,但还有就是本来可以合并的逻辑,可以合并的代码,却放到了好几个地方,这也遇到了。
3、很多产品细节需要认真去体会,这需要你自己的真实体验感受,AI可以帮你实现功能,但交互的流畅性,有太多小细节需要你来发现,来定位,来把握,然后告诉AI,它才能帮你调整,帮你优化。
扫雷游戏,选择高难度的时候,格子会非常小,手指点击很容易出错,而且边缘很多手机屏幕是弯曲屏,边缘部位的点击就更难。
我选的几个游戏都是因为我自己可以算深度玩家,很多细节我会非常敏感,当然,实话说,AI并没有都帮我解决得很好,这也是需要不断和AI沟通,不断调整的事情。
然后说说我掉的坑,和这个案例所代表的,零技术基础使用AI编程会遇到的严重问题。
我开发完成数独游戏后,一直测试的是简单模式,因为测试速度比较快,测试通关的过程,失败的提示,连胜记录等等,各种文字信息和记录信息是否正确,一直没有测试高难度模式,毕竟耽误时间么,所以一直也没觉得高难度模式有什么问题。那么今天兴起,说加上最高难度试试,所谓最高难度,就是只保留17个数字,是数独游戏里最少数字有解的情况,但并不是任何一局数独你保留17个都能有唯一解的,这个就是一个很麻烦的话题。
所以我让AI帮我设计完之后,作为资深玩家,我点开一看就发现,唯一性有问题,于是我让AI增加唯一性校验,然后改过后,继续点开游戏,发现手机卡死了,于是跟AI说这个问题,我以为只是个bug,还没意识到问题在哪里。
然后AI调整后,我继续测试,发现高难度突然变成了低难度,然后我让AI继续优化调整,一个下午三个小时,都没有解决,很让人无语。然后就关机出去遛弯去了。
但溜达的时候,我突然想明白了这个问题,AI之前生成的高难度题,其实都没有做唯一性校验,所以很快就生成,但对于玩家来说,这种题是不对的,然后我让它增加校验后,生成逻辑就变得非常消耗资源,所以手机会卡死,但我没意识到这个关联,继续让它优化,它就做了一个尝试一定次数后自动降级的选择。
晚上回来开机做了一些简单测试,我单独开了一个程序,让AI写一个针对特定难度 (保留多少数字) 的数独生成程序,我发现25个的生成时间还是可以忍受的,1秒左右,24个就变成了10秒左右,23个就需要几分钟不等。
然后我想明白了一个非常关键的问题,我一直以为,我玩的数独游戏,是每局动态生成的。但实际上,至少高难度的版本,是题目预制的,超高难度数独题目,动态生成是不现实的 (后来我问了chatgpt有没有一些优化的算法,它给我推荐了所谓的舞蹈链算法,我让AI用这个算法重写了一下生成代码,发现生成效率无明显提升) 。
这就是一个特别典型的,产品技术实现路线的话题,你如果只提产品需求,它默认也是选择动态生成的模式,然后这个看上去很简单的问题 (不就是9*9的数据格子么,能有多难呢) ,其实隐藏着普通人不知道的实现复杂度。此外,如果你不是资深玩家,可能也不会注意到唯一性这个问题,那么生成的所谓高难度题目,在真正玩家眼里就是一个笑话。
如果没有技术背景,无法理解这背后的技术逻辑和实现路线,只靠AI,至少目前的AI,恐怕还真没办法满足我这个案例的诉求,AI不会主动告诉你其他的技术实现路线。
其实到现在为止,我一行代码都没写,都是AI写的,但我今天把这个卡点搞明白了,也算是用到了自己的一些技术背景能力。
前几天看到一个说法,也忘了谁提到的,很有道理,分享一下:无论是不是AI时代,让你做出产品能赚钱的都不是编程能力,而是需求洞察能力。AI只是让你能快速,低成本的把需求洞察变成可用的产品。
所以,需求洞察能力,仍然是最关键的。