不过,生成式 AI 不仅仅适用于内容创作者。它还准备转变软件工程和 DevOps 领域的技术工作。 例如,备受争议的“AI 结对程序员”GitHub Copilot 已经在促使人们重新考虑代码的编写方式,但协作 AI 的潜力在 DevOps 领域仍未得到充分开发。
在本文中,我们将展望一个未来,在这个未来,生成式AI能够使 DevOps 团队消除乏味的重复,加强他们的自动化,并将复杂的工作流程压缩为简单的对话操作。但在此之前,让我们深入探讨生成式 AI 可以改进的 DevOps 问题。
DevOps 远未解决。尽管 DevOps 思想的采用逐年快速增长,但该过程仍然依赖于许多工具、有限的人才库和仅部分自动化的重复性任务。
DevOps工程师可能会将太多时间花在不会贡献显着业务价值的琐碎工作上,例如批准部署、检查环境状态和构建基本配置文件。尽管不可避免,但这些工作是杂务,不会直接对最终产品做出贡献。它们也是生成 AI 处理的绝佳候选者,ChatGPT 和 Copilot(或构建 Copilot 的 OpenAI Codex)都可能减轻一些压力:
然而,现有系统受限于它们对内容生成的狭隘关注。如果 DevOps 助手还提供基于意图和基于操作的体验来触发工作流程步骤并应用状态更改,那么它们将更加强大。例如,想象一下将 Copilot 的代码作者身份与双向对话界面合并时的体验:
重要的是,这些能力并没有取代人类或从根本上改变他们的角色。这种形式的 AI 通过处理平凡且始终如一地执行安全机制来增强工程能力。它解放了 DevOps 团队,使其能够在更短的时间内完成更有意义的工作。
生成式 AI 具有重新定义 DevOps 工作方式的巨大潜力。以下是它将主导的三个特定领域。
对于开发人员和运维人员来说,失败是一个老生常谈的问题。它们是不可预测的中断,会强制立即进行上下文切换以优先修复。不幸的是,这会影响生产力,延缓发布进度,并在补救工作未按计划进行时导致挫败感。
人工智能代理可以检测故障并调查其原因。此外,他们可以将他们的分析与生成能力和对过去失败的了解相结合,以建议在显示警报的上下文中立即采取行动。
考虑一个简单的 Kubernetes示例:助手注意到生产中断;意识到 Pod 由于资源限制已被驱逐;并提供操作按钮来重启 Pod、扩展集群或终止其他废弃的资源。团队只需单击一下即可解决事件,而无需花费几分钟手动进行故障排除。
生成式 AI 编写代码的能力提供了难以置信的价值。分层对话意图使其更易于访问和方便。例如,您可以通过在聊天界面中写入一条简短消息来要求 AI 代理设置新项目、配置文件或 Terraform 状态定义。代理可以提示您为任何模板占位符提供值,然后通知适当的利益相关者内容已准备好进行审查。
获得批准后,AI 可以通知原始开发人员,将项目启动到实时环境中,并提供查看部署的链接并开始对其进行迭代。这将几个不同的序列压缩为开发人员的一个自助服务操作。运营团队无需事先手动配置项目资源,让他们可以专注于自己的任务。
下一代 AI 代理超越了简单的文本和照片创建,支持完全自动化的提示驱动工作流。例如,双向 AI 让您可以使用自然语言启动流程,例如“重启生产集群”以与您的 AWS ECS 资源进行交互。无需告知 AI 您正在使用哪个平台或它应该运行的具体步骤。例如,在 Kubiya.ai,我们已经充分利用了这一点,现在为我们的客户提供了通过自然语言提示创建任何 DevOps 工作流程的选项。
这些代理的语言模型是根据您的云服务的词汇进行训练的。当您要求重新启动集群时,代理会使用其领域知识来解释您的话。例如,它知道您的“生产”集群在 AWS 上运行,并且它必须检索集群的详细信息,然后进行正确的API 调用以重新启动它,例如ecs.UpdateService等。您的话直接转化为功能齐全的工作流.
此外,双向方面意味着 AI 代理会随着时间的推移变得更加强大。一旦你开始运行你的工作流,代理也会针对它们进行训练,允许它为未来的场景建议类似的过程并描述每个工作流的实际作用。
这种方法可以让开发人员在不涉及运维团队的情况下做更多事情。AI 代理在人类和基础设施平台之间进行调解,允许任何人在不影响安全性的情况下一致地启动工作流。作为工作流程的一部分,代理可以在相关点提示输入,例如当您要求它“添加新虚拟机”时,要求您选择云帐户、数据中心区域、机器类型和定价层。
生成式 AI 的 DevOps 用例可加速主要任务,同时提高可访问性、安全性和可靠性。此外,它们使开发人员能够专注于推进新功能,而不是重复运行熟悉的流程并等待结果。
智能程度足以维持对话的座席就像您团队中的另一名成员一样。他们为可能不熟悉某些工具的开发人员提供支持,同时确保完全遵守组织的安全性和合规性政策。这些安全措施保护代码库,让开发人员相信他们可以启动任何工作流程。此外,减少与 DevOps 团队的交互次数可以提高效率,收紧反馈循环。
生成式 AI 也不是静态体验。随着时间的推移,它会变得更好,因为它会分析交互以更准确地确定用户意图。例如,如果建议在您第一次键入查询时不合适,您可以期望随着您和其他人重复请求并采取不同的行动方案,它们会得到改进。
人工智能代理也支持缺失的人类知识。它们让开发人员即使在不熟悉所涉及的某些步骤、工具或术语时也可以启动流程。人工智能可以填补诸如“哪些实例失败了?”等问题的空白。计算出您指的是生产集群中的 Kubernetes Pod。这些能力让人工智能有效地补充了人类的能力,使其成为团队支持性提示的来源。
经常使用人工智能的组织可能会取得最好的结果,因为他们的代理人会更善于预测他们的需求。但是,在将 AI 添加到工作流程中时不要过度使用也很重要。最成功的采用 将专注于解决真正的业务需求。首先,评估您的流程以确定开发和运营团队之间的瓶颈,然后使用 AI 瞄准那些重复的用例。
您选择的解决方案应该可以帮助您达到 KPI,例如关闭更多问题或更快地解决事件。否则,AI 代理将得不到充分利用,阻碍您的自然操作程序。
生成式 AI 是当今成熟最快的技术之一。因此,随着越来越多的研究人员、消费者和组织开始探索其功能, ChatGPT 获得了一定 程度的传播。DALL-E2 也取得了同样 惊人的成果,超过 120 万开发人员在其前 12 个月内使用了 GitHub Copilot。
这三种技术都展示了明显的革命性潜力,但从长远来看,DevOps 的混合且高度复杂的工作流可能受益最大。例如,DevOps 将代码和配置等新资产的创建与部署批准和审查请求等顺序流程相结合。
与一些局外人的预测相反,用于 DevOps 的生成式 AI 将超越普通文件片段的简单模板,以提供完整的工作流程自动化。使用简单的会话短语,您可以指示您的代理代表您采取特定操作,从配置新的云资源到检查生产性能。因此,代理将提供实时双向反馈循环,以改善协作、提高生产力并减轻开发人员面临的日常压力。