LLM 带来了“编程末日”?计算机专业教授:别做梦了!
LLM会把编程淘汰吗?近日,哥本哈根大学的计算机教授Hans Hüttel通过分析计算理论中的定理所施加的基本限制,得出结论:距离编程的终结还远得很。
其主要观点如下:
计算复杂性理论的限制
- PSPACE完备问题(PSPACE-complete)的挑战:从规范生成正确的程序代码是计算机科学的核心问题,即程序综合问题。这一问题在计算复杂性理论上是困难的,因为PSPACE完备问题的决策算法在运行时间上随输入大小呈指数级增长,即使是中等大小的输入,算法也可能非常慢。
- QBF规范语言的难题:使用完全量化布尔公式(QBF)作为规范语言的问题也是PSPACE完备的,这进一步证实了生成程序的困难。
程序综合方法的局限性
- 近似方法的不足:一些程序综合方法是近似的,无法构建满足完整规范的程序,比如静态程序分析工具,而且这些工具一般只考虑特定的程序属性。
- 资源消耗大的方法:另一些方法则需要大量内存或大量时间才能构建程序,比如使用SMT求解器的方法和基于类型的开发形式(例如基于Hindley-Milner类型系统的方法)。
- 狭窄领域的方法:还有一些方法只能在合理的资源限制或狭窄的问题域中进行综合,比如用于生成编译器和解释器的工具(正则表达式和属性语法的使用允许开发人员指定解释器或编译器的预期行为)。
LLM生成代码的局限性
- 代码质量参差不齐:任何在编程环境中使用过此类AI软件的人都会看到,有时AI可以生成看起来正确合理的代码,而有时则会产出无意义的程序。这种行为并非巧合,因为LLM是在现有代码上训练的(GitHub Copilot使用GitHub上的公共代码进行训练)。这意味着,无论生成什么代码,都将反映聊天机器人在训练阶段所接触的编码风格。
自然语言在软件开发中的真正用途
自然语言在软件开发中的真正使用,在于软件开发人员和软件的最终用户之间发生的探索性对话。LLM可能会促进这种对话,但取代编程还遥遥无期。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
为什么大语言模型 OpenAI o1 有时候会用中文思考?
最近 X 上在讨论为什么大语言模型 O1,有时候会用中文思考? 转发一段 Hugging Face 王铁震老师的想法: 我一直觉得,会两种语言不仅仅是能用两种语言交流,而是能根据话题和场景,自然地用更合适的语言去思考。比如,我更喜欢用中文做加减乘除,因为每个数字只有一个音节,算起来干脆利落。但一提到 “无意识偏见” 这种话题,我就会不自觉地切换到英语,毕竟这些概念我最开始就是从英语里学来的。 这让我想到编程语言:大多数程序用什么语言都能写,但我还是会用 Bash 写命令行脚本,用 Python 搞机器学习,因为每种语言都有自己最顺手的地方。现实中的语言也一样,我们会根据语言的特点和自己的习惯,选择最顺手的语言去表达特定的内容。 这也是为什么我觉得,在训练大语言模型(LLM)时,保持所有语言和文化的多样性和包容性特别重要。就像哲学家维特根斯坦说的:“语言的界限就是世界的界限。” 只有包容每一种语言的细微差别,才能让模型学到更全面的思维。即使两种语言里的两个词意思一样,它们在模型中的 Embedding 也可能完全不同,因为它们背后的文化和使用方式截然不同。在我看来,这种包容性不仅能打造更...
- 下一篇
扎克伯格“锐评”苹果:缺乏创新、通过压榨用户和开发者来赚钱
1 月 11 日,Meta CEO 马克·扎克伯格在做客播客节目 Joe Rogan Experience 时,对苹果的封闭生态系统进行抨击。 在节目中他谈及了对于 Vision Pro的看法:「他们推出了一款售价 3500 美元的产品,我认为还不如我们售价 300 或 400 美元的产品好。」 同时,他还直接表示「苹果已经很久没有发明什么真正伟大的东西了。」他认为,史蒂夫·乔布斯发明了 iPhone,而现在苹果只是在这个成就上躺了 20 年。「实际上,我觉得他们的 iPhone 销量可能在下降。」 扎克伯格认为,苹果赚更多钱的方式,就是通过压榨用户来实现的。比如向开发者收取 30% 的税费,让用户购买更多外设和配件。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS关闭SELinux安全模块
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8安装Docker,最新的服务器搭配容器使用