大模型背景下软件工程的机遇与挑战

本文探讨了大模型背景下的软件工程3.0,重点关注AISE(AI Software Engineering)的发展,包括AI for SE和SE for AI。随着LLM在代码生成和补全中的应用,AI在软件开发中扮演越来越重要的角色。同时,文章讨论了面向开发者的编程提效、高粘性编程体验的构建以及基于混元大模型的AI代码助手的行业产品。然而,大模型的可信性、评测挑战和全流程覆盖仍是待解决的问题。
摘要由CSDN通过智能技术生成

点击链接了解详情

img


本文作者:汪晟杰

导语:AISE(AI Software Engineering)有人说是软件工程 3.0,即基于大模型(LLM - Large Language Model)时代下的软件工程。那么究竟什么是 AISE,他的发展历程对软件工程产生怎样的变化。本次主题文章会分为五大部分:
1、软件工程 3.0 与 AISE
2、基于 LLM 的代码生成
3、应用形态思考
4、机遇与挑战
5、小结

软件工程 3.0 与 AISE

AI 时代下的软件工程

软件工程的发展可以分为三个阶段:软件工程 1.0、软件工程 2.0 和软件工程 3.0。在这三个阶段中,AI for SE(人工智能在软件工程中的应用)的发展历程如下:

软件工程 1.0

在这个阶段,软件工程主要关注结构化编程、模块化设计和数据结构。主要集中在基于规则的 MIS 专家系统、模式识别、平台型工具等方面。当时如 Borland、Sybase 等产品,我在 05 年加入 Sybase PowerBuilder 和 PowerDesigner 产品组,负责过建模工具、MIS 系统开发平台、UEP 移动开发平台工具集(后面贡献给到了 eclipse 开源组织)。这些产品当时试图解决软件工程下复杂应用投入产出高的问题,后来推出面向组件开发范式(OOC:面向组件编程)来提高开发效率,快速发布上线,那个时候还不能称为 IDE,我们还是称 RAD(Rapid Application Development)。当时我们也探索过 Big Code 的语义搜索能力也逐步开始研究等,但受限于当时的计算能力和 AI 技术水平,效果有限。

软件工程 2.0

软件工程逐渐从结构化编程转向面向对象编程。AI for SE 的应用范围和技术水平得到了进一步发展。例如,基于遗传算法的优化技术被用于软件设计和测试;神经网络技术NLP被用于软件缺陷预测;自然语言处理技术被用于需求分析和知识表示等。此外,软件工程 2.0 更聚焦于流程统一,例如一些产品如 CODING DevOps、Gitlab 等。

软件工程 3.0

在这个阶段,软件工程的关注点从面向对象编程转向云计算和 AI。随着 AIGC 技术的这一年的高速发展,以 LLM 为首的面向大模型的软件工程体系也被国内外提出,如 GitLab Duo、Github Copilot X 等,使得 AI for SE 的应用前景变得更加广泛。例如,深度学习技术被用于代码生成和补全、缺陷检测和自动修复;数据挖掘技术被用于软件过程改进;自然语言处理技术被用于需求分析、代码审查和文档生成等。

总之,从软件工程 1.0 到软件工程 3.0,AI for SE 的发展历程可以概括为从初步尝试到逐渐成熟,再到广泛应用。随着 AI 技术的不断进步,AI for SE 将在未来的软件工程领域发挥更加重要的作用。

img

AI for SE 和 SE for AI

AISE,我先用中文「智能化软件工程」来定义,实际上他有两个方向:一个是 AI for SE,另外一个方向是 SE for AI。

这两个区别,我们先问下 ChatGPT,看看 AI 是怎么解答的:

img

可见,软件工程 3.0 就是 AI for SE,解决软件工程 2.0 流程中的 AI 化,促使效率提升,流程化简,让 AI 在关键节点赋能开发。

SE for AI 是另一个维度,即思考软件工程流程体系怎么来实现智能化软件应用,例如 ML-Ops 流程化 AI 应用研发。

这里我们先围绕 AI for SE 进行展开,至于智能化应用系统,如最近很火的面向AI的 Mojo 语言、更面向 AI 化的应用框架等等,我们以后再进行阐述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值