摘要:开发者如何拥抱这波AIGC浪潮?
本文分享自华为云社区《大咖论道,大模型时代软件研发效率革命》,作者:华为云社区精选。
根据GitHub的一项调查,92%的受访开发者正在借助AI编码工具来完成工作和其他项目。另一方面,AI已经通过了大厂L3工程师入职测试,可自如应对数组/字符串、动态规划等技术问题,对应职位年薪18万美元。
大模型正在成为人工智能的新范式,也助推了AIGC的新一波浪潮,由此掀起了软件开发领域的效率革命。
为此,HDC.Cloud 2023开发者社区活动系列直播邀请了知名测试专家&同济大学特聘教授朱少民、Gitee创始人&CTO刘冬、华为云PaaS研发工具首席规划师文老师以及PaaS研发智能化技术专家马老师,4位专家分别从学术、行业、企业/个人开发者的角度各抒己见,围绕当下热门的大模型话题,为大家拨开心头云雾。
精彩话题抢先看:
- 如何看待这一波AIGC的浪潮?会是一场“革命性”的海啸吗?
- 如何去定义软件工程3.0,大模型在软件研发中起到的作用有哪些?
- 大模型对于企业真正的研发效率提升有多少?AI会取代程序员吗?
- 中小企业如何借助AIGC使能的研发工具顺势而上?
- 在这一波大模型浪潮中,个人开发者如何把握机遇?
- 对于软件研发效率革命未来的一些展望
- 当前训练大模型的软硬件成本高,个人开发者的技术理解成本高,该如何面对这样的困局呢?
如何看待这一波AIGC的浪潮?会是一场“革命性”的海啸吗?
朱少民(同济大学特聘教授):经过学术界、工业界20多年的努力,伴随着互联网时代下数据和算法的迭代升级,到了如今大模型时代,AI的应用已经发生了质的变化,我觉得这是一场革命。
文老师(PaaS研发工具首席规划师):原来的算法以及模型规模都比较小,它解决的是中小型的问题。现在大模型能结合很多的数据知识,变成一个广泛的、通用型模型,并且可以叠加垂直领域更高阶的模型,从而带来了质的改变。从研发角度来说,大模型也让整个研发的结构和集成方案发生了变化,为软件研发效率提升带来更多探索和想象的空间。
刘冬(Gitee CTO):首先是震撼于通用人工智能的应用,意味着各行各业都将迎来巨大的机会;同时担心如果不主动学习拥抱这波热潮,就会被时代抛在身后;最后还有点忧虑国内大模型的发展是否能赶得上全球水平。
AIGC在软件研发中起到的作用有哪些?类似于AI辅助编程工具的应用,是对当前软研发体系的革命吗?
刘冬(Gitee CTO):目前在软件研发领域涌现出各种各样的AI编程工具,现阶段AIGC主要是助力开发者提升效率,但未来它可能会帮助开发者完成整个软件工程的开发,现在已经有人试着从简单应用入手,去朝这个方向努力。
朱少民(同济大学特聘教授):有人将大模型时代比作是当年的智能手机iPhone时代,就像iPhone手机改变了我们和手机的交互方式。大模型的出现、AIGC的应用也改变了人机交互方式,我们可以通过自然语言和AI系统交流,它能直接通过对话理解我们的意图,这才是真正的数字化实现。而软件是从现实世界到数字世界的映射结果,软件研发天生是数字化的工作,所以大模型将会对软件研发领域产生巨大影响。
文老师(PaaS研发工具首席规划师):从软件研发层面还谈不上变革,因为它本质上没有改变当前从需求设计、构建测试到发布上线的研发全流程,而且开发者和代码、文档的交付方式也没有发生变化。但是大模型对于软件研发效率的提升,尤其是自动化方面,已经超越了传统工具,这是技术上的革命、效率上的质变。
如何去定义软件工程3.0,大模型给软件开发带来了什么?
朱少民(同济大学特聘教授):1968 年 NATO 会议提出了“软件工程”概念,开启软件工程1.0(SE1.0)时代。到2000年敏捷软件开发宣言的发布,我们进入软件工程 2.0时代。再到今年 GPT-4 的问世,你可以不写一行代码,通过自然语言和AI的交流把软件开发的任务完成,意味着软件工程3.0的诞生。
如果1.0时代的软件形态是一种类似于office的产品,2.0时代的软件形态是一种能够支持持续构建、持续交付的云服务,那么3.0时代软件是作为一种模型存在的,即软件即模型,开启软件开发新范式。通过模型来提供各种服务,自动生成需求文档、产品代码、测试脚本等等,此时生产力和生产关系之间也发生了变化。
很长一段时间里, AI在软件研发领域应用的最大瓶颈之一则是无法理解需求和业务,但现在有了新的突破,通过提示工程(提示词)可以和AI无缝沟通与交流,让计算机理解我们的需求,对于软件研发领域来说是一场革命。
在软件设计层面,AI也有着优异的表现,它可以在不构建模型(画出因果图)的情况下设计出正确的测试用例。以前是我们自己写代码,工具是辅助,现在是AI直接写代码,它可能比人考虑问题更周全,更注意代码规范性和安全性。
综上,当软件研发的生产力达到一定程度之后,那么原有的生产关系必然难以匹配新生产力,则会产生新的研发模式。
刘冬(Gitee CTO):程序员在写代码的过程中会遇到一些“干扰项”,比如随时更改任务状态、和需求方机械化的互动工作等,这些琐碎的事项会影响他们的开发效率。如果AI可以将代码之外的事情自动化,对于开发者来说既能提高效率,也会改善工作心态,让自己更聚焦于具体的开发任务。
回到软件工程领域,大模型可以做的事情很多,最理想的状态是它可以和各种开发工具、平台做到无缝结合,让开发者能够无感知的使用。
文老师(PaaS研发工具首席规划师):多模态大模型的出现大大加强了人工语言的自动介入能力,我们和代码的交互模式发生很大的变化:原来的开发活动需要用标准的编程语言和工具去交互,但现在演变成自然语言,即直接对话就能完成一些代码的交付。
未来在研发人员的工作中,大模型的能力或许可以以一个数字人的形式存在,我们感知不到它是模型或者工具,而是自然地把它作为团队中的一员。这样大模型与开发者的交互又将从语言的间接交互转变“人”和人的交互,对于效率地提升会带来巨大的变化。
大模型对于企业研发效率的提升有多少?它会取代程序员吗?
朱少民(同济大学特聘教授):有数据显示通过AI辅助编程工具,可以让程序员写代码的效率翻一番,以前两个人的工作现在可能一个人就能完成,从这个角度看它确实会淘汰一部分人。但AI不会取代所有的开发者,如资深的架构师、测试工程师、产品经理等角色,依然在软件研发中扮演着重要的作用。另外,当团队规模缩小,大模型的应用还会减少沟通成本,让资深研发人员将更多的时间投入到有价值的工作中。
刘冬(Gitee CTO):虽然AI可以快速准确地完成某些具体任务,如编写代码或方法,但软件开发需要工程化的项目管理,这些是AI所无法完成的。所以,目前的大模型只能作为辅助工具,具体研发效率的提升需要AI和人类协同工作。
文老师(PaaS研发工具首席规划师):产品和软件是生长式的持续演进,一般大企业的软件生命周期长达5-10年。“铁打的营盘流水的兵”,在这个过程中虽然开发人员会一直变动,但他们会积累下丰富的软件经验和知识,覆盖需求理解、架构设计、代码开发、测试用例等。大模型可以充分沉淀企业的这些知识,在诸如代码编写、用例生成这样的垂直专业领域,大幅度提升新人的软件开发效率,提高软件人员的能力下限。
但在整体研发过程中,由于软件工程化的复杂性和领域知识的局限性,目前的效率提升并不会达到非常高的水平。不过随着大模型的成熟和领域知识的不断积累,它在软件开发中的效率提升作用将会更加显著。
马老师(PaaS研发智能化技术专家):从去年开始,我一直在使用我们开发的智能编程助手CodeArts Snap,它可以帮我完成很多事情,切实提高了编程效率,比如支持函数级代码自动生成、自动理解上文语义逻辑完成行级代码生成、提供代码生成推荐提供编程灵感,甚至能在一些更具体的研发活动中形成助力,如代码调试、代码解释、单元测试、知识问答、工具协同等等。
今年在HDC.Cloud 2023上CodeArts Snap也有一些新特性的发布,支持通过智能问答自动获取研发知识,进行代码解释、调试、优化、注释添加等。如果大家想第一时间体验,可以前往华为云开发者社区参加技术梦工厂活动,👉点击链接使用华为云CodeArts Snap插件,实现高效率智能化开发。
中小企业如何借助大模型使能的研发工具顺势而上?
文老师(PaaS研发工具首席规划师):中小企业比较关注效率、灵活性和扩展性,注重产品的快速迭代和交付,他们可以充分利用自己的私有数据和领域知识,将其与大模型和现代工具结合,让自己更聚焦产品的理念和技术的创新,形成具有竞争力的优势。
从技术和工具角度看,我们经历了单体服务到微服务再到云化、数字化的转型,如今又到了以大模型为代表的通用AI阶段,中小企业可以将原本基于云服务的技术栈,转移至基于模型和AI能力的技术栈,从而加速自身的演进。
大模型时代,AI人才的支持至关重要。企业可以适当引入相关领域的人才加速技术积累,充分利用大型云厂商的服务能力,让中小企业的产品得以快速孵化,赢得市场先机。中小企业船小好调头,他们更有可能在这一波AI浪潮中逆势而上,实现弯道超车。
在这一波大模型浪潮中,个人开发者如何把握机遇?
刘冬(Gitee CTO):
1、摆脱焦虑,用积极的心态去拥抱AI这波浪潮;
2、学习AI技术,深入钻研如何在工作中借助AI来提升效率,抱着终身学习的精神follow这波AI浪潮;
3、或许AI会取代程序员的部分具体工作,所以我们更要去思考自身和工作的不可替代性在哪里;
4、AIGC发展得太快,相关的教学数据和材料过于晦涩难懂,开发者的理解成本过高,我们需要探索更加通俗易懂的方式,让大家能够理解和应用AI技术。
马老师(PaaS研发智能化技术专家):我们看到现在AIGC发展得太快了,工业界的应用走在了学术界前面,所以相关的系统教学还不是很完善,等市场气氛稍微平稳后,我相信学术界会从底层原理出发推出一些教学材料。当然我们华为云也会继续开展更多的科普性讲座活动,大家可以持续关注。
对软件研发效率革命的未来的一些展望
文老师(PaaS研发工具首席规划师):大模型的发展一日千里,未来在软件研发领域,研发过程中沉淀的知识将从原有的IT工具进一步下沉到其“内核”中,这种知识的沉淀会随着时间推进越来越深,越来越广。
所以未来整体研发效率的提升潜力巨大,拥抱大模型,将软件开发工具的知识沉淀与大模型的能力结合,借助AI的知识推理能力,我们甚至可以直接通过图片或者音视频的形式来实现产品的开发,非常值得期待。
朱少民(同济大学特聘教授):通用AI的发展会给软件研发带来更多的可能性,企业在大型云厂商的算力支持下,可以基于基础模型去训练更多的垂直场景化模型,软件研发的各个环节如编码、测试、业务分析、评审、项目管理等都有专门的模型来协助我们。
在更高层次上,顶级架构师负责协调、管理和调度这些模型服务(以API的形式呈现),由点及面再到线将模型的能力串联起来,届时软件研发的效能将提高到10倍,真正引爆效率革命。
刘冬(Gitee CTO):类似ChatGPT对话形式在软件工程中并非最佳状态,因为它需要花费大量时间和它进行单独交互。AI在软件工程领域最理想的状态是无感,即开发者感受不到的它的存在,但它又实实在在帮你做好很多具体工作。
如果未来大模型像朱老师说的这样,具备场景化的能力,那么它可以直接与整个研发工具、平台进行深度融合,让用户在使用过程中感受不到AI的存在,从而提高效率,这也是我们Gitee接下来努力的方向。
当前训练大模型的软硬件成本高,个人开发者的技术理解成本高,该如何面对这样的困局呢?
朱少民(同济大学特聘教授):新模型的研究和开发由大公司来负责,中小企业做一些精调或微调(fine- tuning)的工作即可,这样就能减少一定的训练成本投入。
模型发展的方向有两个:一个是朝着更大、更复杂的方向发展,例如5000亿参数的大模型;另一个是朝着更轻量级、小型化的方向发展,可以在手机等设备上进行训练。
所以中小企业如果无法承担大模型的训练成本或资源投入不足,可以考虑使用更小的模型,通过微调来达到更好的效果。
文老师(PaaS研发工具首席规划师):如朱老师所说,一个是模型越来越大,底座越来越厚,另一个是越来越轻量级、小型化,往更低成本的方向发展。未来,模型的训练和运行成本高低决定了软件研发效率提升的大小。优化模型,降低成本将会是我们需要努力提升的方向。
马老师(PaaS研发智能化技术专家):对中小型企业和开发者来说,大模型从微调的层面,比如prompt engineering的层面有非常大的可发挥空间和提升潜力,所以现在对研究AI或者研发效能的开发者来说,都是一个非常好的黄金时代。
最后
大模型对于软件研发效率的提高体现在多个维度,它改变了开发者和软件的交互方式,开启了软件研发的新范式,基于AI的自动编程正在成为软件的未来。
CodeArts Snap作为华为云推出的首个AI代码辅助编程工具,致力于打造现代化开发新范式。通过将自然语言转化为规范可阅读、无开源漏洞的安全编程语言,提升开发者编程效率,助力企业快速响应市场需求。
👉点击链接,快速体验,了解大咖论道更多精彩话题讨论和观点碰撞
点击关注,第一时间了解华为云新鲜技术~