乐于分享
好东西不私藏

北京大学教授梅宏:人类必须牢牢掌控软件开发的主导权

北京大学教授梅宏:人类必须牢牢掌控软件开发的主导权

▲关注中国信息化周报

新视界、新思维、新洞察

软件产业正处在新一轮螺旋上升期。这是互联网变革之后的又一次重大变革,其影响远超单纯的范式变化。北京大学教授梅宏近期表示,以往的技术变革多是由软件行业内力驱动的自我革命,但这一轮革命的推动者更多来自行业外部。当前AI领域存在一种倾向,即试图系统化重构软件工程,比如当下热门的“驾驭工程”等实践,这大可不必,将既有的知识、规则、管理方法与机器学习深度协同,才是软件行业应有的发展路径。 

梅宏强调,软件承载着人类文明,人类必须牢牢掌控软件开发的主导权,这一权力不能交给机器。以代码为例,未经人类审查,仅靠机器编译运行就投入使用,在关键行业中绝不可行。技术史上,每一次浪潮都伴随着狂喜与恐惧。蒸汽机曾被赋予改变人性的期待,互联网也曾被预言为乌托邦的入口。然而当尘埃落定,人们总会发现:工具终究是工具。这一轮人工智能的热潮,也不会例外。正如梅宏所言,任何技术热潮终将褪去。就像当初电脑的出现曾颠覆无数人的认知,甚至彻底重构了密码行业,但当人们对其司空见惯后发现,本质上机器学习依然是计算,是运行在计算平台上的软件系统。它只是在已有技术基础上完成了新一轮螺旋式上升,成为更强大的工具。应积极拥抱机器带来的进步,但不能将其神化。

由此来看,认清机器学习“计算为本”的本质,并非贬低其价值,而是让我们在狂热与恐慌之间,找到一条理性前行的道路。

正确认识AI的现状及其角色

正确认识AI的现状及其扮演的角色,首先要看清当前人工智能的本质。本轮人工智能的本质,是深度学习。深度学习只是人工智能的一个子领域——但它成功了。孙子就这样代替了爷爷,占据了整个舞台的中心。梅宏说。当前AI是数据驱动的智能。大语言模型这一轮技术突破,可以被视为继计算机发明、互联网出现之后,计算机产业发展的第三座里程碑。“要充分认可这一轮AI带来的巨大进步,可以说大模型的表现令人震撼。当大模型能够生成流畅自然的语言时,过去自然语言处理领域未能实现的诸多目标,如今已被大语言模型一一达成

需要认清一个现实数据的数量和质量,定义了模型能力的天花板。尽管在感知智能层面,机器已经超越了人类。但在认知和行为层面,距离还很大。大模型是否可以通过深度学习拥有“认知”?梅宏认为,当前的大模型不具备真正的认知能力,深度学习路径,也不可能实现人类所理解的认知。

要厘清这一局限的根源,需要跳出数据与算法的表层,深入探讨智能的本质。“智能”这个词,是人类造出来用以区分自己与动物的。它有很多不同的定义,从未形成真正的共识。计算能力算不算人的智能?梅宏提到:从历史看,一直算。只是后来计算机的能力太强了,我们反而不再把计算当作智能来看待。从认知学的角度看,理性主义和经验主义是两个极端。理性主义认为,人的认知推理过程可以用机械计算来实现。正是沿着这个方向,人们一直用计算来模拟智能。在这个过程中,软件是计算模拟的载体,也是实现方式。维基百科对人工智能的定义,也强调计算系统去执行各种任务的能力。然而,同样是基于计算,规则驱动与数据驱动却走出了两条截然不同的技术路径。

计算是基于规则的数学公式、推理逻辑、执行步骤。人们设计算法,在算法指导下让硬件完成一系列逻辑运算对科学和工程计算带来了巨大提升本质上是规则驱动。深度学习则是基于学习与归纳。它提供了处理和分析海量多模数据的高效自动化手段。本质上是数据驱动的。梅宏强调,必须清楚:深度学习的底层,依然是计算——张量计算。无论是规则驱动还是数据驱动,今天机器超越人的能力早已不是什么新鲜事。人类制造工具,本来就是为了超越自己。

人类在软件开发中的主导地位不会动摇

当大模型以惊人速度生成代码、自动化工具逐步渗透开发全流程,“软件工程师将被AI淘汰”的论调甚嚣尘上。梅宏指出,软件工程的核心复杂性不在于写代码,而在于对问题域的理解、权衡取舍、成本控制与长期演进的预判。这些能力无法被机器完全覆盖,因此人类在软件开发中的主导地位不会动摇。软件行业的核心竞争力从来不是写代码,而是解决复杂问题。

软件形态始终随计算平台演进而持续变革,AI是软件发展的自然延伸而非替代‌。过去规则驱动的软件本质上已是AI的早期形态,如今数据驱动的AI进一步推动软件范型升级,引发技术体系重构。这一变革并非首次历史上,从机器语言、汇编到COBOL等高级语言的演进,都曾被认为会替代程序员,但实际是淘汰了低效编码方式,催生了更高层次的开发角色。当前AI带来的变化同样如此——编码环节正被自动化工具部分取代,但‌需求工程师、架构设计师、软件工程师‌等聚焦问题理解、系统设计与复杂性管理的高阶角色,因其超越单纯编程的能力,将持续存在并更加重要。

当前软件正在积极拥抱智能化,这意味着软件技术正迎来新一轮变革。变革的动力来自两个方面:一是计算平台的变化,二是应用需求的变化。梅宏认为,本变革最关键的技术驱动力,正是人工智能与深度学习的突破性进展。这种变化动摇了现有软件范型应对复杂性的基础。由此,一种新的软件范型应运而生——智能化软件范型。所谓智能化软件范型,是指未来的软件系统将由人类编写的程序与机器学习生成的模型共同构成。这是确定性代码计算与不确定性模型计算的融合体。这样一种系统在过去是不存在的,因此我们需要一系列全新的工程方法去应对它

软件如何“驯服”大模型?

尽管大模型在代码生成上展现了潜力,但它远未解决复杂软件工程的本质问题。梅宏总结,一方面,可用代码数据不足且质量不高,尤其特定行业软件因其业务逻辑复杂性无法公开获取,模型难以满足需求;同时,大模型丢失了代码的结构化语义、强局部性和环境依赖性,生成小程序尚可,面对复杂系统则力不从心。更关键的是,生成代码不等于生成软件——编码仅占软件工程工作量的约10%,软件的本质困难在于复杂性、一致性、易变性和不可见性,它涉及问题空间理解、需求取舍、平台能力、成本管理和系统演进,这些靠数据学习无法实现。此外,大量未软件化的领域缺数据、缺代码,大语言模型难以发力,而开发成本降低反而会催生更高层次的需求。

此外,大模型代码生成陷带来任危机问题同样值得关注。数据显示,AI工具使用率上升,信任度却从43%降至33%,不信任比例升至46%,生成的代码不仅带来管理和评审的新成本,甚至可能污染既有代码库,形成“反噬”——正如《纽约时报》所指出的,海量生成代码超出人工评审能力,成为不敢使用的负担。与此同时,对新一代程序员的需求正在上升,岗位招聘已触底反弹,行业需要的是更高层次、适应范型变迁的软件人才。

AI应用的浪潮中,给天马行空的大模型套上精准落地的“缰绳”,是技术从业者们亟待攻克的核心命题。梅宏强调,要真正用好大语言模型,不能只靠模型本身,而需要构建大模型系统。一个经过训练和精调的模型,本质上只能做基于数据的归纳推断。它存在一个根本性问题——幻觉,目前无法彻底解决。解决这一问题有两条路径:一是通过机器学习让模型本身更可信、可靠;二是通过软件方法来构建模型系统。RAGCOTAgent等,本质上都是软件系统——它们把人的问题求解方式强加给模型,或者面向具体任务构建代码来调度模型。大模型系统,其实就是“智能化软件范型”的一种特例。在个范型中,多个模型协同工作;而当前Agent的主流方式,则是围绕一个大模型,构建一群Agent来服务它。今年年初爆火的OpenClaw,同样是围绕模型构建的软件系统。这些实践表明:围绕模型构建软件系统,已经成为现实的技术方向。

作者:杨光
编辑:高珊珊
监制:刘晶

—End—

注:转载、添加白名单以及商务合作请在公众号后台留言,未经许可、不得转载,不得随意修改及盗用原文。