当前位置: 首页 > 后端技术 > Java

震惊!这个基于GPT-4的代码编辑器吓到我了!

时间:2023-04-02 00:31:18 Java

首先,我不是头条党。我真的很震惊。其次,我今天要写的不是让AI在chatGPT中写冒泡排序,而且鸡和兔子同笼的代码例子网上有很多。我知道chatGPT已经流行了,我也试过让AI写一些简单的程序。太简单的话,基本都能写对。如果再复杂一点,我也可以介绍一个大概的思路,给出代码,但是有很多不能正常运行,还有一些逻辑错误。最多只能作为参考。虽然我认为AI可以理解一些人的意图并给出粗略的实现代码,但是它不能代替程序员写一些稍微复杂一点的算法程序。直到今天在网上看到这样一款AI程序编写软件:Cursor。官网是这样的:二是查看了软件的特点和背后的公司,问了newbing:好家伙,原来是openAI这家公司的。但是又一想,不就是接上了chatGPT的API,封装成一个IDE。关键是体验过chatGPT的代码技巧。其实问题还是挺多的。有时候会出现很基础的逻辑错误,不能直接拿来运行。但是看到是openAI出品的,还是下载了这个软件。其实我也没想到。软件界面是这样的,很像一个IDE:简单问了一些猜数和快速排序的问题。好了,直接复制到IDEA里面就可以直接运行了。比如上图就是我要求给出猜数游戏代码的一道题。其实这个级别的chatGPT也可以做到。但是显然我的直觉是光标给出代码的速度比chatGPT快很多,基本上每秒十几行。我决定提高强度。3于是我就不再问一些网上已经有很多例子的经典题了,让他帮我写一个swing界面。具体描述如下:写一个带摆动的秒表程序,请在界面上画一个圆图形上有2根针,一根是分针,一根是秒针。分针比秒针短,最初都指向0分0秒。秒表下方有两个按钮,一个是开始,一个是暂停。单击开始按钮时,秒表时钟开始走动。单击秒表时,秒表停止。暂停后再点击开始,它会继续移动。打进去,AI几乎想都没想就开始写:几秒就写完了,乍一看好像是这样,因为我看到他定义了颜色,画了线。我把它复制到IDEA中运行,果然成功了。效果如下:这有点出乎我的意料。除了按键位置有点不对,其他功能都和我描述的一样完全正确。然后增加难度,我给了他一个swing界面文件比较的问题:请用swing写一个程序,图形界面上面有3个按钮,其中2个支持上传2个TXT文件,一个比较按钮,点击按钮,会比较两个文件内容的差异,如果完全一致,会弹出提示框,提示两个文件内容一致。如果不相同,会在下方图形界面显示两个文件的内容(与按钮不在同一行),并用黄色下标箭头标示文件内容不一致的地方.我想解释一下为什么一直给他问swing的问题,因为swing有接口,所以很容易验证。代码还是秒生成的,请看动图:程序明显比之前长了很多,中间输入了两次继续。整体还算流畅。将程序复制到IDEA中运行:我被这个彻底震惊了。卧槽,核心功能都实现了。但也有缺陷。我要求的是用黄色箭头标出不同的地方,他却以文字的形式列出了不同的内容。GPT-4程序这么厉害?只需描述一小段,您就可以编写一个小的演示程序。而且可以直接运行。所以我将相同的描述发布到chatGPT。虽然chatGPT也给了代码,但是运行起来完全错了。由此可见,cursor不仅仅是一个shell软件。它确实是基于代码的培训。4除了swing,普通的java多线程并发业务程序可以写吗,所以问了一个常见的业务问题:电商秒杀模拟程序。描述如下:编写一个程序,模拟如下业务:举办限时抢购活动,共有2款商品,商品A和商品B,各50件。需要定义产品的类别。用线程模拟10000人同时进来抢购,10000人分别用ID1、ID2、ID3等表示。每种产品每人最多只能抢2件。没有抢到2件商品的顾客信息不用打印,只打印抢到商品的顾客信息。格式如下:客户[ID1]抢了2件[ProductA],[ProductB]抢了1件。相信我的描述已经很清楚了,也说明了需要多线程。客户ID以推断形式命名,打印信息仅给出样本描述。看看AI能不能学会打印出符合我操作的结果。过程同上,我就不贴动图了。贴个图看看:运行后打印出来的结果是:现在我又要躺下了,结果100%完全正确!仔细看了下AI写多线程并发,发现也是完全正确的。5.其实我在这里测试的时候,就已经很着急了。是的,cursor目前只能写一些单一算法的程序,但是正确率和理解力让我很吃惊。从chatGPT诞生到GPT-4才短短几个月时间,就已经这么强大了。再过几年我们会不会失业,不再需要程序员了?产品经理只需要给AI发一个详细的描述,AI半小时就能打败一个技术团队一个月的工作量。仔细想想。最后贴出cursor的官网地址,大家可以下载体验:https://www.cursor.so/