最近几年刷视频基本都能刷到关于Ai编程相关的话题,看着那些炫酷的演示视频,很容易让人误解,现在的Ai编程已经到了可以替代程序员的地步了。但实事是,现阶段的Ai编程,离理想中的,还差得很远很远。
早在2023年初的时候看到关于ChatGPT的消息,非常震惊,我上手后让写了一些东西(普通文案和普通程序),确实很惊艳。在当时来说,我在开发的很多时候找相关功能的程序代码,都是在网上搜,参考别人的思路,或者手动改,没想到那会还能这么方便拿到现成的代码。
再后来我就开始慢慢接触更多Ai,主要还是程序开发方面的。
YYYY,Ai在进化方面真的非常快,但它也是一个黑洞,很多时候是假“学霸”,看似很厉害的输出,很多时候是没有逻辑可言的,也就是它会把自己上一秒肯定的答案最后否定掉,找的理由也很牵强。
国内编程相关的Ai我基本上都用到了,也包括国外比较火的cursor和chatgpt。下面简单谈下关于Ai在程序开发方面的一些我的观点。
现阶段“Ai编程”的优点:
1、写一些指定功能的函数,或者简单逻辑的功能,速度快,效率高,但这个肯定面向有开发基础的人。
2、脾气好,你让它咋改它不会罢工,但有一定的机率把自己陷入死循环。

缺点:
以上的优点其实是抵不过它自身的缺点的。
对于一个有一定开发基础的人来说,如果把项目交给现在的Ai,让它把控整个项目,来实现功能,是灾难性的,下面分开几点说:
以下观点均以生成“发散思维导图”功能来说明:
上图是连改带沟通2天的成果,总体效率不高。
1、豆包网页版对生成的代码,有折叠功能,这个非常好。但问题是会把前面生成的正确的功能,后面改没有了,优点是输出速度快。

2、Deepseek网页版对生成的代码管理就没法用语言形容,当你花了几十个步骤把功能即将实现后,你发现它把前面已经有的功能改没有了,你再往上翻代码,浏览器直接卡成狗。最大的问题是分不清很多node依赖的版本相关的接口。

3、kimi就不说了,在写代码方面就没毕业过。
4、阿里通义千问对生成的代码管理比较好,能折叠,也能单独显示列查看相关代码。问题也是一样,写着写着就把已有功能写没有了。

5、百度文心助手基本还凑合,可能基于它之前搜索引擎相关的数据,在写代码逻辑方面稍好些,但问题也很明显,太啰嗦了,在一个紧凑的函数中,会定义N多个不相关的变量,定义了然后又不使用。你问它为什么定义了不用。它会说:哦,忘记删了。就让人很郁闷。

6、百度秒哒:对新手友好,一句话能生成你想要的应用(网页)。但效果嘛,就看你的要求了,对于复杂的项目,它直接拒绝,提示让你找成熟的应用。

当然秒哒的好处是,可以把生成的应用发布到平台,应该是会到百度智能体里,给其他人使用,我没测试过发布后的一些环节。
另个再说一个例子,同样的视觉类的功能(生成一个threejs的效果),秒哒ai理解很离谱。

以上我的需求。下面是它生成的结果:

不能说不像吧,只能说一言难尽,改了好几十轮,我妥协了。
下面是我自己改的threejs的3D字效果:

7、腾讯CodeBuddy客户端版,综合来说还行,但一定要注意,千万不要把整个项目交给这个Ai,如果不做好版本控制,它会把你项目改得面目全非。我准备让它帮我完成一个仿Blender的材质管理节点图功能。第一阶段通过几十轮沟通下来,生成的代码基本可用了,但后面不知道是哪一步,把已经生成的功能弄没有了。我让它恢复那个弄没有的功能,结果不但没恢复成功,连后面实现的功能也弄乱套了。codebuddy没有自己的版本控制,就是最大的问题。

后面我不得不重启动项目,进入第2阶段。在第2阶段依然会有把原有功能弄没有的情况发生,但有了第一次吃亏,我在本地重新保存了一份可用的版本。每次出问题了,我手动恢复过去,让它重新读全部代码,再实现指定功能。

即使是这样操作,也要一直强调,不要动除了要实现功能相关的代码,其他功能代码全部不要动。尤其是不要按它的想法动原有的功能代码,强调了这个之后,基本上不会把我写的注释啥的删除了。
codebuddy除了以上说到的问题,也会犯基本的错误,比较多写一个花括号,或者少个分号啥的。
使用codebuddy完成发散思维导图功能,不是它有多厉害,而是我实在没耐心在其他ai尝试了,我只能自己做好版本,一边修改,一边沟通。
8、Trace国内版,这个工具我从今年年初就下载使用了,帮我完成了很多功能,但缺点和其他Ai一样,犯的错都是无底洞,对我来说最致命的就是,不听话。我让它不要安装node环境,不听我的,非要在项目里重新搞一套node,能人能气炸。

9、cursor客户端版本,除了慢还是慢,对中文理解有问题。
10、GhatGPT网页版,我用得不太多,基本上是给我兜底的工具,其他Ai写成狗屎粑粑的丢给它,让优化下。
11、CodeGeex,这算是我用得最多的Ai编程工具了,在vscode中集成了,在Xbuilder中集成了,让它写过一些功能,但不咋行,我让它干活最多的就是代码补全和部分代码重写。在vscode中使用很香。至于其他的ai插件,我没有在vscode中安装,装太多卡。
12、PHPStorm自带Ai,其实也算不上是Ai,顶多算是一个代码补全功具,也没有正经给我实现过啥功能。
通过以上就能看出来现在的Ai编程强得有多厉害,错得有多离谱。网上看到的那些炫酷生成过程序,要么是已经调试好了,要么是ai生成的,总之是对小白误导性很大。
另外还有一些确实是小白的朋友用ai生成的应用和小程序,但仔细看不难发现,都是一些简单的页面和功能。
对于偏视觉类比较明显的功能,Ai基本上是理解不了的,不管怎么表达,都很难达到我的要求。就比如我前面完成的发散思维的节点画布功能,试了好几个ai,沟通几十轮,都完成不了。最后在codebuddy下经过两天才完成,而且还是我一边改,一边让它改的情况。
不然它很难理解“连接点出来的连接线偏高5px”的意思,它会粗暴得往下调5px,这显然是有问题的,需要计算当前内容的高度,还要计算有没有缩放。
秒哒就直接给我拒绝了,说项目太复杂了。
对于不怎么偏重视觉类的功能,如果复杂度太高,Ai依然完成不了。
比如我准备实现Fido相关的功能,在我指定使用PHP8,客户端有Web和鸿蒙的时候,所有功能都完成不了。相关功能我和大部分ai沟通了半个月,后来放弃了。它们根本分不清web-auth/webauthn-framework 和 web-auth/webauthn-lib 的相关版本。
我拆分了先实现Webauthn,再实现客户端,最后也没有实现,两个端的交互太麻烦了。即便我把数据表结构给他们,依然完成不了。
总之嘴硬的朋友可以试着让Ai完成我上面说的两个方面的功能,看看效果。
总结:Ai编程有风险,做好备份和版本控制。
下面是我开发思维导图用到的提示语:

评论 (0)
暂无评论,快来发表第一条评论吧!