发布时间:2025-12-14
浏览次数:0
直接在项目中引入 AI 生成的代码,会带来什么样的后果?
或许在程序出现崩溃状况,或者有 Bug 冒出来之前,单单只是这样的一种做法,便完全足够去引发起一场规模不小且影响广泛的轩然大波,这实在是开源社区最近这段时间正在遭遇的艰难处境。就在前些日子,该开源社区的那位创始人,直接将由 AI 生成的代码给合并到项目当中codejock 162,结果社区就像炸开了锅一样,好多老贡献者气得选择离开,还自己去创建了一个新分支,通过这种方式来表达他们内心的不满。
当然,社区成员之所以气愤,原因在于创始人的行为本身,还在于有贡献者透露,创始人在引入那段AI生成代码时,压根没做任何测试,并且日常他喜好“独裁”,将原本众人都能贡献的开源项目,俨然变成了自己独自做决定的“个人项目”了。
是什么?
对于很多资深 Doom 粉丝来说, 这个名字并不陌生。
1997年12月,游戏《Doom》公开了引擎源代码,此后,行业里面出现了不少衍生项目,其中最为众人所知的那一个是次年由开发者Randy Heit推出的ZDoom项目。
ZDoom不是对Doom进行重制之举,而是要让这款年代久远的游戏变得更具现代感、更有游玩趣味哦。它增添了好多在那个时候来看显得极为领先的功能呢,像是对高分辨率予以支持以及拥有自由鼠标视角;引进了全新的脚本系统,这能让玩家较为轻易地去创建全新的武器、敌人以及特效;对mod制作复杂关卡逻辑予以支持;能兼容Doom、Hexen等多款以同一个引擎为基础的游戏。
接下来的几年时间里,ZDoom出现了好些衍生出来的版本,然而其属于极为引人注目的版本当中的一个 。
它是被另一位有着(网名 Graf Zahl)之称的开发者,在 2005 年开发制作出来的。这里面的 “G” 即为 “GL”,这表明它添加了 硬件加速渲染。此步骤极为关键,因为原版 ZDoom 仅能用软件进行渲染(画面呈现类似老游戏机那种像素风格),而它能够给予动态光照、阴影、粒子特效、3D 模型支持等现代图形方面的效果。
随着时光的慢慢延续, 渐渐变化成为Doom模组开发这边的拥有主要地位的平台。好多有名的Doom朝着现代化发展的项目(好比Doom、 、Ashes 2063等)都是依据 来搭建而成的。
社区开始分裂,AI 生成的代码成为导火索?
然而,如今 社区正面临分裂。
有部分开发者联合起来,他们着手建立起了一个新类别为分支的项目,这一行为的明显意图是针对创始人兼维护者的领导方式,还有一些关于AI代码的做法进行抗议 。
说起来,或许有人会这么讲,代码是不是运用AI编写而成的,根本就很难去判别,可是,为什么会引发如此强烈的反应呢?
事实是,Graf Zahl 在修改代码时留下了一句注释:
(这段代码是 教我怎么检测 Linux 深色模式的。)
正是这句注释,引燃了社区讨论。
有着开发者身份的the-表述称,这段代码未曾经过测试,甚至连编译都不能够达成,并且其来源有可能牵涉到版权方面的问题,没办法确定是不是契合GPL开源协议。
照此情形,Graf Zahl做出回应言,那一段代码,已然通过了CI,这便表明肯定是能够编译的,要是不能编译,自己早就将其禁用了,还宣称对于人工智能的利用不在意不关心:“当下每一个人都在借助人工智能去撰写样板代码,然而像你这般毫无道理地故意吵闹的人,最终只会遭受损失,被他人讥讽嘲笑。至于你们对于人工智能所抱有的反感态度——坦率讲,那又有什么关系!”。我当然对于在项目特定代码那儿使用AI是存有保留意见的,但此处仅仅是针对系统配置去做一些表面的检查工作,这些相关内容在各种各样的网站之上都是能够找寻到的,只是AI使得工作量减少到原来的十分之一罢了。
这时,一种状况出现了,一场围绕着于项目里引入由AI生成的代码的争吵,就这样毫无预兆地展开了。
对其展开直接反驳说成:“你判定有必要径直朝着我进行撒谎,这般情景属实既可笑又十足幼稚无比。”与此同时,他另外晒出了已然失败掉的运行记录:
对于这一说法,Graf Zahl 解释称:
“是的,第一个提交失败了。但重要吗?修复紧随其后。
推送直接到分支,这是个意外,我原本打算先推送到测试分支,使得CI去做一次测试编译,然而我犯了一个错误,在提交之前没有进行分支切换。
别跟我说你从来不犯错。”
无所谓态度的Graf Zahl引发社区更多贡献者不满,随即,有另一名贡献者加入这场“口水战”,他严肃表示:
就哪怕是样板代码,我都绝对不会去使用那由AI生成的糟糕代码,就算只是部分借助于AI的帮助才得以纠正我的代码。我在别的一个项目当中处理过借助AI辅助的PR,那个过程当中的体验真可谓是糟糕透顶,是彻头彻尾地浪费了我的时间,处理各种各样烦人的bug报告简直没有任何开心可言。要是这些代码确实是用 或者其他生成式AI以及聊天机器人给生成出来的糟糕代码并且它们真的就是这个项目的未来走向,那实在不好意思,我选择退出 。
未料到,Graf Zahl 并不愿听闻相似的话语,它仅仅是删除了这部分由 AI 生成的代码,还将相关函数从仓库之中移除了。
于此同时,他并不想就此放弃对AI的使用呢,他表示,“别以为这样就把AI的问题给解决掉了。我认识好多依赖AI工具的开发者呀,他们已然离不开AI了。并且大多数人都不会承认,很难去辨别那些代码——那些代码可不总是一看就明显糟糕的代码。比如说,如果我说这段代码来自我以前做过的一个老项目,没人会多想什么。可遗憾的是那个项目的检查功能仅仅针对 和Mac版本……:(”。
随即,他还补充道:
哦,相信我,我对于将AI当作编程助手这件事,也是极为谨慎的。我见识过它所输出的垃圾代码,并且多数情况下,我尝试借助它来节省时间,最终的结果却都未能令我感到满意。
我发觉它仅有的那真正具备效用的地方,大概率便是如同这般的查验,也就是某些系统配置的查询,此类内容于平常的互联网搜索里是极难寻觅到的。就算是些许普通的标准算法,所生成的结果也并非一直是可靠的。
对于法律方面存在的风险,不,不好意思,这种情况是不会出现的。不存在任何个体能够毫无顾忌地去轻易招惹那些规模庞大的科技领域巨头 。
我全然预估,在未来两年之内,围绕AI的金融泡沫将会破裂,然而,从整体情形而言,这个工具极为有用,因而绝无可能被全然舍弃,它还是会持续存在,只是会朝着更为合理的方向再度进行定位。
或许在编程方面并非特别适用,那么图像生成、自动文本翻译、自动文本摘要这类的内容又如何呢?这些在性质上更具“可丢弃”特征的内容,其本身不见得需要长久留存。
有可能,你使用AI的频率已然相比你自己所察觉到的更为频繁,只是唯独你没留意到罢了。
分叉新项目,以此抵制 AI 生成的代码
显然,Graf Zahl 所持有的,关于 AI 的那种观点,并没有被社区当中的多数贡献者所认同。
在过了几天之后,于社区里有着成员身份的那个某人,在特定的某个上面,提交了一份关于 Bug 的报告codejock 162,这份报告详细地一一列出了,社区对于被称作 Graf Zahl 的人使用借助 AI 来生成代码时所流露的不满,进一步还罗列出了此人一贯拥有的那种“由上面至下面、独自决断式”去管理项目的相关问题 :
“恭敬地说,@,请你不要再直接推送到 分支了。
我们是一个团队。这样做显示出你对同事的尊重有多少。
我明白这属于你的项目,你能够任意进行操作。可是请别直接推送,而是经由PR提交,并且等候维护者予以确认。这不但树立了良好样本,还为维护者以及其他开发者提供了审查你工作的时间。”。
“Zahl这样表达对于此的回应——‘要是你们这般不满,那就随意fork项目好了。’” ,。
结果,社区开发者们真就当真了,开始自立门户。
诞生!
原来的核心贡献者代表 Nash 在 论坛上写道:
哎,我打算于这个帖子之中展开交流,并且期望它能够演变成一个具备“半官方”性质的、用以避免外界产生诸如误传等状况的集中讨论帖 。
在 的讨论贴里,Nash 进一步解释说:
不是那种,只有一个人能做决策,要么完全依照这个人所说的去做,不然就只能离开的开发模式 。
任何代码,都得借助Pull进行提交才行,而且要经由多人予以审查;整个过程全是公开透明的,这意味着,根本没有人能够直接朝着主分支去提交代码。”。
他还在 上写道:
我这二十多年,投入不少费心费力的东西,那可是我人生热情的所在之处,却从来没有见过呀,像这次一样,崩得如此厉害,惨到无比的程度呢 。
最后
一款有着32年历史的经典游戏,其现代移植版出现后,原本活跃的开源社区,如今明显出现了内讧,网友们在issue上展开了热议 。
开发者 直言不讳地批评该项目创始人:
,Graf,你究竟是怎么一摊子情況呀,你消失了整整一年时间,之后却回来把大量工作全部推翻重新再来,运用生成式AI那些质量欠佳的玩意儿去处理一个原本能够轻松就进行搜索解决的问题,并且在人家提出合乎道理的质疑时居然让他们都“滚蛋”呢,此引擎当下正处于有史以来最为健康的一种状态,然而却感觉你是打心眼里不想让任何人去触碰你那视为宝贝一般的代码句号。
你晓得我是怎样晓得的吗,是由于有其他人切实地进行了这个项目的fork行为,而此期间你于相应的服务器上大发雷霆,原因是你已无法掌控整体局面,随后毫不费劲地径直拿走尚未完成的代码,且几乎未作任何修改,最终在你的“成人脾气”未起作用时,你又从好几个服务器退出了。
另一位开发者 则直接怒怼道:
你早前完完全全地将其给弄成没用的东西了,祝愿你尽情享受玩乐的愉悦,在那儿你能够独自缓缓地去编写代码,不会再有任何人来提示你去修正相关内容了。
这一系列冲突,不仅陡然使得社区氛围变得极为冷淡,还让相当多的开发者内心生出失望之感,开源原本理应着重强调协作以及共享这两点,然而在实际的操作进程当中,却极有可能因为项目创始人自身的个性以及采用的管理方式转变成为所谓的“个人项目”,与此同时,也能够较为轻易地看出,当把AI生成的代码运用到实际的项目里的时候,依旧存在着极大的争议,针对此种情况,你有着怎样的看法呢?
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码