随着AI的火热,总有些营销号鼓吹“AI让编程零门槛”,动不动几分钟就完成原型设计、几小时就完成APP开发并上线,仿佛动动嘴皮子就能造出微信淘宝。营销号赚的盆满钵满,收割一波又一波的学员、粉丝,实际上他们教的那些网上到处都是,你照着做并不能实现零基础代码开发。作为一名写后端的程序员,我也以自己使用Cursor和Windsurf自动化开发微信小程序的体会来谈谈自己的感受,毕竟不能道听途说瞎点评是吧。
我分别使用目前AI编程比较流行的Cursor和Windsurf进行微信小程序开发,大模型都选择了Claude 3.7 Sonnet,这也是目前AI编程最好的大模型了(没有之一)。
微信小程序的功能比较简单,实现作业辅导,核心功能是拍照识题和解题辅导。首先是编写功能需求说明,越详细越好,当然你也可以借助大模型帮你设计编写,然后将需求说明告诉AI编程工具,它会自动编写代码,你只需要一直点击“接受”保存代码就行,下面两个图分别是Cursor和Windsurf编写的代码结构。
首先说一下,小程序代码写完后,你需要下载微信开发者工具进行调试,这一步你可能会遇到一些技术名词,比如“云函数”、“依赖库”等等,如果你不知道如何操作,你问AI编辑器,它也会告诉你如何详细操作,这些尚且可以零基础操作。
重点来了,接下来你将进入无休止的程序调试阶段,你将会遇到交互界面不美观需要调整优化、界面按钮点击无响应、功能未达到预期、功能细节处理不正确等问题。这一步真是应了最新流行的那句话“AI写代码10分钟,调试代码大半天,还不一定能搞定”。
虽然我是程序员,我懂技术,但过程中我尽量不分析代码、不手动修改代码,完全让AI编辑器自动化操作,我只是告诉他现象、问题、结果和我的需求,说实话不太好用,也有可能是我不会用。我将过程中遇到的主要问题总结为四点,接下来一个一个聊。
1、简单界面编写问题不大,稍微复杂一些的交互设计很难一步到位,有些布局就很丑,需要反复告诉AI编辑器不断调整。比如下面这个界面实现就不是很到位。
复杂界面交互调整调试半天都不一定满足需求,别给我说谁谁谁零基础开发了一个TOP榜单的APP,那是个APP吗?几张图片也算是APP?炒秀头,割韭菜!
2、每改一个小需求,代码变动会很大,经常出现不需要改动功能也发生了变动,需要反复往回调整,有时还调不到原来的效果。这个不知道是上下文不足导致的,还是思维混乱了,总是会改动不相关的功能或界面,有些原来是正常可运行的,被改成不能正常运行或者界面发生了大变化。
3、在修改、增加需求过程中,AI会出现割裂现象,最简单的就是界面设计不统一、不协调,另外产生很多冗余代码。割裂问题就好像你和一个人说话,前后聊的都不在一个频道上了。冗余代码问题,你如果不看代码,你都不知道为什么要加这一段。即使你看了代码,你会有会这在哪里用到了的懵圈。
4、AI代码调试真的是一个大工程,写代码效率是提升了,但调试真的不节省时间,反而增加了理解成本。很多时候,AI编程和调试会让你崩溃,反复调整都没有解决问题,作为有基础的程序员,很多时候就会想放弃,直接自己写算了。如果你是零基础人员,当调试出错时,你会很无助,虽然现在的AI编辑器已经实现报错排查、分析和解决,但很多情况下它反复尝试都不能解决,这个时候怎么办?和AI这么耗着?反反复复的调试?
另外,产品设计和代码实现上有很多细节性的工作AI并不能解决,它只能在大的模块和功能上实现自动化,这时候需要人工介入不断思考、打磨,过程中要不断和AI交互,有时候还需要专业性的技术逻辑和实现路线,这些零基础的人搞不定。
总体感受下来,至少目前的AI并不能让无编程基数的小白从无到有自动化开发一个软件。AI编辑器目前只能用于专业程序员在设计、编码、问题排查方面的辅助性工作。很多时候写出来的代码并不能直接跑起来,没有专业性的技术支撑,你根本无从下手,你知道什么是环境变量吗?你知道什么是依赖库吗?
当下很多AI编程工具还只能辅助专业的程序员。如果有一天,人类可以通过自然语言让AI工具实现所见即所得的效果,没有代码只有成效,要实现什么就实现什么,要改什么就改什么,要不就不实现,要实现就能正常运行,那才是真正的AI零基础编程。