麦肯锡:从引擎到算法,生成式人工智能在汽车软件开发中的应用

文摘   2025-01-07 00:01   湖南  
随着汽车和工业领域经历重大技术进步,由生成式人工智能驱动的运营模式能够让企业更轻松、更安全且更具创新性地开发软件。
汽车和工业领域的企业正在进行转型,以成为软件驱动型企业。随着车载软件成为关键的差异化因素,企业已开始重新评估软件的作用,并对其开发方法进行全面改革。如今,软件是实现高级功能以及保障关键安全功能的支柱,同时它还能提高运营效率并推动创新。但软件也可能带来组织方面的挑战,因为软件能力发展不足可能导致生产启动延迟以及预算超支。
本文探讨了生成式人工智能在改善汽车和工业行业软件开发流程方面的潜力,以及将其妥善融入当前流程所需的变革管理和战略方法。文中呈现的见解源自麦肯锡与领先的汽车和工业机构合作开展的工作,包括生成式人工智能初期影响试点、全组织范围的推广策略以及整体研发转型等内容
克服挑战,优化软件运营模式
在汽车和工业领域,生成式人工智能能够改变软件的创建和使用方式,极大地提高整个软件开发生命周期的生产力。预计软件工程将是受生成式人工智能影响最大的领域。它能够通过减少开发人员在各类软件工程活动(如生成初始代码草稿、修正或重构代码以及创建新系统设计)上花费的时间,来提高他们的生产力。这些能力使得生成式人工智能的采用率迅速上升,目前大多数企业都至少在试验一种生成式人工智能应用。
然而,要成功运用生成式人工智能,光靠技术是不够的;还需要合适的运营模式。高管们意识到在实施和推广生成式人工智能方面存在重大障碍,这主要是由于将生成式人工智能融入现有运营模式需要进行组织和文化变革。仅仅添加新的生成式人工智能工具并不能实现其价值 —— 它取决于一个组织适应新工作方式并接纳变革性运营模式的能力。例如,如果一个组织在软件开发方面表现不佳,仅靠生成式人工智能不太可能解决问题。
此外,将生成式人工智能应用于关键嵌入式软件通常被认为比传统软件开发更具挑战性。例如,为嵌入生成式人工智能,各组织必须维护高度优化的代码,使其能在计算资源有限的情况下运行,确保低延迟,并能与硬件接口进行交互在诸如汽车等对安全至关重要的应用中,软件必须经过大量测试和验证,以符合安全标准。确保生成式人工智能满足严格的认证流程、经过多位审核人员检查和批准,并使用特定的语言和模型,都需要额外的努力和监督。
虽然生成式人工智能能够助力软件转型,但它并非完美的解决方案;它无法解决一个组织可能面临的所有软件挑战。开发出错误的产品不会带来创新或令客户满意,而且如果没有完备的工具链和数据库,生成式人工智能的适用性将会受到极大限制。麦肯锡此前的研究概述了汽车企业成功的软件运营模式应有的样子。随着生成式人工智能的引入,妥善开发和嵌入软件的步骤呈现出新的面貌。生成式人工智能对软件运营模式的各个维度都有着重要影响(见图表 1)。
生成式人工智能如何助力产品管理及需求定义?
考虑生成式人工智能如何帮助产品经理为开发人员定义软件需求十分重要。它应能降低复杂性、提高模块性,并确保为客户开发出合适的功能特性。
生成式人工智能如何嵌入软件开发流程?
在大规模应用生成式人工智能时,考虑如何将其嵌入软件开发流程很关键。根据该技术的局限性以及特定系统的关键性来选择生成式人工智能的恰当应用场景至关重要。
在软件开发生命周期中全程使用生成式人工智能需要具备哪些能力?
为管控在安全关键型软件中应用生成式人工智能的风险,进行能力建设方面的投入必不可少。此外,有效的培训项目能够解决人们对于生成式人工智能限制汽车和工业领域生产力的担忧。
在软件开发中,需要怎样的工具链来最大限度发挥生成式人工智能的价值?
企业可以决定需要哪些工具来在其软件开发中最大限度地发挥生成式人工智能的价值。由于汽车和工业领域嵌入式系统的复杂性,生成式人工智能工具和模型需要定制化,现成可用的解决方案适用性较低。
确保相关流程、能力以及工具准备就绪以助力开启生成式人工智能变革势在必行。忽视这些基础要素的机构可能会推动单个、孤立的应用场景,却未在整个业务中对其进行优先级排序及协调统一,最终阻碍自身发展或引发安全风险。
借助生成式人工智能掌握软件开发
对于汽车和工业企业而言,整合生成式人工智能是提升其软件开发能力的一个契机。汽车和工业领域能够利用这些工具加速运营模式、工具、流程变更、工作方式以及技能提升等方面的变革。它们还能极大地提高生产力,帮助各机构在管理成本、支持人才以及改进创新的同时,缩小新型数字工具复杂性与工作方式之间的差距。而且,这些进步能够改善客户体验,例如,通过提供更先进的语音助手来优化人机界面,借助高级驾驶辅助系统增强安全性,以及通过增加个性化元素提升整体驾驶体验。
生成式人工智能如何助力产品经理
生成式人工智能可在多种应用场景中为产品经理提供支持。在产品经理细化商业案例假设、制定目标与关键成果(KPI)或汇总新功能开发情况时,它的帮助尤为显著。它还擅长协助创建产品文档,包括汇总来自技术专家的产品需求反馈、起草用户故事,以及撰写和完善新闻稿、常见问题解答和产品需求文档等。
在安全关键型嵌入式系统的开发中,生成式人工智能可通过确保全面涵盖安全方面的内容来为产品经理提供极大帮助。例如,生成式人工智能能够分析监管标准和历史项目数据,自动生成详细且合规的需求规格说明,充当质量把控者的角色,确保不会遗漏任何关键要素。先进的模型能够解析并理解复杂的监管文件,帮助产品经理满足安全要求。此外,生成式人工智能还能自动创建详细文档,在整个开发过程中持续检查合规情况,标记任何偏离安全标准的情况,并提出纠正措施。采用严格的验证和核查流程很重要,包括有人参与的系统,即人工智能的输出在付诸行动前需经过人工审核。
我们估计,当产品经理能够使用合适的生成式人工智能工具并接受恰当培训时,他们在这些任务上可节省 10% 到 30% 的时间。最具影响力的应用场景能够实现 40% 甚至更高的时间节省。我们近期对产品经理开展的一项调查测试了生成式人工智能在十种不同应用场景中的时间节省潜力。结果显示,能够使用生成式人工智能的产品经理在创建和完善产品需求及用户故事方面可节省多达 39% 的时间。受访者还表示,在使用带有质量保证措施(比如创建并自动执行测试以提高效率和代码可靠性)的生成式人工智能时,生产力提高了 44%。
生成式人工智能可在哪些方面推动软件开发流程
一旦产品经理勾勒出生成式人工智能应用场景的需求定义,开发人员就可以在整个软件开发生命周期中整合这些工具(见图表 2)。
将生成式人工智能融入软件开发流程,能够为汽车和工业领域的创新开发者节省大量时间。
在软件开发生命周期的初始阶段,开发者可以利用生成式人工智能来理解业务需求并设计架构。对于嵌入式系统,比如汽车控制单元或工业机械中的系统,设计既要满足功能需求,又要遵循严格的硬件限制和实时性能要求。生成式人工智能通过分析大量数据集来生成见解,帮助开发者更准确地把握业务需求并将其转化为技术规范,从而减少沟通失误。它有助于创建多种软件架构设计、生成草图,并提供市场上现有解决方案的对比,这不仅加快了设计阶段的进程,还能确保架构健壮且可扩展,以满足嵌入式环境的特定需求。
在开发阶段,生成式人工智能可辅助编写、翻译、重构代码并生成文档。它能够起草代码、自动填充现有代码、根据伪代码提示生成代码,从而加快编码过程。对于关键的嵌入式软件,如先进驾驶辅助系统,生成式人工智能可以在确保与硬件正确对接的同时,生成针对有限内存和处理能力进行优化的代码;不过,在这些场景中,其作用往往较为有限。生成式人工智能还能在不同编程语言之间进行代码翻译,助力遗留系统的现代化改造,使开发者无需重写现有代码库就能处理积压的任务。它通过识别和改进代码区域实现重构过程的自动化,在减少技术债务的同时,提高了代码的可维护性和可读性。此外,生成式人工智能还能自动创建文档,包括用户手册、应用程序编程接口(API)文档和行内注释,确保文档的一致性和准确性,方便新开发者理解。
最后,在产品最终确定阶段,生成式人工智能可以协助编写单元测试、集成测试和验收测试。不过需要注意的是,在诸如测试驱动开发等方法中,测试也可以作为初始步骤,从一开始就指导编码过程。对于嵌入式系统,生成式人工智能可以帮助创建硬件在环和软件在环测试环境,以模拟现实世界的运行条件,这可以扩充现实世界的数据,减少所需收集的数据量,进一步完善测试过程。此外,它还能生成考虑硬件交互、定时限制和实时性能的测试用例,识别高优先级事件和异常情况。这些测试提供的性能洞察有助于提高软件应用的可靠性和稳定性,这对于经常在关键任务环境中运行的嵌入式系统至关重要。在这种情况下,生成式人工智能还可以协助实现合规性测试的自动化,以满足行业标准和监管要求,进一步确保最终产品的稳健性和安全性。
在各种应用场景中,企业需要管理在关键和安全相关系统中使用生成式人工智能所带来的风险。尽管生成式人工智能功能强大,但它仍然容易出现非确定性行为和 “幻觉” 现象,这在安全关键型应用中可能会带来重大风险。非确定性行为是指人工智能在给定相同输入的情况下,仍有产生不同输出的倾向,这可能导致不可预测和不可靠的结果。“幻觉” 现象则是指人工智能生成看似合理但实际上在事实层面不正确或毫无意义的信息。为了管控这一风险,企业可以实施冗余和交叉验证机制,即多个人工智能模型独立分析相同的输入,并对比它们的输出以确保一致性。此外,企业还应采用 “人在回路” 系统,由专家对人工智能的输出进行审查和验证。
在各种应用场景中,我们的研究表明,在集成开发环境中融入生成式人工智能并使其具备处理代码库的能力,对那些需要编写和理解代码的任务最为有益。首次关于代码编写、翻译和文档生成的试点项目显示,生成式人工智能有望节省高达 40% 的时间。那些将生成式人工智能用作头脑风暴伙伴或助手的概念性任务(例如理解业务需求)也能节省时间,尽管节省的幅度较小,早期试点表明其潜在影响在 15% 至 30% 之间。
在软件开发周期中使用生成式人工智能所需的能力建设
麦肯锡近期的研究概述了工程师和产品经理为了成功运用生成式人工智能而需要掌握的一系列新技能。
为了充分发挥生成式人工智能的潜力,对用户进行适当培训至关重要。能力建设项目应涵盖生成式人工智能的基础技能,如提示工程技术、设定背景和风险管理,还应包括针对代码生成、代码审查和文档编写等应用场景的实践机会。高管们在使用生成式人工智能时,常常担心数据保护及相关法律问题,因此,在引入和使用生成式人工智能时,需要通过适当的风险管理流程来积极应对这些问题。培训还应涵盖更高级的主题,如代码翻译和重构。对于嵌入式软件开发,这些培训应强调嵌入式系统的独特限制和要求,例如针对有限内存和处理能力进行优化、实时性能以及硬件 - 软件集成等方面。
一旦推出能力建设项目,通过一套预先设定的指标来跟踪项目进展和影响就显得尤为重要。例如,一家汽车企业向约 10,000 名开发者发放了一款人工智能开发工具的许可证,但未提供专门的培训项目。通过跟踪该工具的使用情况,他们发现许可证的利用率较低:只有 20% 的开发者在积极使用该工具,而在这 20% 的开发者中,有效使用聊天功能等关键特性的人还不到 10%。
麦肯锡与一家拥有 40,000 多名开发者的欧洲工业软件公司合作开展了一个试点项目。该研究每周都会评估生成式人工智能对选定的软件开发应用场景的改进情况,同时推出了一项能力建设计划,以确保新工具得到有效使用。经过这些培训,开发者每周使用生成式人工智能的频率比未接受培训时提高了 60%。不仅参与度有所提升,而且在培训结束后,95% 的开发者表示生成式人工智能对他们的开发体验产生了积极影响(见图表 3) 。
在软件开发中实现生成式人工智能价值最大化所需的工具链
在软件开发中战略性地应用生成式人工智能通常需要采用分阶段的方法,从标准用例入手,逐步推进到更复杂、更专业的任务。为了在软件开发中有效利用生成式人工智能工具的潜力,企业可以考虑四个不同的阶段。
第一阶段,也是典型的起点,是针对标准用例使用现成的模型和工具,例如为 Java、JavaScript、Go 和 Python 等流行编程语言进行代码生成和文档编写。这一阶段能让企业以最小的初始投入和复杂度,迅速实现生成式人工智能带来的好处。
第二阶段的采用率相对较低,它涉及在企业自身的代码库上对这些模型进行微调,并有可能针对标准用例自行托管这些模型。对于嵌入式软件开发而言,这一阶段可能需要调整模型,使其能够理解并生成 C 或汇编等低级编程语言的代码。虽然这样可以提供更贴合需求的解决方案,但通常需要投入大量的精力和资源,这使得许多处于人工智能探索初期的企业对此兴趣缺缺。
第三阶段是将现成的模型和工具应用于更高级的用例。这可能包括复杂的任务,如高级代码重构,或者将人工智能集成到嵌入式系统中以管理传感器之间的信号传输。在嵌入式软件领域,这一阶段可能还涉及针对实时性能和内存限制对代码进行优化,并确保硬件与软件的无缝集成。
最后也是最先进的阶段,是在专有代码库上使用经过微调的模型,或者自行托管这些模型来处理高度专业化的任务。例如,在需求工程中,现有的工具可以协助产品经理完成一些常规任务,但越来越多的公司正在开发自己的人工智能工具以获得更好的效果,比如生成实体关系图。
无论是在企业软件开发还是嵌入式软件开发中,正确的应用对于实现生成式人工智能的最大效益至关重要。总体而言,生成式人工智能既可以应用于企业软件,也可以应用于嵌入式软件,尽管二者存在一些区别。虽然集成过程涉及相似的策略、工具和风险管理流程,但生成式人工智能对企业软件的影响往往更大,因为与关键的嵌入式系统相比,企业软件的限制较少。嵌入式软件开发通常需要诸如硬件在环和软件在环等专门的测试环境,以确保可靠性和性能。此外,现成的通用人工智能工具对嵌入式软件开发的帮助相对较小,通常需要更专业的解决方案和定制设置,以满足特定的硬件和性能限制。嵌入式系统中使用的低级编程语言可能还需要额外的微调或技能嵌入,才能充分发挥生成式人工智能的能力。
此外,某些生成式人工智能工具和大型语言模型可能比其他工具更适合嵌入式软件开发。例如,能够处理实时系统的复杂性并支持低级编程语言的模型将具有特别高的价值。这些工具需要能够熟练生成不仅功能完备,而且针对嵌入式系统典型的有限资源进行高度优化的代码。
为成功奠定基础
对于汽车和工业领域的领导者而言,要恰当地整合这些能力,就必须精心规划生成式人工智能的推广方式。为了成功将生成式人工智能融入软件开发,企业需要建立三个基础步骤:能力建设与变革管理、影响评估与价值获取,以及多维度转型方法。
第一步的重点是为开发者配备必要的技能和知识。企业应从具有高影响力且易于实施的用例入手,并由一个集中的数据和工具治理结构提供支持。培训一批教练来推动赋能计划,能进一步确保生成式人工智能能力的可持续发展。
第二步涉及定义和跟踪指标,以衡量生成式人工智能计划的影响。应确定代码质量和开发速度等关键指标,以建立一个基准来跟踪进展情况。能够跟踪和分析生成式人工智能性能、监测各团队使用模式的工具,可以提供有价值的见解。制定计划,从生成式人工智能释放的产能中实现财务价值,对于展示切实的效益至关重要。
第三步的重点是推动软件开发运营模式的全面转型。请记住,整合生成式人工智能绝不仅仅是技术问题,因此这一阶段涉及流程、组织结构、能力和工具的变革。培养一种 DevOps 文化,强调开发团队和运维团队之间的协作、沟通和共同责任,这对于营造一个有利于生成式人工智能蓬勃发展的环境以及提高开发者的工作效率也至关重要。
合理的做法是考虑这一举措的财务影响。最常采用的方法有三种。首先,企业可以通过将积累的效率提升融入规划流程来加速处理积压的工作,从而使团队能够在相同的产能下处理更多的任务。这种方法需要在效率提升和项目规划之间进行细致的协调。其次,企业可以根据生成式人工智能的评估影响来安排未来的招聘工作。这样一来,企业可以利用生成式人工智能带来的生产力提升,在不增加人员编制的情况下维持甚至扩大运营规模。最后,企业可以将生成式人工智能产生的额外产能重新分配,用于启动新的计划。通过为各团队预留或重新分配这些产能,企业可以开展具有明确效益的新战略项目或增量战略项目,例如增强弹性和减少技术债务。这种方法不仅能利用节省下来的时间实现即时的运营改进,还能从战略上为企业的长期增长和创新奠定基础。
将生成式人工智能融入汽车和工业软件开发,代表着在提高生产力、创新能力和运营效率方面迈出了重要一步。在企业应对这一转型的过程中,采取一种全面的方法至关重要,其中包括能力建设、战略实施和持续的影响评估。通过营造协作和适应的文化,企业能够充分利用生成式人工智能的潜力,在日益数字化的环境中推动增长并保持竞争优势。掌握生成式人工智能的过程固然复杂,但凭借正确的策略和工具,汽车和工业领域能够在软件开发过程中取得显著的进步。

汽车产业前线观察
二十年汽车产业研究,近十年产业投资!重点关注汽车产业链投资等领域
 最新文章