查看原文
其他

中国信通院闫东伟等:软件开发智能化转型加速,落地路径逐渐清晰

闫东伟 秦思思 中国信通院CAICT 2024年10月08日 17:40

2024年《政府工作报告》首次提出“人工智能+”战略行动,旨在推动人工智能赋能千行百业。以大模型为代表的新一代人工智能技术成为软件工程领域智能化转型的核心驱动力,软件工程领域正迎来前所未有的变革,正式进入3.0时代。而在软件开发环节,智能化能力率先落地,智能化软件开发(以下简称“智能开发”)工具凭借其强大的代码理解和生成能力,可有效降低开发人员的技术门槛,提升开发效率和质量。


一、软件工程进入智能化新时代,落地价值和挑战并存

大模型推动软件工程进入3.0新时代。随着大模型等人工智能技术的持续发展,软件工程领域正迎来前所未有的变革,软件工程的流程和模式正在被重新定义,软件工程从2.0“敏捷开发”时代进入3.0“智能化软件工程”时代。软件工程3.0以数据驱动性、交互性、自适应和持续优化为主要特点,围绕“智能化”理念,以构建智能助手为起点,通过使用大模型为核心的AI技术驱动软件全生命周期能力升级,促进软件工程质效提升。


智能开发应用价值凸显。开发作为软件工程全生命周期中的核心环节,通过智能化能力的加持,智能开发首先可提升开发效率,降低项目风险,基于代码生成、补全、问答等能力,辅助开发人员快速开发出符合项目需求和规范的代码,帮助开发人员迅速掌握新编程语言;其次可改善代码质量,提高产品稳定性,通过智能单测、代码质量检查等能力,开发人员可快速进行代码测试和验证,及时发现并修改潜在问题;最后可加速产品迭代创新,增强企业竞争力,通过提升开发效率和改善产品质量,促使企业更快推出创新产品,加强企业的市场竞争力。


智能开发落地存在诸多挑战。组织变革和转型层面,需重塑企业文化,提升员工整体认知,并优化人才结构以适应智能化发展趋势;技术迭代层面,鉴于大模型技术的快速演进,企业需不断进行技术维护与升级,并使其与现有软件开发工具链有效融合;产品选型及应用落地层面,需在众多智能开发工具中选择适配自身需求的产品,并针对不同业务场景考虑优先应用场景;数据与模型安全层面,需确保模型从训练到推理的整个生命周期中的数据和模型安全。


二、智能开发落地路径逐渐清晰,加速行业智能化进程

智能开发落地过程围绕多原则展开。应用方企业通过采购或自研等方式构建智能化能力,应用落地过程中考虑以下原则。目标导向原则,以企业战略定位为首要目标,落地策略和方案应在该目标指导下完成。因地制宜原则,从企业实际情况出发,清晰了解已有AI基础及成本预算,制定合适的策略。应用优先原则,从业务实际需求出发,明确亟需解决的问题及为业务赋能的目标。标准化原则,参考行业标准开展能力构建,保证数据质量、模型性能及工具可塑性。安全性原则,围绕能力建设全过程构建安全保障机制,降低新工具引入的风险,提升安全治理能力。持续改进原则,构建持续反馈机制和数据驱动流程,通过效能指标数据推动工具和流程的持续改进。


智能开发落地步骤逐渐清晰。智能化能力落地是一个全面系统过程,落地过程可划分为以下四个关键步骤。首先,开展多维度自我诊断,从应用场景、技术能力、基础设施、安全可信等多维度,科学客观地定位自身在智能化开发领域的能力等级,如图1所示。其次,选择合适的实施方案,根据自我诊断及能力定位结果,选择采购合适SaaS服务、购置软硬集成开发工具、微调代码大模型或自研模型和工具等实施方案,如图2所示。再次,按计划部署和实施,根据实施方案从时间阶段确定、软硬件资源配置、模型工具部署、人员培训、推广应用多个阶段相继开展。最后,持续优化改进,通过建立指标体系和监控机制,根据数据分析结果明确问题和优化方向,对模型和工具持续优化。


图1  智能化能力自我诊断等级图


图2  智能开发能力实施多阶方案图


三层落地框架加速技术应用。智能开发落地框架由模型层、服务层和应用层三部分组成(见图3)。模型层以各类AI模型为主体,为智能开发提供AI底座能力。服务层依托AI底座能力,运用模型调度、提示词封装、RAG、Agent等技术手段增强或调度大模型能力。应用层以用户为核心,提供智能编码、开发者辅助等核心功能。


图3  智能开发落地框架


三、智能开发体系建设稳步推进,提升行业智能化水平

构建内在的模型核心能力,奠定智能开发能力建设基础。智能开发能力建设过程中,优先聚焦内在的代码大模型核心能力构建,从关键能力、扩充能力两方面逐步建设代码生成、代码解释、研发问答等能力,以提升软件开发效能,提高代码质量(见图4)。通过代码生成与补全能力有助于提升开发效率,降低开发门槛;通过单元测试用例生成能力减少开发人员编写单测时间,提高测试覆盖率,进而提高代码质量;通过代码转化与优化能力有助于提升代码规范性,高效复用已有数字资产;通过代码解释与注释能力提高代码可读性与维护性,充实代码资产;通过代码检查与修复能力减少代码审查资源投入,提升产品质量;通过研发问答能力为开发人员提供问答辅助能力,增强研发创新。


图4  智能开发核心能力建设


建设工程化支撑的使能能力,推动智能开发能力持续提升。聚焦外在工程化使能能力建设,为智能开发提供坚实能力支持,持续维护和提升智能开发能力(见图5)。数据治理能力为代码大模型在建设和维护优化过程中提供基础支持,通过数据清洗过滤低质代码数据并提升数据质量,通过数据增强生成新的代码样本并扩充现有代码数据,通过数据检查确保数据集质量和场景覆盖度。大模型调优能力是使用专有数据集对代码大模型进行专项优化,通过有监督微调和强化学习等方法优化对某一任务或领域的理解推理能力。能力评估是企业在采购、建设及维护优化智能开发能力的过程中,采用自动化评估、裁判模型评估、领域专家评估等多种方法,对代码大模型和智能开发工具进行全面的准确性评估、可接受度评估和专项性能评估等。安全治理能力可减少使用智能开发能力时带来的风险,通过数据安全治理保证数据从源头到应用全过程安全可控,通过模型安全治理确保代码大模型在开发、管理及运行阶段安全可控,通过应用安全治理保障代码大模型和智能开发工具在应用过程中的安全。提示工程和RAG能力可在不改变代码大模型的前提下达到更好推理效果,一方面提示工程是用户与代码大模型交互的主要桥梁,在模型训练调优阶段和推理阶段提升模型性能、增强模型可控性、扩展模型能力;另一方面RAG通过从外部数据库检索相关文档以提高代码大模型对专业知识的快速习得能力,为私有代码库检索、生成符合内部开发规范代码、生成内部开发文档等场景提供较为有效的解决方案。


图5  智能开发使能能力建设


四、智能开发技术应用持续发展,推动产业智能化升级

软件开发作为大模型落地应用最快的场景之一,落地成效逐渐显现,未来将从技术、应用和形态等方面持续发展。


技术能力的持续发展将推动准确性和性能的提升。一方面代码大模型将从高质量数据集、模型调优量化技术、上下文输入长度扩展等维度,在性能方面得以提高。另一方面,随着提示工程、RAG、Agent等技术的不断发展,使工具工程化能力持续增强,进一步辅助代码大模型能力增强。未来,更多新兴技术的涌现为智能开发能力提供更坚实的支撑。


智能开发落地场景、应用流程将日益深化。智能开发能力在前端页面、数据库、嵌入式等场景的逐步落地应用,未来将为工业软件开发等更多场景赋能,加速新型工业化进程。同时围绕需求设计、软件测试、系统运维、项目管理等软件工程全生命周期,利用Agent等技术打通全流程的智能化落地。


智能开发应用形态持续向更智能化方向推进。当前,智能开发工具以辅助工具的角色协助开发人员开展工作,未来,有望实现从辅助角色向独立执行复杂研发任务的转变,甚至可能替代开发人员,实现真正意义的智能开发,从副驾驶(Copilot)到驾驶员(Pilot)的逐步演进。同时,将推动组织结构从团队作战模式演变为单兵作战模式,重塑软件研发形态,引领软件行业变革。



作者简介

闫东伟,中国信息通信研究院人工智能研究所工程师。主要研究领域涵盖人工智能政策、标准、产业及生态研究,重点关注大模型技术对软件工程的智能化进程推动和实际应用效果提升,深入钻研AI4SE的最新进展动态,负责系列标准编制、评测、咨询等工作。

联系方式:yandongwei@caict.ac.cn


秦思思,中国信息通信研究院人工智能研究所高级工程师,主要研究方向为智能化软件工程、大模型工程化、MLOps、MaaS等,牵头系列标准的编制、评测、咨询等工作。担任AIIA智能化软件工程(AI4SE)工作组组长。

联系方式:qinsisi@caict.ac.cn






校  审 | 谨  言、珊  珊

编  辑 | 凌  霄


推荐阅读

中国信通院专家解读《人工智能能力建设普惠计划》
专家谈



专家观点 · 目录
上一篇中国信通院专家解读《人工智能能力建设普惠计划》
继续滑动看下一个
中国信通院CAICT
向上滑动看下一个
选择留言身份

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存