通过改变软件的开发和维护方式,生成式 AI 可以让工程师花更多时间进行头脑风暴和开发,减少在故障排除上的时间。
翻译自 Unleash the Power of Generative AI to Shift Left 。
几乎每天,各个公司都在发布关于生成式 AI 的公告,由于技术的迅速进步影响着几乎每个行业,尤其是软件开发领域,这正在改变这个行业并影响团队的工作方式。
麦肯锡(McKinsey)发现,现在软件工程师是组织中最常招聘的 AI 角色,比数据工程师和 AI 数据科学家更常见,这表明企业已经从尝试 AI 转变为将其积极嵌入到他们的应用程序中。根据 IDC 集团的 Stephen Elliot 的说法,现代组织的 AI 目标应该“超越聊天机器人和语言处理器,达到确保单一真理来源、打破信息孤岛、确保知识工作者更智能地工作并提供明确业务结果的整体智能解决方案。”
尽管在任何领域使用AI的新可能性似乎是巨大的,但在软件开发领域,一个明确的用例是使用由大型语言模型(LLM)驱动的生成AI工具,显著提升工程师在整个软件开发生命周期内的生产力。在可观察性方面,这意味着赋予工程师以权力,无论他们的经验水平如何,都能编写新代码和测试用例,理解遗留代码,并在影响客户和业务之前更快地识别和解决问题。
在本文中,我将概述应用生成 AI 来改进软件开发并帮助工程师向前迈进的三个关键阶段,以跟上可观测性的发展演变。
目前,生成式 AI 解决方案还处于初级阶段,通常需要从领域特定产品切换到通用 AI 助手,例如 ChatGPT。例如,用户可能会问 ChatGPT 或 Google Bard 如何在特定产品中执行任务,然后切换到该产品以执行指令。尽管这是一个很好的开始,但它耗时且远非理想,显然不是我们在数字互动中习惯的用户体验。
未来,随着产品推出类似于 ChatGPT 的领域特定助手,用户体验将会改善,而这些助手将直接集成到产品体验中。这些集成的 AI 解决方案不需要额外的上下文,因为所有必要的信息已经在管道中,这意味着这些 AI 助手将能够远远超越通用 AI 助手的功能,并产生与手头任务直接战略对齐的响应。通过这种方式,生成式 AI 助手将产生更准确可靠的输出,这对于建立对生成式 AI 自动化复杂任务能力的信任至关重要。
对于工程师而言,新的解决方案使得他们可以用通俗的语言提问,例如,“为什么我的服务不工作?”并基于对客户特定遥测数据的分析立即得到根本原因的答案。这些领域特定的创新将在优化软件开发等领域的用户体验方面发挥关键作用。
随着工程师不断构建现有 AI 助手,这些助手最终将能够提供主动建议、洞见和建议,而无需得到明确的指令。
例如,用户浏览应用程序时可能会收到未经请求的建议,“调整 Java 虚拟机中的设置以提高性能”。如果他们接受,助手可以安排一个任务来实施建议,如果他们拒绝建议,助手就会学会避免类似的建议。需要牢记的是,AI 的好坏取决于它可以访问的数据,而且 AI 助手将变得更加智能并适应用户的需求。为了防止数据和提示在没有适当同意的情况下被用来增强 LLM,需要建立透明的控制、准则和管理。
对于工程师来说,这些自动化建议可以在不需要多年经验的情况下立即产生价值,并使高级工程师能够专注于更高层次的任务。
在这个阶段,我们将看到引入自动化来支持整个左移的实践,即将软件测试提前进行,由 AI 助手代表用户进行,既有自主性,也有来自人类的监督。
在这个先进的阶段,用户可以为 AI 助手设定具体的目标和严格的准则。从那里开始,这个过程可能类似于制定一个详细的计划或议程。AI 助手将使用各种工具和遥测数据来完成任务,并制定一个成功实现所需任务的计划,逐渐学习和建立自己的自我意识和方向。
最终,AI 助手应该被视为一种工具,而不是一种即将到来的威胁。通过改变软件的开发和维护方式,生成 AI 使工程师能够花更多时间进行头脑风暴和开发,而不必花费太多时间来排除故障。尽管仍处于早期阶段,我们今天正在看到更复杂的自主系统的开发,比如自动驾驶汽车。当组织学会拥抱这项变革性技术时,他们将在性能和用户体验方面看到显著的改进。