拥抱未来:大语言模型解锁平台工程的无限可能

01 了解大型语言模型 (LLM)

大型语言模型(LLM)是一种人工智能(AI)算法,它使用深度学习技术和海量数据集来理解、总结、生成和预测新内容。凭借合成大量信息的能力,LLM 可以提高以前需要人类专家的业务流程的效率、规模和一致性。

沃顿商学院商学教授 Ethan Mollick 表示,在早期的对照实验中,使用 LLM 可以让写代码、写作、营销和商业材料等单项任务的性能提高 30% 到 80%。随着 OpenAI 的 ChatGPT、GitHub 的 Copilot 和 Google 的 Bard 等多种免费模型的出现,企业比以往任何时候都更容易获得 LLM 的强大功能。同时 LLM 价格的下降和市场上新产品的出现,各种规模的企业现在也可以购买更复杂、更安全的预训练 LLM,而不必投入大量资源从头开始训练一个模型。

02 利用 LLM 开展平台工程

平台工程是一门设计和构建内部开发人员平台(IDP)的学科,目的是在云原生时代为软件工程组织提供开发人员自助服务和标准化设计。IDP 由许多不同的技术和工具组成,这些技术和工具以一种降低开发人员认知负荷的方式粘合在一起,而不会抽象掉上下文和底层技术。

LLM 可以帮助平台团队构建更具吸引力的 IDP。虽然个人开发人员和平台工程师可以在没有组织支持的情况下使用 ChatGPT,但有意将 LLM 集成到平台中的组织可以以标准化的方式进一步自动化重复性任务,提高可发现性,并为开发人员、平台工程师和管理人员提供支持。

下表列出了平台工程领域的一些潜在使用案例:

图片

有些用例很容易实现,它们可以独立实施或与第三方解决方案一起实施,在几周内至少 95% 的时间是可靠的,使用可用数据,并且需要结合上下文的知识。另一部分则是难以实施的用例,要求用户需要有 LLM 方面的专业知识,经过更多的时间才能达到可接受的可靠性;同时还需要企业创建自己的数据集,改进现有模型,或根据需求自行训练一个新模型。

重要的是,不仅要考虑 LLM 如何增强当前的平台工程,还要考虑未来的发展趋势。更长远的考虑可以帮助企业更好地理解是否以及何时值得对 LLM 进行投资。根据我们目前对 LLM 的了解,我认为值得考虑利用 LLM 来实现这些潜在优势:

减少重复性工作

LLM 可以最大限度地减轻枯燥和重复性工作的负担。将他们视为助手,你可以将最乏味的工作委托给他们:创建配置文件、识别配置文件、文档、资源定义、报告等中的错误。无论您是开发人员、平台工程师还是经理,LLM 都能让您腾出更多时间,专注于创造性的高价值任务。这不仅能提高工作效率,还有可能降低单调工作中经常出现的人为错误风险。通过加快完成以前需要花费大量时间和精力的任务,LLM 可以使用户获得更高效、更愉快的 IDP 体验。

这里我们采访过一位开发人员 Manuel Odendahl,他描述了 LLM 如何改变了他的工作,我认为这是一个特别有说服力的例子,说明了为什么值得考虑利用 LLM:

这可能是较为微妙的转变,但也是使用 LLM 给我带来的最深刻的变化。经过一天专注于正确处理“乏味的事情”(比如使用正确的 API,检查正确的工作,正确调用 API X,为 Y 实现单元测试和模拟,为 Z 编写 API 包装器),为了避免出错,我的大量精力需要集中在工作细节上。所以我习惯在工作后通过玩游戏和看电影的方式来放松自己。

在使用 Copilot 和 ChatGPT 后,这种认知疲惫感基本神奇地消失了。每天工作结束后,我就觉得自己好像和在朋友聊天,但是已经合并了 5 个 PR,编写了单元测试,改进了两个工具,代码也已经发布。

不难理解,大量重复性的工作会导致开发人员倦怠。除了帮助开发人员提高工作效率外,LLM 还有可能让他们在工作时的体验更佳。

Odendahl 在同一篇文章中写道,他从 Copilot 的测试版开始就使用该工具进行编程。他从 LLM 中获得的好处,在很大程度上可能是他渴望学习和完善使用该技术的结果。而其他开发人员可能缺乏熟练使用 LLM 进行编码的经验或动力。如果没有将 LLM 有意义地集成到平台的黄金路径中,平台团队就不应该假设企业的开发人员会使用 LLM。此外,平台团队应避免依赖未经训练或未根据企业特定平台进行微调的模型,因为这会增加 LLM 生成错误答案的风险。因此,通过将 LLM 与 IDP 相结合,企业的平台团队可以更好地确保 LLM 在提高开发人员体验的同时,实现更大程度的标准化。

更容易上手使用

LLM 的自然语言处理能力可以让开发人员使用自然语言查询来探索平台的功能、应用示例或示例代码以及命令语法。它们还可以将大量文档综合为与上下文相关的建议或指导教程,从而简化对平台资源的理解

提供更好的支持

如果在企业的 IDP 中对 LLM 进行适当的特定培训,LLM 可以充当平台的技术助手,回答开发人员的询问,解决技术问题,并提供实时指导。通过将 LLM 集成到 IDP 中,平台团队可以提供更高效、反应更迅速的支持,确保开发人员获得所需的协助,从而顺利开展工作并及时解决问题。使用 LLM 为用户提供支持,意味着平台团队可以减少处理工单的时间,能够更加专注于复杂而有意义的工作。

这还可以最大限度地减少管理人员对平台团队的依赖,来去生成最新的、易读懂的报告,去衡量 IDP 的表现。LLM 在本质上可以充当工程师和高管之间的翻译,从而减少沟通的成本,提高沟通效率。

03 将 LLM 纳入平台工程的重要因素

当然,企业在如何将 LLM 纳入其平台时应该慎之又慎。作为一项新兴技术,LLM 并不完美,如果被误用,可能会造成严重后果。最好的策略就是从开始使用就设置正确的防护。

谨慎对待 LLM 回复

与其他技术一样,LLM 的使用也存在潜在的安全风险。漏洞和风险管理公司 Vulcan Cyber 进行的研究发现,ChatGPT 有时会推荐目前并不存在的代码库。研究人员警告说,威胁行为者可能会收集 ChatGPT 推荐的不存在的库名称,并创建恶意版本供开发人员下载

开放式全球应用安全项目(OWASP)是一个致力于提高软件安全性的非营利性基金会,它与数百名专家合作开发了一份十大关键的 LLM 漏洞列表。Kainos 高级安全架构师、OWASP 十大 LLM 核心小组成员 John Sotireopolous 解释了如何确定每个漏洞的相对危险性,例如,Prompt Injection(LLM01)是一种通过特定的、难以检测的指令来影响语言模型输出的能力,它是最重要的漏洞,因为无论你使用什么模型以及如何使用它,你都将无法避免该风险。

图片

LLM 不可免于安全威胁,同时在执行任务时也存在一定风险。这些语言模型有时可能会产生错误的回复,类似于"幻觉"。因此用户需要对 LLM 生成的任何内容进行检查,以确保内容的正确性和合规性。理想情况下,平台团队也会对集成到 IDP 中的 LLM 进行测试,以更好地了解它能最可靠地协助完成哪些任务。

如之前所提到,LLM 的功能的确能够有效消除重复性工作对开发人员带来的倦怠。例如,LLM 可以根据自然语言提示为基于 AWS 的设置,开发人员可能不需要了解配置的细节。但实际上,用户在使用 LLM 作为辅助工具时需要具备验证 LLM 输出的专业知识。也就是说专家可以使用 LLM 更快地执行简单任务。反之,不熟练的用户可能只是使用 LLM 更快地生成错误代码。

平台团队应了解将 LLM 集成到 IDP 中的风险,并决定相应的策略,确保在平台设置中建立正确的检查和平衡机制

投资于特定领域的 LLM 提示工程或培训

利用 LLM 辅助 IDP 的企业也可以考虑训练自己的模型。或者对预先训练好的模型进行微调,以提高 LLM 的可靠性,使其更适合组织的工作流。这样做的成本会更高,但也能提高 LLM 的可用性和可靠性。

如果 LLM 在企业的 IDP 中非常普遍,则需要专业人员为用户设计提示,并促进对模型的进一步培训。平台团队应像对待其他类型的平台功能开发一样对待提示和培训。

04 LLM 与未来就业

很多人担心 LLM 会取代他们的工作。就目前而言技术还不成熟,因为 LLM 的产出仍然需要人工验证其准确性。理想的情况是,LLM 可以继续消除枯燥和重复性的工作,而不会消除工作岗位。

不过 LLM 的普及和使用可能会威胁到不愿接受 AI 技术的专业人员。David Eastman 认为:"Copilot 是一种工具,它能够与开发人员定义小段功能代码、使用惯例以及在上下文环境中工作的能力协同工作。它所做的有效工作就是去掉了在 Stack Overflow 上查询的步骤"。他建议初级开发人员合理地使用像 Copilot 这样的 LLM,来获得更多的优势。同样的情况也适用于平台工程师。

显而易见的是,LLM 的早期采用者在代码输出的质量和数量方面遥遥领先。软件工程的每个领域都是如此,平台工程也不例外。

05 LLM 与平台工程的未来

LLM 将会彻底改变技术领域的世界,最有能力的团队将会找到如何利用它们的潜力来塑造未来的 IDP 版本。理性地看待这一点,并积极拥抱新技术,只有当我们探索其深度时,我们才能真正理解其重要性。

归根结底,LLM 与之前的技术革新浪潮并无区别。当然任何工具的使用都有利弊,LLM 既能够让开发人员工作效率提高 10 倍,也可以让企业 IDP 变得更加混乱和不安全。因此在引入和使用前需要制定相应的策略,确保在平台设置中建立和实施适当的检查和平衡机制。

参考链接:

https://platformengineering.org/blog/ai-is-changing-the-future-of-platform-engineering-are-you-ready

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/233522.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

木鸟途家美团......订民宿选哪个?看完让你不纠结

近日,中国旅游研究院在报告中提到,截至2023年6月,我国在线旅行预订用户规模达4.54亿,占网民整体的42.1%。民宿预订平台作为重要的组成部分,正在被更多人了解使用。当前民宿行业第一梯队木鸟、途家、美团三家&#xff0…

MongoDB快速入门及其SpringBoot实战

MongoDB快速入门及其SpringBoot实战 MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库。由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展&am…

强大的Kubernetes工具的完整指南

在容器化应用程序编排方面,Kubernetes是市场的领导者。它允许用户在多主机环境中管理容器,提供工作负载分配和网络处理。 此外,它还提供了许多在DevOps过程中至关重要的特性,例如自动扩展、自动修复和负载平衡。这些功能解释了Kub…

Docker本地部署Firefox火狐浏览器并远程访问

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,…

支付宝蚂蚁庄园2023年12月1日小课堂问题今天正确答案是什么?通常来说榴莲的气味越浓郁说明?为什么冬天容易手脚冰凉?

问题:通常来说,榴莲的气味越浓郁说明? 选项:A、越成熟 B、越生涩 答案:越成熟 解析:榴莲都会有独特的香味,一般情况下,香味越浓郁就说明榴莲的成熟度越高,它的果肉会越香甜,吃起来会更美味。 问题&#…

软件设计之原型模式

原型模式是从一个对象再创建另一个可定制的对象,而且不需要知道任何创建的细节。拷贝分浅拷贝和深拷贝。浅拷贝无法拷贝引用对象。在面试的时候,我们会投多家公司,根据岗位的不同我们会适当调整。使用原型模式可以快速达到需求,下…

kubeadm快速搭建k8s高可用集群

1.安装及优化 1.1基本环境配置 1.环境介绍 (1).高可用集群规划 主机名ip地址说明k8s-master01192.168.2.96master节点k8s-master02192.168.2.97master节点k8s-master03192.168.2.98master节点k8s-node01192.168.2.99node节点k8s-node02192.168.2.100n…

Linux地址空间随机化

ASLR(Address Space Layout Randomization)在2005年被引入到Linux的内核 kernel 2.6.12 中,早在2004年就以补丁的形式引入。内存地址的随机化,意味着同一应用多次执行所使用内存空间完全不同,也意味着简单的缓冲区溢出攻击无法达到目的。 1.…

我若拿出这个,阁下该如何应对,整理常用的Python库!

Requests Requests是一个常用的Python第三方库,用于发送HTTP请求。它提供了简洁而直观的API,使得发送HTTP请求变得非常方便。 使用Requests库可以实现以下功能: 发送GET请求:使用requests.get(url, paramsNone, **kwargs)方法发…

上手京东微前端框架micro-app(保姆级教学)

最近公司准备做一下项目整体架构的优化,采用微前端的架构,将项目拆分为一个基座主服务和N个子服务。 根据市场的反馈准备入手京东的微前端框架micro-app,所以让我调研了一下,目前体验还不错。 微前端 首先介绍一下什么是微前端。…

mac截图Snagit 中文介绍

1.超越普通的屏幕截图 TechSmith Snagit 是唯一具有内置高级图像编辑和屏幕录制功能的屏幕捕获软件。因此,您可以在一个程序中轻松创建高质量的图像和视频。 2.最后,屏幕捕获软件可以完成您所做的一切 快速解释一个过程如果您正在努力清楚地沟通&…

SpringMVC多种类型数据响应

SpringMVC多种类型数据响应入门 1.概念 RequestMapping 作用:用于建立请求URL和处理请求方法之间的对应关系 位置: 类上,请求URL的第一级访问目录。此处不写的话,就相当于应用的根目录 方法上,请求URL的第二级访问目…