大模型带火了AI,这是大家的共识。
大模型的应用场景,目前最火的是内容创作和代码编写这两大领域,这也是大家的共识。
在代码编写或者说编程领域,连很多大佬都表达观点:AI将取代程序员。
- OpenAI 首席产品官 Kevin Weil
- 他在播客中表示,AI 的编程能力已超越人类,且不可逆。到 2025 年底,AI 代码自动化将达到 99%,程序员需适应 “监督 AI 工程经理” 的新角色。他进一步预测,十年后“人类手动写代码”将像手工耕田一样过时。
- Anthropic CEO Dario Amodei
- 他认为 AI 在编程领域的进步是 “指数级的”,并直言 12 个月内 AI 将编写几乎所有代码。Claude 模型的实际应用数据显示,37% 的用户交互与编程相关,远超其他领域。
- NVIDIA CEO 黄仁勋
- 他在 2025 年 GTC 大会上称,编程可能已走到尽头,建议年轻人转向生物学、农业等 AI 尚未深度渗透的领域。
甚至,在编程领域还蹦出一个新概念:氛围编程(vibe coding)。由 OpenAI 联合创始人 Andrej Karpathy 于 2025 年 2 月提出的概念。不得不说,外国人在发明概念上的能力也是蛮强的。氛围编程的相关产品,鼓吹的是通过一个聊天窗口就把代码给写了,软件给实现了。
然而,我今天要说的是,无论是“AI将取代程序员”、“氛围编程”,还是“AI + 软件工程”……都是扯淡。
为什么说氛围编程是扯淡?
氛围编程到今天,鼓吹的是一个智能体的黑盒子,帮你搞定编程领域的一切。为什么说这是扯淡,我讲两条最朴素的底层逻辑,大家就能立刻理解。
逻辑一:合取谬误
合取谬误的通俗表达:假设一件事情由 5 个步骤组成,每个步骤的成功率是 90%,那么最终成功率是多少?
答案是:59%(不及格),见下图。
逻辑二:AI 的本质是概率
AI 的发展曾经有两个流派:联结主义和符号主义。我这里不详细解释联结主义和符号主义,简单地说,联结主义呈现的是相关性,是概率;符号主义是因果性,是逻辑。
但是,符号主义失势了,现在的大模型都是基于联结主义的。
上面两条逻辑结合起来分析:软件开发因自身复杂性被称为软件工程,它被视作一个包含若干阶段和过程的流程,远不止 5 个阶段和过程。如果每个过程的执行准确率是90%,那最终结果将是灾难性的!!! AI 能保证单个过程的 100% 准确率吗?AI 的概率本质决定了其不能,这里还没考虑 AI 的幻觉问题,也没算流程上游过程的错误会对下游过程产生的误导。
所以,用一个 AI 黑盒子完成整个软件工程是不可行的。
更进一步说,任何可被称为工程类的复杂领域,让一个 AI 黑盒子包揽所有工作,同样不可行(大家可以想想,市面上哪些吹嘘的 AI 产品,其实是在鼓吹海市蜃楼般的幻想)。
软件工程与 AI 的结合,并非 “AI + 软件工程”,而应是筑牢软件工程地基后的 “软件工程 + AI”—— 在整个软件工程流程中,于多个环节运用 AI 的能力进行赋能。
补充理由:在软件工程领域,系统的可维护性远比系统的创建更重要。在演示 “氛围编程” 类产品时,一群人总会惊叹于 AI 的智能:一句话就能创建出一个可正常运行的复杂电商系统,太厉害了。
殊不知,电商系统第一次被正确创建,其实微不足道;更重要的是系统的可维护性,包括后续对系统的修改、优化、功能升级等。试想,第一次用 AI 生成了一个复杂系统(包括代码),之后我们发现某些地方不合适,手工做了一点小修改 —— 比如系统上线后,修改了某个配置项。这时,如果要增加一个小功能,让 AI 基于之前生成的代码重新生成,它能智能识别我们手工修改的地方并保留吗?
本篇文章仅仅是简单聊聊 AI 与软件工程的结合,给当下的 AI 热潮泼一瓢冷水。这并非 AI 本身有问题,而是我们使用它的方式存在问题。AI 在软件工程领域大有可为,至于 AI 与软件工程结合的正确方式是什么,后续文章我会和大家继续唠嗑唠嗑。
最后,留一个问题共同思考:AI 落地成功的三要素是算力、算法、数据,当前算力与算法都不是核心,数据才是。若想让 AI 在软件工程领域发挥重大价值,应该如何打通软件工程领域的上下游数据?
感谢阅读,如果觉得不错就点个“赞“吧。如果喜欢我的文字,WX关注“鹿爷聊数智化”,一起交流吧。