软件工程3.0实践之路(九):LLM驱动组织变革

软件工程3.0 被提出来之后,各种大模型陆续开源,如Meta Llama、Google Gemma、马斯克的Grok、Databricks的DBRX等,各种编程助手GitHub copilotCodeArts Snap、Comate、iFlyCode、CodeGeeX和测试助手TestAgent、TestPilot 等相继推出,还有像LangChain、ChatDev、AppAgent、Devin、AutoGen、DevAuto 等基于智能体的研发平台/框架也相继推出,大模型(LLM)的能力表现逐渐提升,以及RAG技术的引入,LLM幻觉问题得到极大的缓解,tokens的长度也越来越不是问题(如很火的Kimi就支持200万tokens),总体看,LLM技术日趋成熟,越来越多的人相信,软件研发的范式正在发生变化

图片

在AI和LLM驱动之下,软件研发的范式已经发生了变化,自然也会驱动组织发生变革。 面对这样的技术发展和组织变革,我们不禁要问:组织变革将我们带向何方?

为了写这篇文章,前两周也发了几篇文章预热一下,让大家了解大模型对软件研发人员或工作岗位的影响。

其实,关于大模型时代的人和组织,综合之前这方面专家和我在AiDD、QECon、K+峰会上的一些分享,以及最近的深度思考,将未来组织变革概括为以下4点。

1. 哪些角色会消失?一些初级的研发岗位会消失,研发中间的某些职位会消失,两头的职位(需求和测试)不可或缺。

图片

(华为AI算法科学家马宇驰在AiDD2023上的分享 )

2.开发者和机器人(如AI助手)之间有怎样的关系?之前认为AI机器人是助手、副驾驶,所以喜欢用Copilot,但我觉得看谁强,很有可能AI机器人超过80%的研发人员,所以对这些开发人员来说,机器人是人类的导师。只是许多人会强调,不能让AI背锅,而是我们的工程师背锅,需要我们工程师决策,所以机器人只能是助手。如果简单地看两者关系,可以看成是伙伴关系,那么过去难以执行的结对编程、结对测试,未来反而成为常态,只是人-机(非人-人)结对编程、结对测试、结对设计、结对需求分析等。之前华为云 代码智能技术专家申博有一个分享,展开讨论两者之间的关系,比较全面地描述了两者之间的关系。相信未来的代码编程助手不仅能力越来越强,而且具有自主学习的能力,各种关系都会存在,不仅仅是助手。

图片

(华为云 代码智能技术专家申博在2023K+峰会上的分享)

甚至我们可以把AI助手(暂且叫助手,它可以是智能体、机器人或数字人)当作外包资源来管理,根据公司团队需求,引入多少外包资源,完全取决于公司内部人力情况。如果降本增效压力没有那么大,可以少引入AI助手,如果降本增效压力大,那么多引入AI助手。其次,还要看内部人员的能力,能否驾驭LLM和AI助手的能力,包括数据的管理、知识库的建立、精调/微调技术、提示工程能力等,来决定如何引入AI助手、引入哪些AI助手。这里说的AI助手,不限于编程助手,还包括文档助手、业务分析(BA)助手、测试助手、运维助手等。每个企业需要拥有一支小型的内部团队来指导和驾驭AI助手构成的团队,并确保AI编码输出符合公司的整体战略规划和长远发展目标。

图片

(作者在去年AiDD峰会上的分享)

3.把人-机关系扩展,其实会成为智能体群(人也是智能体)协同工作的关系即不是单个人和单个机器人的关系,而是多个工程师和多个机器人之间的协同工作关系。这类研究、探索和实践,体现在AutoGTP、ChatDev、AutoGen、AutoDev等框架上。

图片

(AutoDev工作原理示意图)

而且这种自动化程度还可以不断提升,从现在半自动化的结对工作(AI作为副驾驶存在),到全自动化的研发协同工作(相当于自动驾驶),AI智能体( agent)将会接收需求、编写代码、修复错误并将最终产品部署到生产环境中。之前我们可能会想,这样的场景会在5-10年后出现,但Devin的演示证明了我们可能错了,尽管它现在只能执行简单的开发任务,但半年后可能会像AutoDev那样完成复杂的工作。

图片

(从半自动的助手升级为全自动的智能体)

4. 超级个体是否出现?在软件工程2.0时代,敏捷开发团队是2-pizza团队,团队人数少,低到几个人,而且是全职能的特性团队。在软件工程3.0,研发团队是否可以进一步缩小,是否有可能出现一个人或两个人的团队?完全有可能。虽然一个人(超级个体)也许还面临很大困难,例如业务用户在没有软件开发人员协助的情况下完成产品开发,非常有挑战。系统的分解和对生成的代码进行review,估计不是几天就能掌握的,即使有LLM帮助。但很可能存在两个人的团队——业务专家和技术专家组合的团队,业务专家可以从目前的BA、产品经理转型过来,技术专家目前是存在的,或者从目前的架构师、资深开发人员等转型过来。他们两个人联合起来,并借助LLM(含编程助手、测试助手等),差不多无所不能,完成需求定义、架构设计、代码生成和优化、测试与验证等工作,直至交付。研发过程中,不清楚、不懂的,可以问LLM,LLM输出的结果,两个人是可以review、验证或判断的。如果未来有更好的智能体,独立扮演不同角色,生成的代码有智能体review,多智能体协作,人类超级个体又善于学习、善于思考,一个人就是一个团队,也不是不可能的。超级个体和多个LLM 智能体协同工作,完成下列任务:

  • 收集业务需求,确保软件解决方案能够满足业务目标

  • 细化这些需求,使其能够被转化为具体的代码实现

  • 与设计和产品方面的智能体交流、协同工作,共同制定解决/设计方案,并制定实施策略,并不断完善设计细节

  • 搭建必要的基础设施、进行配置设置、准备模板代码等前期工作

  • 生成编写代码并进行测试,将设计方案转化为功能性的软件

  • 理解并修复代码中的问题,生成文档以支持代码的维护和理解

  • 将软件部署到生产环境,确保其能够在实际运行环境中稳定工作

  • 应对生产环境中出现的紧急问题,确保系统的稳定性和可靠性

AI智能体是我们的得力助手,也是我们的竞争对手,会不断地从人类开发者手中夺走工作。未来,大部分的软件研发工作由基于LLM构建的机器人/智能体来做,估计3/4的工作可以交给机器人/智能体来做,1/4的工作交给超级个体或资深的研发人员完成。

图片

但也不要着急,好消息是软件定义网络、软件定义汽车、软件定义制造,软件将渗透到每个领域,这样的话,会诞生更多的软件研发工作,即原来那张“饼”会变得很大,即使机器人抢走了我们3/4的工作,但总的工作翻了10倍,那么软件研发工作留给人类的岗位数量没有减少,反而增多了。

图片

5. 总结

  •  未来业务价值和结果验证更为重要,在组织上表现为抓住两头人员的能力建设,定义好的产品,确保交付的质量;

  • 每一个开发者至少拥有一个得力的AI助手(或AI导师机器人伙伴),关键看开发者的能力,如果能力强,可以驾驭更多的智能体,使自己成为超级个体;

  • 作为企业,可以把AI助手(或机器人、数字人)作为外包资源来考虑,这样也有利于企业的成本控制;

  • 未来(最近1-2年)的研发团队会进一步缩小(不算机器人、只算人类的话),甚至出现1、2个人的团队,但能力和干的工作,不低于原来7-8个人团队所做的工作;

  • 整个组织也会随着AI技术、开发流程的变化进行重组。

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值