GenAI已经对IT的多个领域产生了影响,尤其是在软件开发领域。
早期用例包括代码生成和文档编制、测试用例生成和测试自动化,以及代码优化和重构等。
尽管如此,软件开发的GenAI仍处于初级阶段,因此技术领导者和软件团队可以预期在道路上会遇到颠簸,但早期的回报表明,这项技术可以为创建和增强应用程序的过程提供好处,但有一些警告。
在应用程序开发生命周期中提供帮助
客户服务软件提供商FreshWorks负责IT和CIO的高级副总裁Prasad Ramakrishnan表示,GenAI“打开了开发人员可以在对话式范式中利用的知识体系。”
Ramakrishnan说:“这感觉就像有一位坐在办公桌旁的同事可以一起头脑风暴。”我们最初推出的GenAI使我们的团队能够在几天内开发代码,而不是几周。
Ramakrishnan说,软件开发生命周期中成功的关键是质量保证(QA)和验证过程。“任何开发企业的成熟度都可以很容易地通过QA投资的规模和类型来衡量,”他说,“GenAI在协助执行代码审查和及早发现潜在问题方面发挥了作用。”
Ramakrishnan说,GenAI还通过自动化减少了完成测试所需的时间。“异常检测是GenAI可以帮助识别隐藏缺陷和地雷的另一个领域。”他说。
金融服务公司Vanguard的首席信息官Nitin Tandon表示,该公司正在“快速、安全地”试验具有GenAI工具——在人工监督和专业知识的作用下——使开发人员的工作效率得到提高。
“除了内容开发和知识管理,软件和编码开发仍是一个高价值的实验领域,以努力提高运营效率”他说。
Tandon说,GenAI开发试点项目的初步结果令人鼓舞,开发人员报告说,GenAI简化了代码生成、调试和代码一致性。
Tandon说:“初级开发人员报告的生产率提升幅度最大,但这仍然是一个积极研究和试验的领域。”
“此外,我们正在考虑对大型语言模型进行关于我们的代码库的培训,以进一步提高我们的开发人员和数据工程师的生产率。凭借我们在Vanguard庞大的开发人才基础,即使是生产率的适度提高也可以为我们的客户释放有意义的价值。“
金融技术提供商Momnt正在使用Github Copilot,这是一款由微软的GitHub和OpenAI开发的基于云的人工智能工具,通过自动完成代码来帮助各种开发平台的用户。
Momnt的软件开发团队,包括工程和质量保证专业人员,使用GitHub Copilot来支持公司贷款平台的开发,以及其他工具。
“我们希望我们的软件开发人员和工程师使用AI和GenAI工具来帮助生成各种测试用例,我们的质量保证工程师将使用这些工具在不牺牲时间的情况下更彻底地进行评估”总裁兼首席技术官Brian Lanehart说。
“到目前为止,我们的团队对新技术解决方案和GenAI的集体接受是积极的,他们继续保持好奇心,在他们的日常工作中寻找新的工具来实施,这样做不仅简化了日常任务,还提高了整体团队效率。”
Lanehart说,随着开发团队越来越熟悉这些工具,他们对工具的理解以及将它们应用于不同业务场景的能力将带来更大的价值。
“例如,能够将整个应用程序请求完全传达给生成所有必要代码的人工智能,将显著缩短任务时间线。”他说,这意味着工程师或团队可以腾出更多时间,创造性地或战略性地思考整个项目以及如何进一步改进它。
软件公司ZoomInfo的开发团队渴望在GenAI工具去年投入大规模使用后对其进行实验,首席技术官Ali Dasdan。
最早的用例之一为该公司的软件开发人员提供了访问Github Copilot的权限,Dasdan说,在取得初步成功后,ZoomInfo已经开始将GenAI整合到整个企业中,以提高生产率。一个例子是文档搜索和摘要。
“软件开发需要大量的文档,”Dasdan说,“产品需求和架构设计等文档在运行良好的企业中是标准的”但开发团队需要大量时间来审查这些文档。“通过在短短几分钟内对这些文档进行摘要和索引,GenAI节省了大量的时间”他说。
试验的成功使该公司几乎所有的软件开发人员都获得了许可。“然而,我们的工程师仍然必须审查该工具创建的代码”Dasdan说,“我们已经接受了数以万计的代码,我们已经意识到节省了大量的时间。”
限制、团队影响和吸取的经验教训
早期使用GenAI的一个关键教训是,它不会取代人类开发人员。
IT服务提供商BDO Digital的数据和人工智能业务负责人Kirstie Tiernan表示,最初,人们对GenAI自主生成复杂软件的潜力感到“兴奋”。
“然而,我们很快了解到,人工智能是一种增强人类专业知识的工具,而不是取代它,” Tiernan说,“人工监督的必要性很快就变得明显起来,以确保人工智能生成代码的质量和功能。这是一种合作伙伴关系,人工智能处理了一些繁重的任务,使开发人员能够专注于战略问题解决。”
BDO正在努力的一个关键教训是将人工智能工具与现有工作流集成的重要性。“这不仅仅是关于采用新工具,它更多地是关于开发团队如何操作、沟通和协作”Tiernan说,“整合过程突出了我们所有开发实践中对灵活性和适应性的需求。”
在BDO上,更有趣的惊喜之一是GenAI对创造力和创新的影响。Tiernan说:“通过将常规任务自动化,开发人员可以自由地应对更复杂的挑战,探索更具创新性的解决方案,看到人工智能如何成为人类创造力和思维的催化剂,令人兴奋。”
对于任何新的技术解决方案,最大的挑战之一是确定团队应该在多大程度上集成或依赖该工具,Momnt的Lanehart说。
他说:“我们的核心信念之一是使用技术来赋予和支持人们,因此,我们知道我们不希望人工智能和GenAI工具取代我们的员工,相反,我们希望这些工具能够补充这些人为团队带来的技能,并帮助他们更有效和高效地发挥作用。”
Lanehart说,总体来说,科技行业对能够监督、实施和运行GenAI工具的人的需求正在增加,例如,他表示,这可能是一名在产品开发团队工作的员工,但其核心专长是ChatGPT或Copilot。
随着GenAI变得越来越普遍,“我们看到了使用这些工具进行交叉培训的人的价值,”Lanehart说,“我们需要能够以不同方式解决新问题的人,我们希望他们把这些知识带回我们的团队。”
Lanehart说,Momnt已经开始鼓励其软件开发团队成员通过将其应用于个人兴趣,如音乐、喜剧和其他领域来扩大他们对GenAI工具的理解。他表示:“发现人工智能对金融科技和个人兴趣的应用之间的重叠,让我们的团队在推动新的行业增长方面处于独特的地位。”
首席人工智能官Akshay Sharma表示,医疗保健技术公司Lyric正在利用大语言模型的力量来改进几个流程,但早期的教训之一是,需要做多少工作才能从大语言模型获得正确的值。
Sharma说:“他们开箱即用,有些泛化,错过了目标,产生了幻觉,但是,有了正确的工程和设计,并通过在提示下运行实验,我们可以从中获得很多里程,我们不得不构建大量的实验和测试框架来持续评估GenAI。”
FreshWorks的Ramakrishnan认为,GenAI有潜力使开发人员能够更快地将应用程序推向市场。他表示:“然而,他们的技能需要调整,以成为快速工程方面的专业人员,人工智能生成的编码只会像所询问的提示类型一样有价值和准确。”
此外,Ramakrishnan补充说,人工智能代码需要由经验丰富的开发人员验证以确认准确性。“我不能过分强调人类对机器生成代码进行代码审查的价值,”他说,“尽管人工智能对工作场所具有生产力价值,但它远不是完美的,需要监督。”
此外,Ramakrishnan说,人工智能的使用引发了一些与在算法中引入偏见相关的伦理问题,如果不加以控制,这可能会导致意想不到的后果。“它还在信息安全领域引入了新的考虑,”他表示,“不良行为者现在可以更广泛地将恶意代码引入数百万甚至数十亿的系统中。”
将不断需要重新配备劳动力,以有效利用人工智能。“这就是说,我们仅仅触及了人工智能生产力价值的皮毛,”他说,“最好的日子就在我们前面。”
从开发商的角度来看
确定GenAI对开发团队影响的最好方法之一是让团队成员对他们的经验进行权衡。为了收集内部对ZoomInfo使用GitHub Copilot的反馈,该公司对大约80名开发人员进行了调查。研究表明,Copilot有几个优点。
一个是生成模板和重复性代码的能力,这使开发人员能够专注于复杂的逻辑,另一个原因是编写单元测试所需的时间大幅减少。ZoomInfo的达斯丹表示:“许多用户反映,该工具通过提供有用的代码建议和自动补齐代码行,提高了他们的编码速度。”
这些优势为ZoomInfo的开发者带来了几个好处,绝大多数人表示,Copilot减少了完成任务所需的时间,平均减少了20%。约三分之二的人表示,使用GenAI技术可以让他们在每次冲刺中完成更多任务,约四分之三的人表示,他们的工作质量得到了提高。
“基于这些强劲的早期结果,我们预计GenAI工具将继续提高我们工程师的生产率,并从辅助编写实际生产代码的任务中节省时间,”Dasdan说。
软件开发的GenAI未来
开发领导者相信,作为一种开发工具,GenAI只会变得越来越重要。
BDO Digital的Tiernan说:“展望未来,GenAI提高生产率的潜力是巨大的,随着这些工具越来越多地融入软件开发的结构中,我们很可能会看到开发时间和成本的大幅减少。”
例如,Tiernan说,自动生成样板代码并提供错误修复的实时建议可以将某些开发任务传统上所需的时间减半。
Tiernan说:“但真正的游戏规则改变者将是如何使GenAI使我们能够更有效地处理更复杂的问题,有了人工智能处理例行公事,开发人员可以专注于战略创新,推动软件解决方案中可能发生的事情的界限。”