Redian新闻
>
编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员

编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员

公众号新闻

编译 | 核子可乐、凌敏

GitHub Copilot、ChatGPT 等 AI 产品的火爆出圈,让更多人看到 AI 在编程方面展现出的极强能力。一时间,关于“AI 取代程序员”、“AI 当立、编程已死”的言论不绝于耳。

前段时间,前哈佛大学计算机科学教授、谷歌工程主管 Matt Welsh 在芝加哥计算机协会的一个虚拟会议上表示,ChatGPT 和 GitHub Copilot 预示着编程终结的开始。Welsh 断言,生成式 AI 将在 3 年内终结编程。

但也有一些人对此持反对意见。近日,Constructor Institute 教授、Eiffel Software 首席技术官 Bertrand Meyer 在 ACM 上发表文章公开“唱反调”,他认真研究了一番 ChatGPT 到底是怎么编程的,最终得出结论:AI 还帮不了程序员。

ChatGPT 编程实验

前段时间,Meyer 通过一系列文章讨论过如何解决虚构出来的二进制搜索问题,虽然内容看起来都不错,每篇文章也都提出了自己的解答版本,但其实大部分都是错的。(延伸阅读:https://bertrandmeyer.com/2020/03/26/getting-program-right-nine-episodes/

以此为素材,Meyer 把这些文章提交给了 ChatGPT(版本 4)。

AI 选手先是对问题做出了描述:

这个问题实际可以出现在任意数量的元素上,而不仅仅是两个。但想要证明一个程序不正确,举出一个反例就足够了(但要证明它是正确的,则需要证明其适用于所有示例)。Meyer 只问了程序是否正确,并没提具体要怎么修复,但 ChatGPT 还是热心给出了如下建议:

这里的评论部分确实很有帮助:

ChatGPT 说得没错,逻辑很通。但在认真查看建议的替换代码之后,Meyer 发现了某些可疑的部分。于是,Meyer 进一步提问:

在尝试修复 Meyer 的错误时,ChatGPT 输出了另一个同样有错的版本,只不过错得跟 Meyer 不一样。值得一提的是,ChatGPT 每次都试着给出新的版本——在纠正之前错误的同时,却又带来了新问题

Meyer 还发现,ChatGPT 特别擅长道歉:

ChatGPT 一直在自说自话,积极向 Meyer 推荐它认为经过修正的解决方案:

到这里,Meyer 甚至不打算尝试最新版本正不正确。有经验的程序员朋友都知道,揪住一个案例不断添加特定修复,绝不是生成正确程序的最佳途径。

于是 Meyer 也选择继续保持礼貌:

精彩的来了:ChatGPT 决定向 Meyer 介绍循环不变量的概念!

Meyer 从未明示或暗示称“需要一种更系统的方法来验证算法的正确性”,他只是想知道 ChatGPT 要如何证明它推荐的答案是对的,但绝对没有使用“系统的”或者“验证”这类字眼。之所以出现这一幕,可能是基于大型语料库的统计推理给了 ChatGPT 信心,让它认定用户肯定会质疑输出代码的正确性,然后要求以系统方法给出验证。

Meyer 继续追问了下去:

ChatGPT 随后给出了很好的答案,甚至包括 ACM 计算调查当中收录的循环不变量调查内容。而且它仍然是先夸一句再解释问题,非常客气:

到这里,Meyer 不打算再继续追问了。

作为一名程序员,Meyer 知道如何解决问题,但和大多数程序员一样,他自己也会经常犯错误。他希望 AI 编程助手可以监督自己,提醒他注意陷阱并在犯错时给予纠正。换言之,他希望 AI 能成为高效有用的结对编程伙伴。但实验结果并非如此:AI 编程工具就像个自大的研究生,聪明且博览群书,也始终保持着礼貌并愿意道歉。可回头来看,它仍然草率且不够可靠,所谓的帮助对 Meyer 来说毫无用处。

现代 AI 成果并不能生成正确的程序

Meyer 认为,当前生成式 AI 工具确实能够在某些领域出色地完成工作,甚至胜过大部分人类的水平:相关结果来得很快、令人信服,乍看之下甚至不亚于顶级专家,原则上也没什么大问题。比如生成营销手册,或者是粗略翻译网站内容之类,它的翻译效果相当不错,此外还有医学影像分析等等。

但编程的要求完全不同,它对产出程序的正确性有着严格要求。开发者可以容忍一定的错误,但其核心功能必须正确。如果客户下达的指令是买进 100 股微软股票,同时卖出 50 股亚马逊股票,那程序绝不应该执行相反的操作。专业程序员有时候会犯错,这时候就看 AI 助手能不能帮上一把了。

然而,现代 AI 成果并不能生成正确的程序:它产出的程序实际是从之前见过的大量原有程序中推理而成。这些程序看似靠谱,但却无法完全保障正确性。(这里所说的现代 AI,是将其与早期 AI 区分开来——后者试图通过专家系统等方法重现人类的逻辑思维,但在很大程度上已经失败。如今的 AI 完全通过统计推理实现基本功能。)

Meyer 表示,尽管 AI 助手时有惊艳发挥,但它们并不是逻辑的产物,而是玩弄文字的高手。大语言模型都拥有流畅的表达能力,非常擅长生成看起来没什么大错的文本。虽然这样的表现对于许多应用场景已经足够,但仍然不适合编程需求。

现在的 AI 能够帮助用户生成基础框架,以大致靠谱的效果给出答案。但也就止步于此了。以目前的技术水平来看,它还完全输出不了能够正常运行的程序。

但这对软件工程行业来说并不是坏事。Meyer 认为,面对种种“编程已死”的宣传,这次实验提醒我们不管人类程序员还是自动编程助手,都需要规范的约束,并且任何产出的备选程序都有待验证。在最初的惊艳过后,人们终将意识到这种一键式生成程序的能力并没有多大作用。考虑到它往往无法正确实现使用者想要的效果,草草上线的自动化功能也许反而有害。

写在最后

Meyer 并不是唱衰 AI 编程,他认为,审慎的态度或许能帮助我们构建出具备可靠能力的终极 AI 系统。

目前,AI 技术尚处于早期发展阶段,这些局限性也并不是永远跨越不了的障碍。也许在未来的某一天,生成式 AI 编程工具能够克服这些障碍。但要让它具备真正的编程能力,还得在规范和验证方面做一番深入的探讨和研究。

那么问题来了:你是否使用过 AI 编程工具?使用的是哪款工具?准确度如何?这些工具是否真的帮助到了你?欢迎在评论区写下你的使用体验。

原文链接:

https://cacm.acm.org/blogs/blog-cacm/273577-ai-does-not-help-programmers/fulltext

声明:本文为 InfoQ 翻译整理,未经许可禁止转载。

今日好文推荐

抗拒使用 GPT-4 和 Copilot 写代码,拥有 19 年编程经验的老程序员“面试”被淘汰

马化腾称“收紧队形”,腾讯回应;微软发布自己的Linux发行版;OpenAI回应GPT-4 变笨 | Q资讯

向量数据库?不要投资!不要投资!不要投资!

年薪60万的数据分析师工作保不住了?!阿里达摩院研究发现,改用GPT-4成本只需几千元

报告推荐

包含 ChatGPT、Claude、Sage、天工 3.5、文心一言、通义千问、讯飞星火、Moss、ChatGLM、vicuna-13B 等大语言模型产品,四大维度+12个细分维度展现其综合能力,通过技术视角探索大模型产品的编程能力,提升 AGI 创业方向选择、工作实际应用等方面的最新认知。扫码添加InfoQ 小助手,解锁全部资料。

直播预告

AI 大模型时代,架构师面临哪些机遇和挑战?今晚 20:00,Mobvista 技术 VP 蔡超,直播连线科大讯飞 AI 研究院副院长李鑫,为你揭晓答案!更有 ArchSummit 深圳站精彩专题提前剧透,知识豪礼送不停!抓紧预约!

点击「阅读原文」查看 ArchSummit 深圳站讲师阵容。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
一抓就死,一放就乱,公司为啥总是“不着调”?这些「正确」的话空洞且无用,帮不了孩子公开叫板程序员,NVIDIA惹众怒!Linkedln大裁,却唯独放过了程序员!程序员越“老”就越看不上 AI 辅助编程工具?Stack Overflow 2023 开发者调查 AI 特别报告太惨!ChatGPT别用!教授公布原因!90%留学生不知道;论文神器测评盘点,别再走弯路了,写不好论文是因为这几点最新:加拿大央行维持利率4.5%不变!但前行长却高唱反调…厉害国, 承载着人类的恩怨欧盟“中国会议”:匈牙利对华“激进示好”,立陶宛唱反调四月来临外交部:美国应当立即停止装聋作哑!宝宝哭闹打滚和大人唱反调?这 3 个方法要掌握好不听劝的塔利班推翻承诺,90国给联合国上交提案,中国也帮不了腾讯游戏,新王当立Sam Altman预警:AI灭绝人类!375+大佬签署22字联名信,LeCun唱反调程序员的未来属于「伪代码」!Nature专栏:用ChatGPT加速科研编程的三种姿势适合中年女人的追求[关注]世卫宣布阿斯巴甜为可能致癌物!FDA公开唱反调!可口和百事执行双标?33岁单身妈妈绝望申请安乐死:我还有3个孩子,但社区帮不了我,别无选择了……《南国第一梅》&《美美》ChatGPT 写 21 个程序,16 个有漏洞:离取代程序员还远着呢!灌水:关于复活节兔子和传说开会,要允许“唱反调”程序员看剧,如果看到编程场景,会暂停看代码研究一下吗?23笔试流程已发布!最新答题要求、考前准备及注意事项!和 ChatGPT 之父唱反调,投资了 OpenAI 的顶级风投认为 AI 会拯救世界抗拒使用 GPT-4 和 Copilot 写代码,拥有 19 年编程经验的老程序员“面试”被淘汰一次电梯故障,“逼得”这个程序员在 29 岁时写出了一种编程语言上古时期程序员在没有 Google 的情况下怎样编程的?新王当立!德约错失第24座大满贯程序员「求生宝典」!AI大发展下的程序员求生指南,干货满满ChatGPT写21个程序,16个有漏洞:离取代程序员还远着呢!大模型时代的程序员:不会用AIGC编程,未来5年将被淘汰?哈佛大学再爆丑闻!专门“研究诚实”的教授公然伪造科研结果!被揭穿后遭停职!【提示】金山新江水质净化二厂二期工程已完工,预计10月份正式投入使用
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。