你知道什么是vibe coding吗?这个新潮流竟然这么有趣!

你知道什么是vibe coding吗?这个新潮流竟然这么有趣!

试用新工具写代码的真实体验,分享给你们!

这周我尝试了一下vibe coding,同时用Trae、Qoder和Code Buddy来搞一个node.js项目。说实话,最开始的目的就是看看这三款新工具在写代码方面表现如何。结论就是:简单的项目还行,但一旦复杂起来,就别指望它们能给你太多帮助了。

整个过程其实挺有意思的。首先,我用Trae启动了项目,然后在写代码的过程中切换到Qoder和Code Buddy。第一天在我不停地喋喋不休下,终于搞出了一版初步的代码,结果编译却没通过。等勉强通过编译后,单元测试又出问题,到现在还没调好呢。

如果按功能强弱来排,这三款工具可以这样排序:Trae和Qoder差不多,然后是Code Buddy。Qoder在生成代码方面确实比Trae强,不过有个让我很烦的地方就是,它在终端执行命令时,经常读不到输出。要么终端卡在输入命令的地方,AI就超时了,要么终端已经执行完,它还在等。虽然Trae偶尔有这个问题,但Code Buddy基本上没有。总的来说,Qoder在这方面最不靠谱。

这三款工具都能创建项目并生成初步代码,但在后续的修改过程中,真是暴露智商啊!创建时的代码结构清晰,各司其职,但一旦需要添加功能,它们就开始跨层调用,完全忽视了之前的设计,和创建时的思路大相径庭。

在解决问题时,AI似乎也没有记忆力。我让它修复一个单元测试的错误。它先判断是因为导入时使用了相对路径有问题,于是改成以npm包的方式导入另一个模块,但依然出错。接着,它又换回相对路径,还是不行。最后又改回npm形式导入,就这样在两种解法之间来回切换,完全不检查配置项,也不提出新的思路。

有时候AI写的代码也让我觉得很奇怪。比如,有些代码明明是冗余的,得到一个函数返回值result后,又重新创建一个return {success: result.success, msg: result.msg}。还有些地方明显不对劲,比如在判断数据库的delete操作失败后,注释里说要回滚,但后面却是调用insert再插入一次。更有甚者,明明有直接可用的方案,它却偏偏不用。我让它对js项目进行bundle打包,它竟然直接写了一个bundle.js脚本来做打包工作,而这个生成的结果也是错误的。

而且,AI居然不知道当前时间。我让它在代码文件头部的注释里更新“更新日期”,结果它给我更新到了2024年的某一天。感觉这应该是个基本操作啊,为什么它不知道呢?

最重要的是,AI目前还不会自动调试程序。我觉得这真是个程序员必备的能力。即使编写代码很严谨,遇到问题也不可能不调试就能100%找到bug。

Trae和Code Buddy在设置规则方面比Qoder强。不过,我感觉设置这些规则有点孤独。我做了设置,但感觉基本没啥效果,AI还是我行我素。而且它特别喜欢自顾自输出,遇到需求时就分析,分析完就一个接一个改文件,改了一堆,也不知道到底行不行。

总的来说,AI给我的感觉就像一个过于自信的毕业生。他的强项是懂各种编程语言,能给出很多答案,但缺乏实践经验,虽然答案很多,但没法确认哪个能用。做项目的时候也没有记忆,前后不一致。如果让我给现在的AI编程做个评价,感觉就像是赛博马谡和赛博赵括,一味纸上谈兵,能唬住外行人,虽然能快速输出代码,但真遇到问题就显得力不从心。不过,以目前的发展速度,我相信在一两年内,它应该能达到工作3到5年程序员的水平。

网上总有人说有些人用AI编程一周就开发了一个APP赚了几百万,我真想知道那人到底开发了什么APP,可以让我膜拜一下。

来源:知乎
原文标题:关于vibe coding
声明:
文章来自网络收集后经过ai改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!

《你知道什么是vibe coding吗?这个新潮流竟然这么有趣!》有8条评论

  1. 对于AI在编写代码时的局限性,我也有同感,有时候它的逻辑跳跃让我很困惑,真希望能有更智能的调试功能。

    回复

发表评论