中国电子商会信息工程测试专业委员会主办
今天是 2024年 05月 15日 星期三
中国电子商会信息工程测试专业委员会
Integrity archives
诚信档案
技术前沿 您的位置:主页 > 诚信档案 > 技术前沿 >
软件工程3.0实践之路(十):总结与展望
2024-04-12 返回列表

图片

软件工程3.0实践之路》系列文章要有一个总结,也正好是第十篇,十全十美。展望未来,心中汹涌澎湃,有无限的想象空间。

先快速回顾一下前面9篇文章:

 

如果要从内容去总结,我甚至可以将每一篇文章转换成PDF文件,再提交给Kimi.ai去总结,我的确试过,效果很好。但这不如看前面各篇文章,我还是乐意从软件工程3.0(SE3.0)价值观出发,分别介绍SE3.0之下的软件开发新范式、开发原则,以及流程再造、组织变革,最后给出优秀实践、落地实践图。

1.  SE3.0价值观

价值观体现在:软件工程3.0宣言 之中,在SE3.0,我们更关注人机交互智能、数据、模型和提出好的问题。有了自然语言对话方式的交流,人机交互更方便,而且大模型(LLM)也开始理解我们所处的物理世界,人机交互智能的威力巨大无比。

图片

2. SE3.0开发范式

过去一年,SE3.0开发范式讨论最多,大家都熟悉了,即“模型驱动研发、模型驱动运维”。为什么不提“AI赋能软件研发” 或 “模型赋能研发”呢?因为AI赋能研发,几十年前就发生了,虽然那时AI能力还比较弱或很弱,但已经实实在在在赋能开发、测试等。今天不一样,也就是从过去“软件研发+AI”向“AI+软件研发”转变,即过去AI只是辅助工具或手段,提升一点效率或质量不改变研发的流程、组织等,一切照旧,但今天AI不再是一种辅助工具,而是成为一种核心力量,会改变流程、改变组织结构等,进入一个崭新的时代。虽然目前你还没看到这样的结果,是因为SE3.0目前处在早期,但每天发生的事情、出现的变化可以让我们感受到这点。

图片

之前,我曾提到每一个研发人员都有一个AI助手,包括BA助手、设计助手、编程助手(Copilot)、测试助手、运维助手等,但今天来看,不一定是助手,还要看研发人员的能力水平,而且不一定是一对一的关系,可以是一对多的关系,一个超级个体可以拥有多个AI智能体(比用助手更恰当一些)。

  • 如果研发人员能力很强,AI智能体是研发人员的助手,而且他可以拥有扮演不同角色(如架构师、测试工程师、开发工程师等)的多个智能体;

  • 如果研发人员能力中等,和AI智能体构成伙伴关系,可以一起进行结对设计、结对编程、结对测试等;

  • 如果研发人员能力水平比较低的话,AI智能体倒是人类工程师的师傅、教练或顾问,指导人类工程师干活。

 

3. SE3.0开发原则

现在基于SE3.0价值观和开发范式,总结出一些开发原则感觉不够靠谱,开发原则最好是在实践中不断探索、总结出的。但是我们可以抛砖引玉,激发大家去思考和总结,基于自己的经验总结出来的原则分享出来。

  • 尽早尽快地把LLM和AI工具用起来,实践出真知;

  • 充分重视数据的价值,从数据内容和格式的定义开始,全面做好数据采集、管理、治理等工作;

  • 提示工程是软件工程中新出现的一项工程,要加强这方面的建设,用好提示词,善于引导大模型;

  • 不是抛弃软件工程1.0和2.0,而是将SE3.0构建在其基础之上,也意味着过去的工程能力、平台工程等都能助力企业的AI能力;

  • 可以从自然语言直接到代码,但设计依旧需要,架构更重要;

  • 从需求、设计、编程、测试到运维,全生命周期都可以借助大模型来驱动,以提升软件研发的效率和质量;

  • 持续提升算法和模型的能力和性能,持续优化所消耗的算力;

  • 有必要持续重构组织和流程。

 

4. SE3.0流程再造

说到流程,我想起了自己去年在AiDD峰会深圳站致辞中开头的一页slide:LLM加速了价值创造过程,之前从数据到智能,需要经过信息转化、知识转化,再到洞察,才能到智能(智慧),今天简单了,借助LLM直接从数据到智能,也就是前面提到,我们可以直接从业务需求到代码,中间省略了设计。

图片

图片

传统(SE1.0)的流程,按部就班执行,从需求分析、设计、编程、测试到交付,一个一个环节进行,每一个环节不可少。到了SE2.0,敏捷的流程就相对灵活,从需求到交付,中间会经过一个持续设计、持续构建、持续集成、持续测试、持续部署等一个持续的、融合的过程。

在SE3.0,这种持续和融合会更加凸显出来,特别是当超级个体出现、多个智能体能够很好协同工作的时候,设计、构建、集成、验证等工作的边界更加模糊,流程更加高度自动化。过去,我们常常也提自动化,如测试自动化,其实不能说自动化,只能说半自动化或测试执行自动化,甚至连测试执行都不够自动化。未来在大模型和平台工程双层能力加持下,从需求到验证可以实现真正的自动化,如验收标准生成、测试用例生成、测试脚本生成等等,才真正做到自动化测试。

认知、协作发生革命性变化,从问题到答案的最短路径会不断被缩短、被加速。

5. SE3.0组织

这可以参考:软件工程3.0实践之路(九):LLM驱动组织变革,正如前面所说,超级个体会出现,研发团队规模会更小,更关注人机交互智能的充分发挥,将人也视为智能体,构建虚拟团队,形成多智能体的协同工作,完成软件研发任务。

6. 落地实践

落地实践,参考前面9篇文章,从指令微调、上下文学习、RAG技术应用、提示工程、智能体构建、AI/LLM平台构建等来逐步完善LLM落地实施,从需求分析与定义、架构设计和UI设计、编程、测试、运维等全生命周期的各个环节落地。每个公司结合自己的实际情况,考虑到人才、数据、算力等条件,选择合适的应用策略,设计自己的落地路线图,逐步实现智能化的研发,将研发效率提升十倍、百倍。

7. 展望未来

软件工程3.0的提出和实践,标志着软件研发领域的一个重要转折点。随着人工智能(AI)和大型语言模型(LLM)技术的不断成熟和应用,软件工程3.0的未来前景可以从以下几个方面进行展望:

  • 自动化和智能化的提升:软件工程3.0将推动软件开发流程的自动化和智能化,从而显著提高研发效率和质量。LLM技术将在代码生成、代码补全、测试用例生成、缺陷定位与修复等领域发挥重要作用,减少重复性劳动,让开发人员能够专注于更高层次的创造性工作。

  • 组织结构和工作模式的变革:随着LLM技术的应用,软件研发团队的结构和工作模式将发生变化。一些初级和中级的研发岗位可能会减少或消失,而需求分析、测试和项目管理等高端岗位将变得更加重要。同时,开发者与AI助手的协作将成为常态,形成人机协同的工作模式。

  • 超级个体的兴起:软件工程3.0可能会催生“超级个体”的出现,即少数具备高度技能和AI驾驭能力的个人能够独立完成传统上需要多人团队才能完成的工作。这将推动个体工程师的价值最大化,并可能改变软件行业的人才结构和培养模式。

  • AI伦理和安全性的重视:随着LLM技术的广泛应用,如何确保AI的伦理性和安全性将成为软件工程3.0必须面对的挑战。企业需要建立相应的规范和流程,确保AI技术的应用不会带来安全风险和伦理问题。

  • 跨领域的融合和创新:软件工程3.0将推动软件技术与其他领域的深度融合,如网络、汽车、制造等,从而催生新的业务模式和创新产品。软件将更加深入地渗透到社会的各个层面,推动各行各业的数字化转型。

  • 持续的学习和适应:在软件工程3.0的背景下,持续学习和适应新技术的能力将成为软件工程师必备的素质。随着技术的快速发展,工程师需要不断更新知识体系,掌握新的工具和方法,以适应不断变化的工作环境。

总之,软件工程3.0预示着一个高效、智能、协作和创新的软件开发新时代。它将为软件行业带来深远的影响,同时也提出了新的挑战和要求。企业和个人都需要积极适应这一变革,把握机遇,共同推动软件工程的发展。

二维码
中国电子商会信息工程测试专业委员会 电话:010-87660482 传真:010-87660482 邮箱:ceietn@sina.com 地址:北京经济技术开发区博兴六路17号院1号楼3层(100176)
Copyright © 2021-2027 中国电子信息工程与测试网 版权所有 主办单位:中国电子商会信息工程测试专业委员会 技术支持:电设信科(北京)技术有限公司 备案号:京ICP备11002915号-001