大家好,我是袁庭新。今天分享一篇关于企业如何高效落地研发智能化的过程的相关内容。
作为未来的软件开发工程师,我们不光要学习这些先进的AIGC生产力工具,还得深入了解企业里智能编程的那些实际做法和应用情况。只有这样,咱们才能在技术的大潮里勇往直前,成为带动社会发展和产业升级的主力军。
科技公司最关注的就是研发效能,那AIGC对企业的研发效能有什么样的影响?可以从三个维度来探讨,研发效率、协作效率和个人效率。先说人员技能吧,这可是效率的基础,也是提高效率的突破口,AIGC能帮忙提升开发人员的本事,让他们补上技能上的短板。然后是协同消耗,我们都知道,软件架构越复杂,组织也就越复杂,合作起来消耗就越大,但是AIGC能让流程变得更规范,打造出超级个体,也就是让每个人都能发挥最大作用。最后一个就是持续提高效率了,AIGC可以将非结构化的数据结构化,将结构化的数据模型化,随着工具的不断升级,构建企业的数字资产。
软件工程是什么?软件工程是是人类历史上第一次大规模集体智力协作活动。这里隐含两个关键词,第一个是大规模协同活动,第二个是智力活动。大家知道智力活动有个显著的特点是不可见性,所有的知识都装在各位的脑子里,这也就是为什么软件开发行业要进行专业的分工,因为每个人的智力是有限的。
如果要提升研发效能,这是一个集体协作、知识共享的工作,我们能不能把隐性的工作通过AIGC显性化。比如说,我同事写的代码我知道它是什么,企业里的规范我也知道它的标准是什么。这样,对我来说在软件开发的协同过程中就不会有信息的壁垒。这就极大的提升了我的工作效率。
在大语言模型日益成熟和广泛应用的背景下,人工智能带来了新的人机协同模式。可以分成三个阶段,第一个是大语言模型是一个Copilot阶段,这个阶段大语言模型不会改变软件工程的专业分工,但可以增强领域专业技术,AI研发工具辅助人来完成任务。第二个阶段是大语言模型是一个Agent阶段,它变成了单一职能专家,能够自主使用工具完成预定任务。第三个阶段是大语言模型是一个Multi-Agents阶段,软件开发是一个大工程,我们可以把它拆分成多个模块,再把每个具体的模块交给某个Agent专家来完成开发,这个大工程就变成了由多个Agent互相协作来完成这项复杂的工作,人就负责创意、纠偏及确认。这就是AI程序员要干的事情。
随着我们面临的问题越来越多,技术也越来越厉害,智能化研发工具能干的事儿就越来越广了。一开始呢,它就像个帮手,能帮我们写点代码,这个阶段咱们就叫它Copilot阶段。然后啊,它就能自己搞定一些任务了,像个能干的小助手,这个阶段就是Agent阶段。再往后,它就更牛了,能自己研发新功能,好像有好多小助手一起合作一样,这个阶段就是Multi-Agent阶段。这三个阶段,每个都有它们专门的智能化研发工具来帮忙。
在企业内部完成智能化工具建设,如何从企业级到工程级,全面覆盖各类研发场景呢?智能化工具的建设路径就包括:需求协作、代码生成、异常排查、测试辅助,再到代码审核、文档辅助。比如说,在代码生成阶段就包含代码框架生成、API调用生成、配置文件生成、函数变量命令等。在代码审核阶段就包含,自有规范审核、潜在风险提醒、代码改进建议、提交前代码评审等。企业研发智能化全面的覆盖到了软件开发的各个阶段。
AI辅助编码对于程序员的工作效率提升很大。 来看一份程序员的时间分配数据,在日常工作中,程序员花费三分之一的时间编写新代码或改进现有代码(32%);花费35%的时间来管理代码,包括代码维护(19%)、测试(12%)和响应安全问题(4%);另外23%的时间花在会议以及管理和运营任务上。引入AI编程辅助工具后,开发者的个人工作效率至少提升11.2%,这个数据是怎样得出来的呢?我们可以使用“开发者的编码时间占比 x AI代码生成占比”公式来计算出“个人工作效率提升”的数值。并且随着人工智能的不断发展,开发效能将持续被提升。
现在的科技公司都在使用智能编码助手,像通义灵码这样的智能化工具已成功入职多家金融、汽车、新零售、互联网等企业,来帮助企业实现研发智能化升级。还是以通义灵码为例,我们来看下企业是如何评价通义灵码的价值的,哈啰集团已全面接入通义灵码专属版,与自研产品融合,开发进入智能化创作时代,AI代码生成占比超25%,研发效率提升12%。中华财险是一家积极拥抱“云+AI”的金融保险企业,通义灵码已应用到他们的内部代码研发场景了,用于提升开发效能,使用的研发人员使用占比60%,问答准确率90%。
AI程序员实际落地比学术探索更困难。面临的问题非常的多,如何进行软件过程数据构建、项目感知(项目代码量很大,如何在输入长度有限的情况下拿到足够的上下文)、解决方案生成(如何规划整个解决方案的生成,并保障代码能够自动化合并到项目)、缺陷修复。还有像模型效果、响应时间、可干预性、推理成本等。都是摆在我们面前需要攻克的难关。
尽管AI程序员在落地过程中面临诸多挑战,但我依然持乐观态度。从需求分析阶段、系统设计阶段、软件开发阶段、软件演化阶段、软件维护阶段,AI程序员将成为领航者。我大胆预测下未来:软件开发将从依赖团队配合(人),逐步过渡到,依赖超大算力(机器),逐步形成“机器开发,人审核”的智能化软件工程范式!
交流学习,链接作者: