(软件工程1.0、2.0和3.0的定义)
自从2023年3月22日——我提出软件工程3.0之后,我陆续写了一些文章,例如:
“软件工程3.0”之下软件开发范式
软件工程3.0宣言(附演讲PPT)
10倍效能不是梦:“软件工程3.0”之下软件研发
关于“软件工程3.0” 三大支柱和两点说明
等,而且,“软件工程3.0” 也相继被华为、腾讯、中兴等大厂,以及中国信通院、应用现代化产业联盟等机构或组织所接受。
但 “如何落地实施软件工程3.0” 是许多企业所关心的。从宏观流程角度去看,其实这个过程比较简单,即在软件研发和运维之前,先训练、部署自己的软件研发大模型和运维大模型,然后再进行研发和运维。
(软件工程3.0的开发范式)
从宏观技术架构/框架看,可以分为4个层次:
(LLM赋能软件工程的技术框架)
但具体如何做,我们需要多篇文章逐步介绍,这也就是本文标题为什么要加上“(一)”的原因,后续会从业务需求、用户需求出发,逐步深入到需求分析与定义、技术架构/UI/功能设计、代码补全/生成/解释/评审、测试设计辅助/测试用例生成/测试脚本生成、缺陷定位与修复、运维监控(日志分析),逐步展开介绍在软件研发和运维活动中如何运用大模型。
之前「2023年软件研发应用大模型」国内现状调查 (关注本公众号,在消息中输入“应用LLM现状”获取)的结果看, 国内超过2/3的团队在软件研发团队中使用大模型(LLM)技术,而且在软件开发的各个生命周期,LLM技术都发挥了作用,为提升软件研发的质量和效能带来显著的作用。
(来源:AiDD组委会和本公众号等的《2023年软件研发应用大模型-国内现状调查报告》)
根据中国信通院的调查数据看,软件生命周期也被全覆盖,而且效率提升也明显,需求、运维提升20-30%(中位数)、开发、测试的效率提升更明显,超过40%(中位数)。如果看最大值,超过了70%,接近100%。
(来源:银弹案例数据、中国信通院发放的调查问卷数据、企业走访调研数据等)
不论是从效率提升还是从企业应用面来看,软件开发和软件测试是普遍采用LLM技术、效果好的领域。
(软件工程各阶段AI技术应用比例,来源:银弹案例数据、中国信通院发放的调查问卷数据、企业走访调研数据等)
如果进一步去看软件研发、测试应用LLM技术的效果看,LLM在编程上的应用,“代码补全”、“函数级代码生成”分别排在第一、第二的位置(均超过55%)。其次,分 别是代码修复、代码评审、遗留代码解释、代码优化等。代码采用率超过30%的比例达到了36%,效率显著提升(超过20%)的比重达到46%以上,LLM在编程环节获得良好收益的可能性有望达到80%。概括起来,LLM在编程 上的应用值得去投入。
(来源:AiDD组委会和本公众号等的《2023年软件研发应用大模型-国内现状调查报告》)
(来源:AiDD组委会和本公众号等的《2023年软件研发应用大模型-国内现状调查报告》)
LLM在测试应用上,生成测试用例遥遥领先(超过了代码补全),达到了62.9%。其次是生成测试脚本。测试效率提升明显的(超过20%)比重达到了43.7%,比开发略低(开发是46%)。
(来源:AiDD组委会和本公众号等的《2023年软件研发应用大模型-国内现状调查报告》)
(来源:AiDD组委会和本公众号等的《2023年软件研发应用大模型-国内现状调查报告》)