AI编程初体验
cursor编程的一直很火,最近终于忙完手头上的项目了,好好体验了一下,不得不吐槽一下cursor的一些问题
经常在自媒体看到cursor多么牛逼,能让一个没有编码基础的小白瞬间开发出一个软件,搞得内心其实挺焦虑的,这么多年的编码技术是不是白学了,赶紧学习体验下,好让自己死个明白
安装cursor,然后运行都很顺利,根据教程让cursor帮我生成一个网站,起初一切都很美好,网站就这么水灵灵的出来了,于是开始向网站里面添加功能,问题就出现了
首先一个完整的功能是不能通过一段话完全说明白的,那么就需要把一个功能拆分成一个个很小的目标让ai去实现。
比如一个哪怕简单的产品,也需要拆分成50个很简单的功能点,让AI去帮我实现,起初40个小模块都很顺利,但是剩下最后几个的时候就出问题了。
当出现一个bug的时候,我让AI修改,然后这个不仅没改好,还新出现两个bug,然后开始陷入调式地狱,好在我能看懂部分代码,发现问题很简单,AI实现了某个方法,但是这个方法没有被引用,因为没执行导致bug仍然存在。
看着很无语,AI能写出牛逼的代码,却会犯如此低级的错误
类似的问题很多,就是AI编程必须聚焦到非常小的功能点,一点点去拼凑出完整的代码,如果你懂代码那么它会是你很好的帮手,由它帮你生成积木块,你只要负责组装就好了,但是不懂代码,就会被AI玩死
之前一直很让我焦虑的事情就是,网上都在鼓吹AI编程完成自动化,让我感觉就好像自动驾驶已经实现了,司机就要失业了,事实上AI编程目前就是辅助驾驶,在路况良好的时候适合帮助司机减轻负担,当路况复杂的时候,还是需要人工介入的
实际中存在的问题
存在看不到的隐形成本
cursor没有很好的代码回退功能,因为一次修改AI可能会修改整个项目,ctrl+z不能实现多次后退,必须配合git,不断的提交已经验证的代码
AI会帮你生成当下可执行的代码,但是会忽略用户的真实使用环境,你必须自己规划好兼容代码
对未知问题如果采用了AI的方案,很容易陷入后期维护的不可控
如果对AI生成的代码不加审查和归类,后期迭代新功能将陷入极大的被动
AI编程体验后的反直觉
AI幻觉,永远有求必应,但有可能胡说八道
非专业人员可以一句话实现一个功能,却在出问题时很难调式,导致事倍功半
没有专业的背景知识,产品在真正上线时会出现各种问题,而有经验的工程师会在前期就规划好这些解决方案
AI编程快速生成代码,让人忽略了编程是一项系统工程,代码只是最基础的一部分,整个产品的稳定性和可维护性也很重要
当AI帮你实现了70%的工作,但是剩下的30%很可能让你陷入调试的痛苦
使用cursor仍然需要懂最基础的编程知识,变量,方法,调用,这些最最基础都不懂,会被AI牵着鼻子走
或许你需要的只是一个模板工具能快速实现你的想法,而不是一个编码机器人
无论你的要求多么不合理,AI一定给你回答,但是答案是否真实它不会管
AI编程对普通人仍然有使用门槛,保持耐心和学习的心态
如何更加高效的使用AI
问极端具体的问题,把AI做为学习工具
让AI教会你最基本的编程概念
让AI告诉你这段代码是如何工作的
让AI去做复杂的算法工作,检查输入输出,同时查看代码的逻辑
把AI当打工人,打工人虽然干活积极,但一定会犯错,不要迷信它的结果
快速开发产品原型
有经验的开发者辅助AI编程能事半功倍
AI生成的代码需要人工过一遍,大致知道是什么功能,然后归入到某个模块中
对软件的整体架构要自己了然于胸,让AI去干具体的工作
非技术用户可以用AI生成简单的MVP,但是后续的维护和稳定性值得商榷
AI会帮你生成在完美状况下的产品,但是需要人工去补充各种边缘场景的情况处理
AI就像一个不知疲倦的实习生小助理,但是对于他提供的代码要审核一遍
日常开发辅助
cursor的tab功能(代码补全)特别好用,基本用了就停不下来,但是这个也是要基于对代码有基本了解的基础上
核心还是人去用工具,对小白仍然存在门槛,体验可以,作为商业产品去做上线风险很大
我的结论
不必要去迷信AI编程,祛魅对AI也是必要的,你本身是一个经验丰富的开发者,让AI帮你打工完全没问题,甚至可以帮你写出很好的算法,前提是你自己其实也能写,但是这种脏活累活现在有AI帮你干了,但是涉及到UI界面的细节优化上面,你花了一大推时间去向AI描述你要的效果,实际上还不如改几行代码来的快
纸上得来终觉浅,还是要怪自己老喜欢看自媒体那些让人震惊的标题,而不去关注那些严肃的技术文章,好的信息源太重要了,接下来应该去加入一些更加垂直的社区,接触高质量的信息,要在正确的信息里成长啊
为了更好的阅读体验,来飞书看吧:
https://h0v0176ep4x.feishu.cn/docx/Rj72dcFN8oWTpzxtAt0cddgpnZf
Comments on "程序员实际体验后发现的AI编程之坑" :