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

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.mzph.cn/news/186765.shtml

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

相关文章

基于ASP.Net的图书管理系统的设计与实现

摘 要 图书馆管理系统是一整套高科技技术与书本管理知识结合的产物。它把传统书籍静态的服务这个缺陷完美化,完成多媒体数据的交互、远程网络连接、检查搜索智能化、多数据库无障碍联系、跨时空信息服务。图书管理系统用计算机程序替代了传统手工记录的工作模式&am…

Ruby和HTTParty库下载代码示例

ruby require httparty require nokogiri # 设置服务器 proxy_host "" proxy_port "" # 定义URL url "" # 创建HTTParty对象,并设置服务器 httparty HTTParty.new( :proxy > "#{proxy_host}:#{proxy_port}" ) …

MySQL之binlog日志

聊聊BINLOG binlog记录什么? MySQL server中所有的搜索引擎发生了更新(DDL和DML)都会产生binlog日志,记录的是语句的原始逻辑 为什么需要binlog? binlog主要有两个应用场景,一是数据复制,在…

训练自己的个性化Stable diffusion模型,LORA

一、背景 需要训练自己的LORA模型 二、分析 1、有sd-webui有训练插件功能 2、有单独的LORA训练开源web界面 两个开源训练界面 1、秋叶写的SD-Trainer https://github.com/Akegarasu/lora-scripts/ 没成功,主要也是cudnn和nvidia-smi中的CUDA版本不一致退出 2…

Netty Review - 探索Channel和Pipeline的内部机制

文章目录 概念Channel Pipeline实现原理分析详解 Inbound事件和Outbound事件演示Code 概念 Netty中的Channel和Pipeline是其核心概念,它们在构建高性能网络应用程序时起着重要作用。 Channel: 在Netty中,Channel表示一个开放的连接&#xff…

由于找不到msvcp120.dll的解决方法,msvcp120.dll修复指南

当你尝试运行某些程序或游戏时,可能会遇到系统弹出的错误消息,提示"找不到msvcp120.dll"或"msvcp120.dll丢失"。这种情况通常会妨碍程序的正常启动。为了帮助解决这一问题,本文将深入讨论msvcp120.dll是什么,…

YOLOv8优化策略:检测头结构全新创新篇 | RT-DETR检测头助力,即插即用

🚀🚀🚀本文改进:RT-DETR检测头助力YOLOv8检测,保持v8轻量级的同时提升检测精度 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1.RT-DETR介绍 论文: https://arxiv.org/pdf/2304.08069.pdf 摘要:…

再探Java集合系列—LinkedHashMap

LinkedHashMap 继承了 HashMap 所以LinkedHashMap也是一种k-v的键值对,并且内部是双链表的形式维护了插入的顺序 LinkedHashMap如何保证顺序插入的? 在HashMap中时候说到过HashMap插入无序的 LinkedHashMap使用了双向链表,内部的node节点包含…

CityEngine2023安装与快速入门

目录 0 引言1 安装2 CityEngine官方示例2.1 官方地址2.2 导入示例工程 3 结尾 🙋‍♂️ 作者:海码007📜 专栏:CityEngine专栏💥 标题:CityEngine2023安装与快速入门❣️ 寄语:书到用时方恨少&am…

P1025 [NOIP2001 提高组] 数的划分

暴搜 剪枝 枚举固定的位置 #include<bits/stdc.h> using namespace std; using ll long long; const int N 1e310; int n,k; int res; void dfs(int last,int sum,int cur){if(curk){if(sumn)res;return;}for(int ilast;isum<n;i)dfs(i,sumi,cur1); } int main() {c…

倒计时(JS计时器)

<script>function countDown() {document.body.innerHTML ;//清空页面内容var nowTimer new Date(); //现在时间的毫秒数var valueTimer new Date("2024-1-1 12:00"); //用户输入年份倒计时时间毫秒数var timer (valueTimer - nowTimer) / 1000; //倒计时秒…

有什么值得推荐的node. js练手项目吗?

前言 可以参考一下下面的nodejs相关的项目&#xff0c;希望对你的学习有所帮助&#xff0c;废话少说&#xff0c;让我们直接进入正题 1、 NodeBB Star: 13.3k 一个基于Node.js的现代化社区论坛软件&#xff0c;具有快速、可扩展、易于使用和灵活的特点。它支持多种数据库&…

解决:ValueError: the first two maketrans arguments must have equal length

解决&#xff1a;ValueError: the first two maketrans arguments must have equal length 文章目录 解决&#xff1a;ValueError: the first two maketrans arguments must have equal length背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在…

如何在Ubuntu系统上安装Git

简单介绍 Git是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具CVS&#xff0c;Subversion 等不同&#xff0c;它采用了分布式版…

四、shell - 字符串

目录 1、单引号 2、双引号 3、拼接字符串 3.1 使用双引号拼接 3.2 使用单引号拼接 4、获取字符串长度 ​​​​​​​5、提取子字符串 ​​​​​​​6、查找子字符串 ​​​​​​​字符串是shell编程中最常用最有用的数据类型&#xff08;除了数字和字符串&#xff0…

Flutter应用程序加固的问题及解决方案

​&#x1f680;Flutter应用程序加固的问题及解决方案引言在移动应用开发中&#xff0c;为了保护应用程序的安全性&#xff0c;开发者需要对应用进行加固。在使用Flutter技术进行应用程序开发时&#xff0c;也需要注意应用程序的安全问题和加固方案。本文将介绍在Flutter应用程…

科普:什么是合同生命周期管理?

在当前&#xff0c;企业面临自身转型升级与行业数字建设的挑战&#xff0c;急需一种系统化的解决方案&#xff0c;帮助企业在自身运作方面实现降本增效&#xff0c;为拓展业务获得发展提供助力&#xff0c;而合同生命周期管理在其中就扮演着十分重要的角色。 一、合同生命周期…

[安洵杯 2019]easy_web

打开环境 img传参还有cmd img应该是base&#xff0c;先解码看看 3535352e706e67 这个好像是十六进制的&#xff0c;再解 访问一下看看&#xff0c;得到一张图片 尝试base解码&#xff0c;但是没有什么发现 再看看地址栏出现index.php,应该是要下载源码&#xff0c;但是还没有…

【紫光同创PCIE教程】——使用官方驱动在Windows下进行DMA读写操作/PIO读写操作

本原创教程由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处&#xff08;www.meyesemi.com) 紫光同创官方主推的是在linux系统下开发驱动和上层软件&#xff0c;相应地&#xff0c;官方提供了在linux一个基于GTK2…

hadoop安装

简介 Hadoop是一个开源的分布式存储和计算框架&#xff0c;最初由Apache软件基金会开发。它的发展背景可以追溯到Google的MapReduce和Google File System&#xff08;GFS&#xff09;的论文&#xff0c;这两篇论文启发了Hadoop的设计。Hadoop的主要应用场景包括大数据存…