IT之家 前天 15:28
微软 AI 公开折磨微软员工:修 Bug 唯一贡献是改了 PR 标题,GitHub 评论区成吃瓜现场
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

微软.NET Runtime项目近日因Copilot代码智能体尝试自动修复Bug时表现不佳,引发全球程序员在GitHub上的围观和嘲笑。Copilot在修复正则表达式问题时,不仅未能有效解决问题,反而引入了新的错误,甚至出现修改标题等无效操作。尽管微软员工尝试与Copilot合作,但多次修复尝试均以失败告终,甚至出现AI被更原始程序Bot打脸的情况。此次事件引发了关于AI在代码修复中作用的讨论,以及对AI生成代码质量和可靠性的担忧。同时,也引发了关于AI是否会取代程序员,以及人类与AI之间协作模式的反思。

🐛Copilot在修复.NET Runtime的正则表达式Bug时,多次尝试失败,不仅未能解决问题,反而引入新的错误,例如测试失败、代码规范问题等,甚至出现修改PR标题这种无效操作。

🤖AI智能体Copilot在问题修复过程中,出现“狡辩”行为,即使方案无效,仍坚持认为已有效解决问题,缺乏对问题根源的深入分析和有效解决方案,需要人工多次干预和指导。

🤔此次事件引发了关于AI在代码修复中作用的讨论,以及对AI生成代码质量和可靠性的担忧。有观点认为,AI可能会生成低质量代码,并对项目维护者的耐心造成影响。

📉微软员工使用Copilot并非强制性要求,而是团队在进行实验,以了解AI工具在当前和未来的局限性。尽管Copilot在自动修复Bug方面表现不佳,但在代码审核和自动补全等辅助功能方面表现相对较好。

微软著名开源项目.NET Runtime 成了吃瓜现场,全球程序员在 GitHub 评论区围观嘲笑:

微软用垃圾 AI 折磨微软员工,真是可悲又可笑。

发生什么事?

原来是新出的 Copilot 代码智能体在尝试帮忙自动修 Bug,但那叫一个越帮越乱。

Bug 本身只是一个正则表达式的小问题,被分配给一位微软员工斯蒂芬和 Copilot 合作解决。

Copilot 在方案描述中说的头头是道,什么“这确保了一致性”,“改动很小”等等。

结果代码直接检查不通过,报错报了一长溜。

合着这 AI 忙活了半天,唯一的“贡献”其实是把标题给改了,也是学会摸鱼的精髓了。

还好其实只是代码规范的小问题,斯蒂芬老哥也没当回事,直接请 Copilot 修复样式问题,并把测试挪到之前的文件中。

没过多久 Copilot 就回报:我已修复样式问题,并把测试移动到现有文件中。

斯蒂芬老哥一检查,很无奈,许多正则表达式测试现在都失败了。

正是从这开始这条 PR 引起了程序员们的注意,几百人点了“好笑”。

AI 闯的祸还得 AI 自己收拾,Copilot 尝试修复错误,还总结到“最初的修复方案过于激进”。

结果这位先进的 AI 智能体,直接被更原始的程序 Bot 打脸了:此操作被取消,后续步骤可能不包含预期的日志。

这下围观的网友直接崩不住了,跳出来阴阳怪气“我真的看到了这个方案的潜力”。

与其让真人花时间编写无法运行的代码,不如让计算机自己去编写无法运行的代码,至少提高了写无效代码的效率。

最终这条 PR 被斯蒂芬老哥手动关闭,他认为是由于配置问题,智能体无法访问所需的依赖项。

而像这样微软员工和 Copilot 搭档,最终失败的 PR 还有…… 这么多。

被折磨的也不是只有斯蒂芬一人,另一位员工埃瑞克还遇到手动关闭 PR、删除分支之后,一回头 Copilot 又把分支恢复了,还改个标题请求老哥再审核。

不过既然都关闭了,埃瑞克后来直接就没搭理它。

AI 修 Bug,没修好还狡辩

在另一个有关正则表达式的 PR 中,bug 是由于堆栈回溯时数组越界出现异常。

Copilot 给的方案居然是添加一个边界检查,当超出数组长度时返回“不匹配”,避免抛出异常。

这个方案被斯蒂芬评价为“治标不治本”,那到底为什么会出现越界,还是没有解决。

这回 Copilot 直接没有反应,还要老哥再 @一遍才动。

Copilot 有反应了,但没有给出新的解决方案,而是说了一大套理由论证自己的方案已经有效解决了问题,还是“优雅地”。

斯蒂芬也没法说服 AI,而是指出新的问题,又是测试代码没放对位置所以没执行。

放对了位置之后,不出意外地又出了意外,AI 添加的测试都失败了。

到这里围观网友已经看不下去了,认为微软员工应该自己动手解决问题,而不是浪费时间指导 AI。

毕竟这可是.NET 运行时的代码,多少云计算、医疗、金融等行业的重要系统要依赖它运行。

混乱中还有人尝试越狱提示词,想让 AI 用 PHP 语言把整个项目重写一遍。

不过还好微软做了权限管理,非项目参与者的指令对 Copilot 不起作用。

斯蒂芬老哥还是坚持智能体的配置问题正在修复,还将继续进行实验。

而大家的意见是:还是别继续了,赶紧取消这个实验吧。

微软员工回应:不是强制性要求

Copilot 智能体的糟糕表现,围观的程序员一开始只是觉得好笑,但慢慢也开始思考对于整个行业来说意味着什么。

结合微软刚刚大裁员 3%,还披露公司 20%-30% 的代码由 AI 生成这一消息,让人怀疑 Copilot 就是用来替代被裁掉的 6000 人的。

这样继续下去,让人无法再继续信任.NET 这个平台了,总有一天 AI 写的糟糕代码会进入生产环境。

有人从更大的视角,认为这也违背了人类开发 AI 的初衷。

本来应该是机器辅助人类工作的,现在倒过来成了人类被迫辅助机器。

一位.NET 开发者提出,有多少 AI 是基于 15 年前的 Stack Overflow 答案进行训练的,而这些答案已经不再代表当前的模式或推荐方法。

如果 AI 持续不断的失败,会消磨掉项目维护者的耐心么?

或者这只是微软做给热衷于 AI 的股东看,而下的命令?

不过斯蒂芬老哥回复,使用 Copilot 不是公司强制性的要求,团队一直在实验 AI 工具以了解在当前和未来的局限性。

并且他认为:

任何不考虑如何利用这些 AI 工具的人,将来都会被淘汰。

One More Thing

整个.NET 运行时代码库中,Copilot 自动修 Bug 成功合并代码的案例只找到两个,也都是合作的人类程序员反复提示修改后才成功。

不过 Copilot 还在很多 PR 中当辅助代码审核员,这些比较顺利,基本都成功了。

这款 Copilot 智能体看来目前还是只能干干自动补全,总结代码内容的活。

真修 Bug,还得靠人。

吃瓜现场:

本文来自微信公众号:量子位(ID:QbitAI),作者:梦晨

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

.NET Runtime Copilot AI代码修复 程序Bug
相关文章