我用GPT-4编写了Python代码,成功地完成了网站数据抓取!”一位我们俗称的软件开发“小白”说到此,喜悦之情溢于言表。
对此,作为“老司机”的程序员们又会作何感想呢?有的人愿意积极拥抱变革,坚信AI大模型将有效提升软件开发的效率和体验;也有的人抱怨这是“灭顶之灾”,自己的饭碗不保。这让我联想到了“半杯水的故事”:悲观的人会叹息,“唉,只剩半杯水了”;乐观的人会兴奋地说,“看,还有半杯水”。
现在,AI大模型其实就是那“半杯水”,从诞生之日起就在争议中前行。但这显然不会阻碍更多人的期盼,AI大模型终究有一天会变成“一杯水”,就像华为所说的,AI for Industries,赋能甚至颠覆各行各业,软件开发产业也不例外。
软件工程3.0大幕已经拉开
2021年左右,大模型在软件开发圈里已经风声水起,但是普通大众对于大模型是什么仍一头雾水。直到去年底、今年初ChatGPT的爆火,能聊天、会作诗的AIGC开始走入寻常百姓家,站在这个时间节点重新审视华为云智能开发助手CodeArts Snap的发布乃至整个软件开发产业的演进,人们才猛然意识到,原来变革早就已经开始了!而AI大模型正是软件开发产业变革最重要的推手,也是抓手。
回溯现代软件工程的历史演进,1968年召开的NATO会议确立了软件工程学科的诞生,也正式开启了软件工程1.0时代的探索之路;直到敏捷软件开发宣言的发布,软件工程正式迈入2.0时代,突出强调团队协作,实现更快的产品交付,敏捷、CI/CD、DevOps等成了关键词;如今,AI大模型的出现将软件工程推进到3.0的崭新阶段,软件开发走向数字化、智能化成为大势所趋。
走过半个多世纪的风雨历程,软件工程将面临一次彻底的颠覆。2021年,Gartner发布了企业机构在2022年需要探索的12项重要战略技术趋势,生成式AI位居榜首,并预言生成式AI可用于多种活动,而创建软件代码首当其冲。如今,像华为云CodeArts Snap这样以智能化代码生成为核心的提高开发者开发效率的AI产品正不断涌现,它们对于软件开发产业的重构,及其蕴藏的巨大商业价值引发了市场的普遍关注。
大模型时代,软件开发将何去何从?综合之前与同济大学特聘教授朱少民老师的交流可以这样归纳:软件工程3.0将以AIGC、数字化为特征,以模型和数据为本,凸显人机交互智能。具体来说,软件开发人员将基于大语言模型这一底座,快速生成所需的代码和其他所需内容,整个开发流程由模型驱动,真正实现所需即所得。
在由大模型驱动的软件开发活动中,软件开发中新的生产关系必须更好地适配新的生产力要求。从开发、测试、运维到运营的整个流程中,只需产品专家、架构专家和QA专家三类关键角色,即可高效完成开发。可以想见,因为大模型的加持,未来大量的软件开发工作将由AI协同完成,不仅能够实现极速开发迭代、智能高效的测试,还能做到无人化运维和运营。
软件工程3.0才刚刚拉开序幕,大模型驱动的软件开发不仅仅要求技术、工具层面的创新,更需要思想上的变革。从实操和应用体验的角度来看,大模型的出现似乎是降低了软件开发的门槛,“人人都可以成为软件开发者”从梦想照进了现实;而从整个软件开发体系和工程演进的角度看,大模型实际上提升了开发的门槛,软件开发者不仅要会用大模型,有时还要根据实际需求对大模型进行微调,更进一步,甚至要精通整个业务流,能够将基于大模型开发的工具融入到端到端的开发流程中,真正实现生产力的提升。
叠加智能 CodeArts重生
Snap!打一个响指,软件程序就开发完成。这正是华为云打造智能开发助手CodeArts Snap的初衷。就像华为云PaaS服务产品部部长徐峰所言,“让每个开发者享受写代码”,使得开发者事半功倍。
华为云PaaS服务产品部部长徐峰介绍CodeArts重塑软件开发
毋庸置疑,在大模型时代,数字化技术与AI技术将深刻地影响开发方式与所需的相关技能和工具。而开发者最直接的感受就是大模型强大的代码生成能力,以及为自动化测试等带来的极大便利。举例来说,Github声明,其内部团队30%的新代码是在Copilot的帮助下完成的;在写Web服务端的对比实验中发现,使用AI辅助编程工具的一方平均可减少55%的开发时间。作为云厂商中首个国产化的AI代码辅助编程工具,华为云CodeArts Snap致力于打造现代化开发新范式,通过将自然语言转化为规范可阅读、无开源漏洞的安全编程语言,从而大幅提升开发者的编程效率,助力企业快速响应市场需求。由此可见,AI辅助编程工具对于减轻开人员的工作压力、降低企业开发投入成本、提高编程效率具有非常重要的价值。
从Copilot到CodeArts Snap,它们作为各自产线中的智能引擎或者说AI助手,让开发者真正领略到了“智能化”这一基因的魅力和强大。以华为云CodeArts Snap为例,它是华为云将CodeArts研发工具与盘古研发大模型相结合,训练了760亿行精选开源代码、1300万公开的经典技术文档打造出的智能开发助手,目前已经发布了智能生成、智能问答、智能协同三大核心功能及九大主打特性,具备快速生成代码、生成测试用例、多轮技术问答、自动化的云服务/API调用等能力。
由于华为云CodeArts Snap具有注释编程、多语言支持、自动化部署、安全可靠等特质,所以作为一个智能插件,当CodeArts Snap被嵌入到整个CodeArts平台上,让覆盖软件开发全流程的CodeArts已经发布的16款工具都有了“智”的飞跃,从一个数字化开发平台演进到智能化开发平台。
实际上,华为云对于CodeArts Snap有更多、更长远的期待,所以提出了“1+N”的战略。“1”代表CodeArts Snap本身,即依托其自身的特色和功能,最大程度地解放集成开发环境下的编码人员,减轻其工作压力;而“N”则代表需求检查、核入、构建、测试执行、测试分析、问题发现、问题定位、运维运营、技术配置、技术支持等所有环节和角色,相应的每一个软件工具在融入CodeArts Snap的“智”力后将会实现重构。这类似于微软的Copilot战略,Microsoft 365 Copilot已经融入到整个Office的产品中,包括PPT、Word、Excel甚至是Windows本身。因此,华为云CodeArts Snap不仅仅是一个工具,更代表了大模型技术与传统软件工具的融合。
当前,华为云CodeArts Snap正处于免费邀请测试中,国内的很多高校、银行等客户已经在深度试用中,反馈良好。
纵观CodeArts,它是集华为自身多年的研发实践,以及前沿研发理念和先进研发工具于一体的研发云平台,也是一站式、全流程、安全可信的软件开发生产线,开箱即用,让软件开发简单高效。可以说,CodeArts引领软件开发走上了云化、数字化的道路。而CodeArts Snap的出现,在CodeArts平台之上实现了“叠加效应”,使得整个CodeArts变得更加智能,宛若重生。
未来已来 重塑软件开发
由于数字经济的快速发展,以及市场不确定性的进一步增强,导致企业更加迫切希望加速创新与迭代,以便更快地响应市场和客户的需求。这就要求企业的应用研发不断提升效率、降低成本、控制风险。
越来越多的实践证明,AI大模型的应用能够有效帮助企业提升软件开发流程和效率,改善用户体验,进一步增强竞争力。在大模型时代,企业必须随需应变,变革传统研发方式,充分发掘和培养新的技能,持续创新理念、方法和工具,开拓新的价值和可能性。
源于华为云盘古大模型的CodeArts Snap,把软件开发中的脏活累活全部接管,让软件开发更具智能和效率。毫无疑问,大模型正在重塑软件开发的形态。不过,我们也必须清醒地认识到,企业级开发的复杂性虽然需要AI工具的助力,但它还不能完全替代人的工作。
另外,AI始终是一柄“双刃剑”,在带来效率提升的同时也蕴藏着安全或其他潜在的风险。有统计数据显示,部分厂商的AI辅助编程工具所生成的代码中,40%左右存在网络安全缺陷。因此,华为云CodeArts Snap十分强调安全性,采用了多重安全措施,保障生成代码的安全性和可靠性。
尽管还有需要持续完善之处,但是大模型的风口已来,软件开发必将重构。