摘要:开发者如何拥抱这波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也有一些新特性的发布,支持通过智能问答自动获取研发知识,进行代码解释、调试、优化、注释添加等。 如果大家想第一时间体验,可以前往华为云开发者社区参加技术梦工厂活动,
标签:AI,模型,研发,开发者,软件,效率,论道 From: https://www.cnblogs.com/huaweiyun/p/17549953.html