《AIGC+软件开发新范式》--01.当「软件研发」遇上 AI 大模型(1)

简介: 在AI 热度持续上升的当下,阿里云推出AI智能编码助手—通义灵码。通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代数据集和编程教科书训练,为开发者带来高效、流畅的编码体验。

本文来源于阿里云社区电子书《AIGC+软件开发新范式》


当「软件研发」遇上 AI 大模


大家好,我是通义灵码的产品技术负责人陈鑫。过去有八年时间,我都是在阿里集团做研发效能,即研发工具相关的工作。


我们从 2015 年开始做一站式 DevOps 平台,然后打造了云效,也就是将 DevOps 平台实现云化。到了 2023 年,我们明显感觉到大模型时代来了以后,软件工具将面临着彻底的革新,大模型和软件工具链的结合,使软件研发进入下一个时代。


那它第一个落脚点在哪?实际上就是辅助编程,所以我们就开始打造了通义灵码这款产品,它是一个基于代码大模型的的 AI 辅助工具。今天我借这个机会和大家分享通义灵码技术实现上的一些细节以及我们如何看待大模型在软件研发领域的发展。


我会分为三个部分来分享。第一部分先介绍 AIGC 对软件研发的根本性影响,从宏观上介绍当下的趋势;第二部分将介绍 Copilot 模式,第三部分是未来软件研发 Agent 产品的进展。为什么我会提到 Copilot Agent,稍后我给大家讲解。


一 .AIGC 对软件研发的根本性影响


这张图是我过去几年画的一张图,我认为企业研发效能的核心影响因素是这三点

第一点是人员技能。人员技能决定了企业研发效能的一个非常大的因素,比如说谷歌可以招聘到个人能力强于他人十倍的工程师,一个人等同于十个人,那由一群十倍工程师组成的一个小团体,战斗力就很强,甚至可以实现全栈,他们的角色分工可能就非常简单,工作非常高效,最终的效能也非常大。


但是实际上我们企业内部,尤其是中国企业,没有几个能够达到谷歌的水平。这是客观影响因素,我们认为人员技能是效能基石,当然也是效能的破局点。


第二点是协同消耗。在我们不可能要求每个工程师能力强大的基础上,每个人一定是有专业分工的,比如有些做软件设计,有些做开发、做测试、做项目管理。这些人组成的团队随着软件架构的复杂度越来越大,组织的复杂度也会正相关的变大,这就造成了协同消耗也会越来越大,最终拖慢了整体的研发效能。


第三点是成本控制。我们发现做项目的时候人员不可能总是富裕的,永远是缺人手,也不可能有无限的资金去招到十倍工程师,所以这也是一个制约因素。今天在 AIGC 的时代,这三个因素已经产生了一些根本性变化。


在人员技能上,通过 AI 辅助可以快速将一些初级工程师的能力提升。这个其实在国外是有一些报道的,初级工程师使用了代码辅助工具的效果是明显高于高级工程师的,为什么呢?因为这些工具对于初级工作的替代,或者说它的辅助效果是非常好的,所以它可以快速补齐初级工程师的能力短板。


在协同消耗上,如果今天 AI 能够变成一个超级个体,实际上它对流程协同消耗的降低是有帮助的。比如一些简单的工作就不需要跟人打交道了,AI 直接就可以做,也不需要给每个人都讲一遍需求应该怎么测试,AI 做简单测试就可以了,这样时间的效率就提升了。所以可以通过超级个体去有效的降低协同消耗。


在成本控制上,实际上 AI 大量的用法就是代替事务性工作,包括现在用代码大模型去做代码辅助,也是希望代替 70% 的日常事务性劳动。 那具体来看的话,会有这四个挑战以及智能化的机会。



第一个是个体效率,刚刚也给大家介绍了,大量研发工程师的重复工作和简单沟通都可以通过 AI 来完成了,它是一个 Copilot 模式。

另外一个协作效率,一些简单的工作直接让 AI 做,可以使协同消耗降低,这点刚刚我已经讲述的比较清晰了。


第三个是研发体验,过去 DevOps 工具链关注的是什么?一个接一个拼成一个大的流水线,拼成整个的工具链。其实每个工具链在不同的企业里可能有不同的使用习惯,甚至有不同的账号体系、不同的界面、不同的交互、不同的权限。这种复杂度给开发者带来了非常大的上下文切换成本和理解成本,这在无形中让开发者其实很不爽。


但是在 AI 时代发生了一些变化,我们可以通过统一的对话入口,用自然语言的方式去操作很多工具,甚至在自然语言的窗口里解决很多的问题。


我举个例子,比如过去查一个 SQL 到底有没有性能问题,我们应该怎么办?可能先在代码里面把 SQL 语句抠出来,把它变成一个可执行的语句,再放到一个 DMS 系统里面诊断一下看看它有没有用索引,有没有问题,然后再人工判断一下到底要不要改这个 SQL 去优化它,最后再到 IDE 里把它变更掉,这个流程需要切换多个系统,要做很多的事情。


那在未来,如果我们有代码智能工具的话,就可以圈选一个代码,问大模型这个 SQL 有没有问题,这个大模型可以自主的调用一些工具,比如 DMS 系统去分析,并且拿到的结果可以直接通过大模型告诉我 SQL 应该如何优化,直接告诉我结果,我们只需要采纳它就可以解决,整个操作链路会被缩短,体验就会提升,从而提升研发效率。


第四个是数字资产,过去大家写了代码放在那都变成了屎山代码或者说是负债,当然里边有非常多优秀的金矿没有被挖掘出来,然后还有很多文档想要找的时候找不到了。


但是在 AI 时代,我们做的最重要的事之一就是需要去梳理我们的资产以及文档,通过 SFT、RAG 的方式去赋能给大模型,让大模型变得更聪明,更加符合企业的个性化理解,所以今天这种人机交互方式的变化,会带来体验上的变化。



人工智能从刚刚的几个影响因素再往下拆,它核心是带来了三种人机交互方式的变化。第一种是 AI 会变成一个 Copilot,和工具进行结合,然后人可以指挥它帮我们完成一些单点的工具。到第二阶段,实际上大家应该有共识了,它变成 Agent,也就是它具备了一些自主完成任务的能力,包括自主写代码或者做测试。其实工具扮演的是一个多领域专家,我们只需要给定上下文并完成知识对齐即可。第三个阶段我们判断 AI 可能会变成一个决策者,因为在第二阶段决策者还是人,在第三阶段有可能大模型会具备一些决策能力,包括更高级的信息整合分析能力。这时候人会更多的聚焦于业务的创意和纠偏,很多事情都可以交给大模型做。通过这种不同的人机模式的变化,让我们整体的工作效率会变高。



还有一点是我们刚刚讲到的知识传递形式也发生了根本性的变化。在过去是通过口口相传、通过培训,老带新去解决知识传递的问题。未来很有可能不需要这样,只需要让模型具备业务知识和领域经验,让每一个开发工程师都使用智能化工具,它的这些知识就可以通过工具传导到研发过程中,就会变成右边图上所示的现在 DevOps 的一站式工具链。积累了大量代码和文档资产后,将这些资产梳理清楚跟大模型放在一起,通过 RAG、SFT,模型嵌入到 DevOps 工具的各个链路,从而又产生更多数据,形成了这样的正向循环,一线开发者在这个过程中就能享受到资产带来的红利或者说能力。


以上就是我从宏观的角度介绍了现在大模型影响研发效率的核心因素,以及两个最重要的形态改变:第一个是人机交互的形态发生了改变,第二个是知识传递的方式发生了根本性变化。现在由于各种各样的技术限制以及大模型发展阶段的问题,我们做的最好的还是 Copilot 人机交互模式,所以接下来就介绍下我们的一些经验,如何去打造最佳的这种 Copilot 人机交互模式。


二 . 打造最佳 Copilot 姿势


我们认为代码开发的人机交互模式,目前只能解决比如小任务的问题、需要人工采纳的问题、高频次的问题,像代码补全,AI 帮我们生成一段,我们接纳一段,再生成一段,再接纳一段,这种频次非常高的问题,还有短输出的问题,不会说一下子就生成一个工程,甚至不会一下就生成一个类,我们每次都是生成一个函数或者几行。为什么要这样来做呢?其实和模型本身能力的限制有很大关系。


因为我们现在上下文宽度还非常有限,假如要完成一个需求,没有办法把所有的背景知识全部交给它一次性搞定,所以要不就是通过 Agent 去拆成一堆的小任务,逐步解决。要不就在 Copilot 模式里让它完成一个最简单的工作,比如按照一个注释去生成一小段代码,这样我们叫做解决小任务。


在人工采纳上,人工现在必须对代码大模型生成的结果做判断。目前做的好的可能也就是30%-40% 的采纳率,也就是说我们有超过一半的生成代码实际上是不准确的,或者是不符合开发者预期的,所以要不断的消除幻觉问题。


但是让大模型真正能在生产级使用最重要的还是要人工确认,然后高频次是不要生成太多,每次生成一点,因为人工去确认这段代码是否 ok 的成本也是影响效能的,后文会讲一些我们的思考和我们做的事情,通过高频次去解决准确性率有限问题。另外短输出主要是考虑性能和成本问题。


现在代码助手这种模式,实际上是特别精确的命中了大模型的一些技术限制,才让这样的产品能够快速落地,它有一个非常好的时机。在我们看来,开发者最喜欢的 Copilot 模式,是以下四个关键词:高频刚需、触手可及、知我所想、唯我专属。



第一个是我们要解决高频和刚需的场景,这才能让开发者觉得这个东西是真的有用,而不是个玩具。


第二个是触手可及,也就是随时可以唤醒它,随时可以帮我们解决问题。不再像以前需要通过各种搜索引擎去搜索代码,它就像在我身边一样,随时可以唤醒它帮我解决问题。


第三个是知我所想,也就是它回答我问题的准确度,以及它在什么时机回答我的问题都是非常重要的。


最后还要为我所属,它能懂我私有的一些知识,而不是说只了解完全开源的东西。我们把这四点具体再展开讨论一下。



《AIGC+软件开发新范式》--01.当「软件研发」遇上 AI 大模型(2):https://developer.aliyun.com/article/1537722

相关文章
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。
|
13天前
|
人工智能 自然语言处理 机器人
文档智能与RAG技术如何提升AI大模型的业务理解能力
随着人工智能的发展,AI大模型在自然语言处理中的应用日益广泛。文档智能和检索增强生成(RAG)技术的兴起,为模型更好地理解和适应特定业务场景提供了新方案。文档智能通过自动化提取和分析非结构化文档中的信息,提高工作效率和准确性。RAG结合检索机制和生成模型,利用外部知识库提高生成内容的相关性和准确性。两者的结合进一步增强了AI大模型的业务理解能力,助力企业数字化转型。
60 3
|
15天前
|
人工智能 弹性计算 Serverless
触手可及,函数计算玩转 AI 大模型 | 简单几步,轻松实现AI绘图
本文介绍了零售业中“人—货—场”三要素的变化,指出传统营销方式已难以吸引消费者。现代消费者更注重个性化体验,因此需要提供超出预期的内容。文章还介绍了阿里云基于函数计算的AI大模型,特别是Stable Diffusion WebUI,帮助非专业人士轻松制作高质量的促销海报。通过详细的部署步骤和实践经验,展示了该方案在实际生产环境中的应用价值。
48 6
触手可及,函数计算玩转 AI 大模型 | 简单几步,轻松实现AI绘图
|
12天前
|
人工智能 新制造 芯片
2024年中国AI大模型产业发展报告解读
2024年,中国AI大模型产业迎来蓬勃发展,成为科技和经济增长的新引擎。本文解读《2024年中国AI大模型产业发展报告》,探讨产业发展背景、现状、挑战与未来趋势。技术进步显著,应用广泛,但算力瓶颈、资源消耗和训练数据不足仍是主要挑战。未来,云侧与端侧模型分化、通用与专用模型并存、大模型开源和芯片技术升级将是主要发展方向。
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试的新篇章:利用AI提升软件质量
【10月更文挑战第35天】在软件开发的海洋中,自动化测试犹如一艘救生艇,它帮助团队确保产品质量,同时减少人为错误。本文将探索如何通过集成人工智能(AI)技术,使自动化测试更加智能化,从而提升软件测试的效率和准确性。我们将从AI在测试用例生成、测试执行和结果分析中的应用出发,深入讨论AI如何重塑软件测试领域,并配以实际代码示例来说明这些概念。
44 3
|
16天前
|
人工智能 自然语言处理 算法
企业内训|AI/大模型/智能体的测评/评估技术-某电信运营商互联网研发中心
本课程是TsingtaoAI专为某电信运营商的互联网研发中心的AI算法工程师设计,已于近日在广州对客户团队完成交付。课程聚焦AI算法工程师在AI、大模型和智能体的测评/评估技术中的关键能力建设,深入探讨如何基于当前先进的AI、大模型与智能体技术,构建符合实际场景需求的科学测评体系。课程内容涵盖大模型及智能体的基础理论、测评集构建、评分标准、自动化与人工测评方法,以及特定垂直场景下的测评实战等方面。
73 4
|
1天前
|
人工智能 自然语言处理 算法
具身智能高校实训解决方案 ----从AI大模型+机器人到通用具身智能
在具身智能的发展历程中,AI 大模型的出现成为了关键的推动力量。高校作为培养未来科技人才的摇篮,需要紧跟这一前沿趋势,开展具身智能实训课程。通过将 AI 大模型与具备 3D 视觉的机器人相结合,为学生搭建一个实践平台。
108 63
|
7天前
|
人工智能 弹性计算 数据可视化
解决方案|触手可及,函数计算玩转 AI 大模型 评测
解决方案|触手可及,函数计算玩转 AI 大模型 评测
18 0
|
4天前
|
机器学习/深度学习 人工智能 算法
AI技术在医疗诊断中的应用及前景展望
本文旨在探讨人工智能(AI)技术在医疗诊断领域的应用现状、挑战与未来发展趋势。通过分析AI技术如何助力提高诊断准确率、缩短诊断时间以及降低医疗成本,揭示了其在现代医疗体系中的重要价值。同时,文章也指出了当前AI医疗面临的数据隐私、算法透明度等挑战,并对未来的发展方向进行了展望。
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
AI在医疗领域的应用及其挑战
【10月更文挑战第34天】本文将探讨人工智能(AI)在医疗领域的应用及其面临的挑战。我们将从AI技术的基本概念入手,然后详细介绍其在医疗领域的各种应用,如疾病诊断、药物研发、患者护理等。最后,我们将讨论AI在医疗领域面临的主要挑战,包括数据隐私、算法偏见、法规合规等问题。
40 1
下一篇
无影云桌面