AI编程工具只能是辅助,老板想用AI编程替换程序员,做梦呢!
醒醒吧,AI编程不是你想的那么简单,不要无脑相信AI生成代码,现在的AI编程没有你想的那么好。
我是前端小白,花了20小时,使用Cursor对一个开源的网站项目,进行二次开发。结果一顿操作猛如虎,结果发现一个功能都没有了。而这个开源项目只是一个页面的网站程序。
这是我第一次以小白方式使用Cursor,之前都是以辅助工具来使用。我博客的视频播放页是用V0 dev来写的,界面需求是用Kimi来完善的,视频列表页是Cursor 写的。
1 Cursor的使用体验
Cursor使用体验,它就像小品《装修》中的砸墙工,给我八十,让我砸哪我就砸哪 ,我就是那个业主。于是"一锤子水一锤子电,真要砸出煤气了全都完蛋"(我要气炸了)。我先让它实现A,然后在A基础上添加B功能,但是发现它把A功能给改坏了,再让它修A功能问题,发现B功能被改坏了,不断的如此循环。
有人会说是你的使用方法和姿势不对,我想可能是,我没有按照最佳实践方法来搞。但是如果一个工具只能按照它的标准方式来使用,它的心智成本这么高。它真的提高我的生产力么?
2 AI编程的现状
还有一些人觉得它很厉害,那是他们不懂代码,觉得实现一个功能就很牛逼。还有他们实现一个简单的功能或脚本,比如输入两个数进行求和。单一小功能的确很强,但是设计复杂的功能的时候,未必那么强。即使单一功能的时候,也会有bug。
营销号就利用小白这种心理,各种夸大现在AI编程的能力。比如:
- ”几分钟做出来XX“
- ”小白利用AI做出xx“
- ”AI要取代程序员、程序员要下岗了“
现在AI模型无法做到你给一个大目标,它能自己拆解成各个小目标进行执行。而程序员接到产品经理的需求,它会进行模型抽象、任务拆解、模块设计、编码实现。
所以现在的AI编程只能是辅助工具,而不是你的程序员。你需要懂程序代码,你需要审核它所作的修改,你需要有设计蓝图来指导它做什么。简单来说就是你是个架构师、规划设计好各个模块,然后让它执行编程。
对于项目越大,需求越复杂,想要驾驭Cursor这样的工具,你需要比它高的水平和能力,至少的框架能力要高于它。要不然就会出现屎山(缝合怪),各种代码风格、同一功能使用不同的库,根本做不到可维护、可读性、可重用。
3 把AI当人一样沟通
使用AI的时候,需要把它当人看,进行需求沟通。告诉它,你的设计思路、你想要的功能,尽可能的详细,这样才可能达到我们想要的效果。如果是这样,沟通成本这么大,它真的提高我们的效率么?
我觉得现在对话式AI产品体验都不好,需要我懂一些prompt套路,才有能产出相对接近我想要结果。产品设计应该更易用,低门槛,甚至不用教,就会上手。而不是用户绞尽脑汁想按照它的原理,必须做一些最佳实践,按照特定方法才能达到你要的效果,这对用户的学习门槛要求太高。
网上那么多的prompt,就不太符合我们的直觉,我必须知道promote才能用好这些产品。为什么不是面向用户的需求设计,而是面向功能的设计。以用户需求为导向,而不是以厂商为导向,用户必须跟着我,典型例子AWS和Apple。
所以prompt工程师就是伪需求,它是一个短暂的存在,是因为原生的ChatGPT体验不好才产生的。当产品做好,根本不需要prompt。
4 理想中的AI编程
理想的AI编程应该能够:
- 修复现有项目中的bug
- 完成复杂需求(自动拆解需求并设计解决方案)
比如,我希望AI帮我修复bug时,它可以通过脑机接口从我的脑袋中提取所有信息(包括复杂需求背景、人员沟通、历史迭代、其他系统信息),并导入到上下文中,这样AI能够帮我找bug和修bug。
5 AI是否能取代人类?
人工智能真的能像人一样思考、具有思想、逻辑抽象能力和感情。它就能创造新知识,发明新的事物,它就能替代人类、最终灭掉人类。
但是现在,不要认为有了AI,它就无所不能。