擁抱未來:大語言模型解鎖平臺工程的無限可能
01 了解大型語言模型 (LLM)
大型語言模型(LLM)是一種人工智能(AI)算法,它使用深度學(xué)習(xí)技術(shù)和海量數(shù)據(jù)集來理解、總結(jié)、生成和預(yù)測新內(nèi)容
。憑借合成大量信息的能力,LLM 可以提高以前需要人類專家的業(yè)務(wù)流程的效率、規(guī)模和一致性。 沃頓商學(xué)院商學(xué)教授 Ethan Mollick 表示,在早期的對照實驗中,使用 LLM 可以讓寫代碼、寫作、營銷和商業(yè)材料等單項任務(wù)的性能提高 30% 到 80%。隨著 OpenAI 的 ChatGPT、GitHub 的 Copilot 和 Google 的 Bard 等多種免費模型的出現(xiàn),企業(yè)比以往任何時候都更容易獲得 LLM 的強大功能。同時 LLM 價格的下降和市場上新產(chǎn)品的出現(xiàn),各種規(guī)模的企業(yè)現(xiàn)在也可以購買更復(fù)雜、更安全的預(yù)訓(xùn)練 LLM,而不必投入大量資源從頭開始訓(xùn)練一個模型。
02 利用 LLM 開展平臺工程
平臺工程是一門設(shè)計和構(gòu)建內(nèi)部開發(fā)人員平臺(IDP)的學(xué)科,目的是在云原生時代為軟件工程組織提供開發(fā)人員自助服務(wù)和標(biāo)準化設(shè)計
。IDP 由許多不同的技術(shù)和工具組成,這些技術(shù)和工具以一種降低開發(fā)人員認知負荷的方式粘合在一起,而不會抽象掉上下文和底層技術(shù)。
LLM 可以幫助平臺團隊構(gòu)建更具吸引力的 IDP
。雖然個人開發(fā)人員和平臺工程師可以在沒有組織支持的情況下使用 ChatGPT,但有意將 LLM 集成到平臺中的組織可以以標(biāo)準化的方式進一步自動化重復(fù)性任務(wù),提高可發(fā)現(xiàn)性,并為開發(fā)人員、平臺工程師和管理人員提供支持。 下表列出了平臺工程領(lǐng)域的一些潛在使用案例:
些用例很容易實現(xiàn),它們可以獨立實施或與第三方解決方案一起實施,在幾周內(nèi)至少 95% 的時間是可靠的,使用可用數(shù)據(jù),并且需要結(jié)合上下文的知識。另一部分則是難以實施的用例,要求用戶需要有 LLM 方面的專業(yè)知識,經(jīng)過更多的時間才能達到可接受的可靠性;同時還需要企業(yè)創(chuàng)建自己的數(shù)據(jù)集,改進現(xiàn)有模型,或根據(jù)需求自行訓(xùn)練一個新模型。 重要的是,
不僅要考慮 LLM 如何增強當(dāng)前的平臺工程,還要考慮未來的發(fā)展趨勢
。更長遠的考慮可以幫助企業(yè)更好地理解是否以及何時值得對 LLM 進行投資。根據(jù)我們目前對 LLM 的了解,我認為值得考慮利用 LLM 來實現(xiàn)這些潛在優(yōu)勢:
減少重復(fù)性工作
LLM 可以最大限度地減輕枯燥和重復(fù)性工作的負擔(dān)。將他們視為助手,你可以將最乏味的工作委托給他們:創(chuàng)建配置文件、識別配置文件、文檔、資源定義、報告等中的錯誤。無論您是開發(fā)人員、平臺工程師還是經(jīng)理,LLM 都能讓您騰出更多時間,專注于創(chuàng)造性的高價值任務(wù)。這不僅能提高工作效率,還有可能降低單調(diào)工作中經(jīng)常出現(xiàn)的人為錯誤風(fēng)險。通過加快完成以前需要花費大量時間和精力的任務(wù),LLM 可以使用戶獲得更高效、更愉快的 IDP 體驗。 這里我們采訪過一位開發(fā)人員 Manuel Odendahl,他描述了 LLM 如何改變了他的工作,我認為這是一個特別有說服力的例子,說明了為什么值得考慮利用 LLM: 這可能是較為微妙的轉(zhuǎn)變,但也是使用 LLM 給我?guī)淼淖钌羁痰淖兓?。?jīng)過一天專注于正確處理“乏味的事情”(比如使用正確的 API,檢查正確的工作,正確調(diào)用 API X,為 Y 實現(xiàn)單元測試和模擬,為 Z 編寫 API 包裝器),為了避免出錯,我的大量精力需要集中在工作細節(jié)上。所以我習(xí)慣在工作后通過玩游戲和看電影的方式來放松自己。
在使用 Copilot 和 ChatGPT 后,這種認知疲憊感基本神奇地消失了。每天工作結(jié)束后,我就覺得自己好像和在朋友聊天,但是已經(jīng)合并了 5 個 PR,編寫了單元測試,改進了兩個工具,代碼也已經(jīng)發(fā)布。
不難理解,大量重復(fù)性的工作會導(dǎo)致開發(fā)人員倦怠。
除了幫助開發(fā)人員提高工作效率外,LLM 還有可能讓他們在工作時的體驗更佳。
Odendahl 在同一篇文章中寫道,他從 Copilot 的測試版開始就使用該工具進行編程。他從 LLM 中獲得的好處,在很大程度上可能是他渴望學(xué)習(xí)和完善使用該技術(shù)的結(jié)果。而其他開發(fā)人員可能缺乏熟練使用 LLM 進行編碼的經(jīng)驗或動力。
如果沒有將 LLM 有意義地集成到平臺的黃金路徑中,平臺團隊就不應(yīng)該假設(shè)企業(yè)的開發(fā)人員會使用 LLM
。此外,平臺團隊?wèi)?yīng)避免依賴未經(jīng)訓(xùn)練或未根據(jù)企業(yè)特定平臺進行微調(diào)的模型,因為這會增加 LLM 生成錯誤答案的風(fēng)險。因此,通過將 LLM 與 IDP 相結(jié)合,企業(yè)的平臺團隊可以更好地確保 LLM 在提高開發(fā)人員體驗的同時,實現(xiàn)更大程度的標(biāo)準化。
更容易上手使用
LLM 的自然語言處理能力可以
讓開發(fā)人員使用自然語言查詢來探索平臺的功能、應(yīng)用示例或示例代碼以及命令語法
。它們還可以
將大量文檔綜合為與上下文相關(guān)的建議或指導(dǎo)教程,從而簡化對平臺資源的理解
。
提供更好的支持
如果
在企業(yè)的 IDP 中對 LLM 進行適當(dāng)?shù)奶囟ㄅ嘤?xùn),LLM 可以充當(dāng)平臺的技術(shù)助手,回答開發(fā)人員的詢問,解決技術(shù)問題,并提供實時指導(dǎo)
。通過將 LLM 集成到 IDP 中,平臺團隊可以提供更高效、反應(yīng)更迅速的支持,確保開發(fā)人員獲得所需的協(xié)助,從而順利開展工作并及時解決問題。使用 LLM 為用戶提供支持,意味著平臺團隊可以減少處理工單的時間,能夠更加專注于復(fù)雜而有意義的工作。 這還可以最大限度地減少管理人員對平臺團隊的依賴,來去生成最新的、易讀懂的報告,去衡量 IDP 的表現(xiàn)。
LLM 在本質(zhì)上可以充當(dāng)工程師和高管之間的翻譯,從而減少溝通的成本,提高溝通效率。
03 將 LLM 納入平臺工程的重要因素
當(dāng)然,企業(yè)在如何將 LLM 納入其平臺時應(yīng)該慎之又慎。作為一項新興技術(shù),LLM 并不完美,如果被誤用,可能會造成嚴重后果。最好的策略就是從開始使用就設(shè)置正確的防護。
謹慎對待 LLM 回復(fù)
與其他技術(shù)一樣,LLM 的使用也存在潛在的安全風(fēng)險。漏洞和風(fēng)險管理公司 Vulcan Cyber 進行的研究發(fā)現(xiàn),ChatGPT 有時會推薦目前并不存在的代碼庫。研究人員警告說,
威脅行為者可能會收集 ChatGPT 推薦的不存在的庫名稱,并創(chuàng)建惡意版本供開發(fā)人員下載
。 開放式全球應(yīng)用安全項目(OWASP)是一個致力于提高軟件安全性的非營利性基金會,
它與數(shù)百名專家合作開發(fā)了一份十大關(guān)鍵的 LLM 漏洞列表
。Kainos 高級安全架構(gòu)師、OWASP 十大 LLM 核心小組成員 John Sotireopolous 解釋了如何確定每個漏洞的相對危險性,例如,Prompt Injection(LLM01)是一種通過特定的、難以檢測的指令來影響語言模型輸出的能力,它是最重要的漏洞,因為無論你使用什么模型以及如何使用它,你都將無法避免該風(fēng)險。
LLM 不可免于安全威脅,同時在執(zhí)行任務(wù)時也存在一定風(fēng)險
。這些語言模型有時可能會產(chǎn)生錯誤的回復(fù),類似于"幻覺"。因此
用戶需要對 LLM 生成的任何內(nèi)容進行檢查
,以確保內(nèi)容的正確性和合規(guī)性。理想情況下,平臺團隊也會對集成到 IDP 中的 LLM 進行測試,以更好地了解它能最可靠地協(xié)助完成哪些任務(wù)。 如之前所提到,LLM 的功能的確能夠有效消除重復(fù)性工作對開發(fā)人員帶來的倦怠。例如,LLM 可以根據(jù)自然語言提示為基于 AWS 的設(shè)置,開發(fā)人員可能不需要了解配置的細節(jié)。但實際上,用戶在使用 LLM 作為輔助工具時需要具備驗證 LLM 輸出的專業(yè)知識。也就是說專家可以使用 LLM 更快地執(zhí)行簡單任務(wù)。反之,不熟練的用戶可能只是使用 LLM 更快地生成錯誤代碼。 平臺團隊?wèi)?yīng)了解將 LLM 集成到 IDP 中的風(fēng)險,并決定相應(yīng)的策略,確保
在平臺設(shè)置中建立正確的檢查和平衡機制
。
投資于特定領(lǐng)域的 LLM 提示工程或培訓(xùn)
利用 LLM 輔助 IDP 的企業(yè)
也可以考慮訓(xùn)練自己的模型
?;蛘邔︻A(yù)先訓(xùn)練好的模型進行微調(diào),以提高 LLM 的可靠性,使其更適合組織的工作流。這樣做的成本會更高,但也能提高 LLM 的可用性和可靠性。 如果 LLM 在企業(yè)的 IDP 中非常普遍,則需要專業(yè)人員為用戶設(shè)計提示,并促進對模型的進一步培訓(xùn)。平臺團隊?wèi)?yīng)像對待其他類型的平臺功能開發(fā)一樣對待提示和培訓(xùn)。
04 LLM 與未來就業(yè)
很多人擔(dān)心 LLM 會取代他們的工作。就目前而言技術(shù)還不成熟,因為 LLM 的產(chǎn)出仍然需要人工驗證其準確性。理想的情況是,LLM 可以繼續(xù)消除枯燥和重復(fù)性的工作,而不會消除工作崗位。 不過 LLM 的普及和使用可能會威脅到不愿接受 AI 技術(shù)的專業(yè)人員。David Eastman 認為:"Copilot 是一種工具,它能夠與開發(fā)人員定義小段功能代碼、使用慣例以及在上下文環(huán)境中工作的能力協(xié)同工作。它所做的有效工作就是去掉了在 Stack Overflow 上查詢的步驟"。他建議初級開發(fā)人員合理地使用像 Copilot 這樣的 LLM,來獲得更多的優(yōu)勢。同樣的情況也適用于平臺工程師。 顯而易見的是,LLM 的早期采用者在代碼輸出的質(zhì)量和數(shù)量方面遙遙領(lǐng)先。軟件工程的每個領(lǐng)域都是如此,平臺工程也不例外。
05 LLM 與平臺工程的未來
LLM 將會徹底改變技術(shù)領(lǐng)域的世界,最有能力的團隊將會找到如何利用它們的潛力來塑造未來的 IDP 版本
。理性地看待這一點,并積極擁抱新技術(shù),只有當(dāng)我們探索其深度時,我們才能真正理解其重要性。 歸根結(jié)底,LLM 與之前的技術(shù)革新浪潮并無區(qū)別。當(dāng)然任何工具的使用都有利弊,LLM 既能夠讓開發(fā)人員工作效率提高 10 倍,也可以讓企業(yè) IDP 變得更加混亂和不安全。因此在引入和使用前需要制定相應(yīng)的策略,確保在平臺設(shè)置中建立和實施適當(dāng)?shù)臋z查和平衡機制。