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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

todesk连接ubuntu显示当前系统并无桌面环境,或无显示器,无法显示远程桌面,您需要自行安装X11桌面环境,或者使用终端文件功能

ToDesk远程遇到的问题如上图,换向日葵直接黑屏; 问题原因 截止发文时间,Todesk只支持X11协议,没有适配最新的Wayland协议,所以我们需要把窗口系统调整为X11才可以。 解决方法 修改配置文件,关闭wayland su…

精密制造ERP系统包含哪些模块?精密制造ERP软件是做什么的

不同种类的精密制造成品有区别化的制造工序、工艺流转、品质标准、生产成本、营销策略等,而多工厂、多仓库、多车间、多部门协同问题却是不少精密制造企业遇到的管理难题。 有些产品结构较为复杂,制造工序繁多,关联业务多,传统的…

Python (十六) 错误和异常

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

Windows10设置定时提醒

文章目录 Windows10设置定时提醒创建提醒文件新建文本文档修改文件编码和后缀双击测试 创建文件夹创建任务测试运行 Windows10设置定时提醒 创建提醒文件 新建文本文档 修改文件编码和后缀 双击测试 创建文件夹 创建任务 创建触发器 选择程序 测试运行 弹窗正常

轻盈未来:气膜建筑的绿色时尚

随着可持续发展理念的日益深入人心,建筑行业也在不断追求绿色、环保的设计与施工方案。气膜建筑,作为一种创新而轻盈的设计理念,正在走在绿色时尚的前沿。本文将探讨气膜建筑的独特之处以及其如何与环保理念相结合,领航着未来建筑…

如何使用Qchan搭建更好保护个人隐私的本地图床并在公网可访问

文章目录 前言1. Qchan网站搭建1.1 Qchan下载和安装1.2 Qchan网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar云端设置2.2 Cpolar本地设置 3. 公网访问测试总结 前言 图床作为云存储的一项重要应用场景,在大量开发人员的努力下,已经开发出大…

堆栈_栈实现队列

//请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): // // 实现 MyQueue 类: // // // void push(int x) 将元素 x 推到队列的末尾 // int pop() 从队列的开头移除并返回元素…

Redis多机数据库

文章目录 Redis多机数据库一、主从复制1、旧版复制功能的实现a、同步b、命令传播 2、旧版复制功能的缺陷3、新版复制功能的实现a、部分同步功能b、复制实现步骤 4、心跳检测 二、哨兵1、Sentinel概念2、Sentinel初始化流程3、故障转移过程 三、集群1、几个概念2、集群创建流程a…

C++ day43 最后一块石头的重量 目标和 一和零

题目1&#xff1a;1049 最后一块石头的重量 题目链接&#xff1a;最后一块石头的重量 对题目的理解 整数数组stone[i]表示第i块石头的重量&#xff0c;每次从中选出任意两块石头(x<y)粉碎 如果两块石头重量相等&#xff0c;就会被完全粉碎&#xff1b;如果不等&#xff…

Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)

博主介绍&#xff1a;Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 &#x1f345;文末获取源码下载地址&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb;…

分析某款go端口扫描器之一

一、概述 进来在学go的端口检测部分&#xff0c;但是自己写遇到很多问题&#xff0c;又不知道从何入手&#xff0c;故找来网上佬们写的现成工具&#xff0c;学习一波怎么实现的。分析过程杂乱&#xff0c;没啥思路&#xff0c;勿喷。 项目来源&#xff1a;https://github.com/…

python 基于opencv和face_recognition的人脸识别

python 基于opencv和face_recognition的人脸识别 代码如下&#xff1a; 使用一个photos存放你需要识别的照片&#xff0c;注意一个人一张就行 然后通过下面代码注册用户&#xff0c;之后启动程序&#xff0c;就会调用摄像头进行识别了。 AddPhoto(“发哥”, “./photos/fag…

【yolov5人行道-斑马线目标检测】

yolov5人行道-斑马线目标检测 数据集yolov5人行道-斑马线目标检测检测模型 数据集 YOLOv5是一种目标检测算法&#xff0c;可以用于检测图像中的人行道-斑马线。在目标检测领域&#xff0c;YOLOv5通过结合多种技术手段&#xff0c;包括使用Mosaic数据增强操作、自适应锚框计算与…

TIME_WAIT状态TCP连接导致套接字无法重用实验

理论相关知识可以看一下《TIME_WAIT相关知识》。 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<arpa/inet.h> #include<sys/socket.h> #include<errno.h> #include<syslog.h> #inc…

【ArcGIS Pro二次开发】(78):批量合并GDB数据库

有些GDB数据库会按分幅或行政区划进行分开储存&#xff0c;尤其是一些地形测绘或国情地理数据。 如下图所示&#xff1a; 数据是完整的&#xff0c;但使用的时候要一个一个拖进地图中&#xff0c;进行分析的时候也需要将其合并后使用。 因此就做了这个合库工具。 一、要实现的…

直播前期准备

直播前的准备是一个综合性的过程&#xff0c;需要从多个方面进行考虑和准备。以下是一些直播前准备的参考∶ 1.确定直播主题和目标∶明确直播的主题和目标&#xff0c;以及如何吸引观众。考虑观众的兴趣和需求&#xff0c;选择一个熟悉且具有吸引力的主题&#xff0c;以提升直…

字符串相似度匹配算法_莱茵斯坦距离算法

package day0330;public class LevenshteinDistanceUtil {public static void main(String[] args) {String a "WN64 F98";String b "WN64 F98 ";System.out.println("相似度:" getSimilarityRatio(a, b));}/*** 获取两字符串的相似度* * par…

扫码听音乐该如何制作?音乐的二维码生成方法

多个音频文件怎么做成一个二维码显示&#xff1f;二维码在现在的生活中拥有丰富的使用场景&#xff0c;可以用来作为多种内容类型的载体&#xff0c;比如音频二维码就是经常被使用的一种二维码类型。通过扫秒二维码来听音频文件&#xff0c;更加的灵活方便&#xff0c;那么音频…

六、shell编程

详见 《shell编程超详细入门教程》

队列基础(循环队列)

1.队列的定义: 和栈相反,队列(queue)是一种先进先出(first in first out,缩写为FIFO)的线性表.它只允许在表的一端进行插入,而在另一端删除元素. 在队列中,允许插入的一端叫做队尾(rear),允许删除的一端则称为队头(front). 2.循环队列的设计图示: 3.循环队列的结构设计: ty…