01. 背景
1)運維轉型背景
藍鯨平臺從誕生之初,就一直在不遺余力地推動運維轉型,讓運維團隊可以通過一體化PaaS平臺,快速編寫腳本,編排流程,開發運維工具,從被動地提供運維支撐服務,轉型為主動地提供SRE增值服務。為了讓運維人員更快成長為“六邊形運維”(參考《在線跟騰訊工程師學習SaaS開發》,泛指運維界的六邊形戰士,特指掌握了運維開發技能的運維人群),降低運維開發 SaaS 的難度,藍鯨不僅提供了藍鯨開發框架,通過集成身份驗證、API調用、模板渲染、UI組件庫等功能,大幅降低了運維開發SaaS的難度,而且配套了詳細的【開發指南文檔】和視頻課程。
然而,在實際操作中,我們觀察到運維人員的主要工作往往涉及與各種IT對象和環境進行交互。因此,盡管他們學習使用Python這類腳本型語言來進行后臺開發相對較為順暢,但當他們試圖設計并開發一個用戶體驗尚可的前端頁面時,卻面臨較高的入門難度。他們往往面臨兩種選擇:要么開發的頁面功能相對簡單、設計樸素,要么需要投入大量的時間和精力進行頁面布局和交互設計的打磨。
為了解決這個難題,我們進一步提供了運維開發平臺,使用低代碼技術,通過拖拽組件組裝頁面,讓開發工作可視化靈活組裝、所見即所得,并且針對復雜交互場景有很好的適應性,可以靈活地通過函數編碼實現。
2)大模型對運維開發帶來的挑戰和機遇
最近幾年,大模型的爆發式發展為開發和運維行業帶來新的變革,2021 年 7 月 1 日,由 GitHub 和 OpenAI 共同開發的人工智能編碼助手——Copilot正式發布,如同連環炸彈的連續迸發,持續為開發者和整個軟件行業帶來震撼與驚喜。就在上個月,國內首個AI程序員入職了阿里云,這個叫“通義靈碼”的程序員具有扎實的編程基礎,能熟練使用200多種編程語言,具備生成詞級/行級/塊級/函數級/類級等代碼內容的能力,還能自動生成測試用例、代碼優化、生成注釋等。而且,通義靈碼的工作節奏比996還要極致:7x24小時隨叫隨到......看起來,大模型的應用似乎要終結開發框架、低代碼這類腳手架開發工具。難道,運維不再需要開發轉型了?甚至“零運維”在AI的幫助下提前實現了?
不過在最近一段時間,我們團隊研究對比了多款國內外大模型,并且在知識查詢、開發問答、代碼補全、單元測試生成以及SaaS應用構建等多個維度進行了能力測試和驗證,事實表明,大模型現階段還不能完全替代開發者,在一些專業的運維開發領域,能夠成為運維人員的“開發副手”,加快運維組織的轉型。
02. 大模型的優勢分析
首先,我們分析,大模型的主要能力體現在以下幾個方面:
1)語言理解
大模型通過訓練可以理解和解釋自然語言文本,能夠回答問題、提供解釋、理解指令和上下文含義等。
2)知識總結
大模型可以提取文本知識的關鍵信息,生成摘要,使得用戶能夠快速了解長篇文章或報告的主要內容。
3)語言創作
大模型能夠根據輸入的上下文信息生成連貫、流暢的文本,例如撰寫文章、生成對話、創作詩歌或故事等。
4)問答系統
大模型可用于構建問答系統,與用戶進行自然語言交流,回答用戶提出的問題,如在線客服、智能助手等。
5)文本生成
大模型可以根據上下文生成各種類型的文本,如代碼注釋、代碼補全、單元測試等。
這些能力使得大模型在許多實際應用中具有廣泛的應用價值,如搜索引擎、推薦系統、知識庫、智能客服等。隨著技術的發展和模型的不斷優化,大模型的性能和應用范圍還將進一步擴大。
而我們推動運維開發轉型的主要手段包含一體化運維平臺、基于PaaS架構的開發框架、基于低代碼技術的運維開發平臺,這些工具分別提供了開箱即用的產品功能、可以快速組裝的腳手架、所見即所得的圖形化界面等多層次的能力,規避運維人員不熟悉開發語言和軟件工程的短板,加速能力躍遷。
對比大模型的主流應用形態——AI對話交互和傳統的運維產品和工具——GUI交互,兩者各有優勢。大模型更適合通過對話解決信息查詢、上下文檢索等問題,并且適合移動或小屏幕設備,在個性化、長尾需求場景里也能較好適配。而傳統的GUI交互,在數據處理、高精度任務、快速導航上還保持著優勢地位,并且提供了直觀的操作體驗。
03. 大模型在運維開發上的應用
從大模型的原理上看,模型經過海量的數據訓練
,在開發領域,很多大模型學習了幾十億行代碼,龐大的數據基礎使得這些模型在代碼的規范性、準確性方面展現出了卓越的效果。同時,自然語言理解的突出優勢,讓大模型在運維和開發專業知識掌握上是非常全面的,并且可以通過RAG等技術實現私域知識的檢索,在運維工具開發輔助上可以發揮多種作用,提高開發效率和質量。以下是我們在運維開發領域的主要應用場景:
1)代碼生成
在SaaS開發中,開發者經常會遇到需要查詢資料或者閱讀其他人編寫的代碼的情況,如果使用瀏覽器的搜索引擎或者一些開源大模型,必然會經常性地切換窗口打開瀏覽器,這個過程會給開發人員帶來不少干擾。所以,在代碼輔助編寫場景,我們通過 BKGPT 插件對接大模型和IDE,讓開發者可以在編程工具里閉環信息檢索的過程,大大提升了開發問題查詢效率。
其次,我們提供了BKCodeAI 插件,可以實現根據注釋中的需求描述,進行代碼生成和補全,當前已經支持函數級代碼生成。BKCodeAI 安裝并配置成功后,IDE 編輯器中,當前光標所處位置的上方有注釋或者代碼內容時,此時鍵盤回車、空格、tab 等按鍵時便會觸發 BKCodeAI進行代碼生成或補全。
較為常見的場景如下:
2)代碼審查
另一方面,和其他的編程 Copilot 工具一樣,BKGPT 是一個助手而非人類程序員的替代品,開發者不能簡單地采納Copilot的建議,還需要結合個人的編程經驗和專業知識最終完成SaaS的構建。所以在當前階段,單元測試、代碼審查這類軟件質量措施需要堅持執行,不過在大模型的幫助下,不再需要開發者花費太多精力處理這些事項,大模型可以自動生成單元測試,并根據代碼的提交記錄自動生成 Code Review 建議。
BKCodeAI 插件安裝成功后,當在 git push 時,會自動觸發 AI CodeReview 任務,CR 任務將異步執行,不會阻塞 push 操作,CR 任務執行完成后會在 IDE 彈窗提醒 CR 詳情鏈接。
打開 CR 詳情鏈接,可以跳轉到AI開發助手產品的 CR 歷史頁面,查看到大模型為本地提交的代碼自動生成的審查結果。
3)專業知識問答
大模型天然在自然語言理解和知識總結有巨大的優勢,而嘉為藍鯨又有上千家各行各業的企業運維解決方案實施經驗,積累了海量的運維開發領域專業知識。技術架構上,通過 RAG + Embedding 技術,可以海量的運維知識(截至2023年12月,嘉為知識庫存量文檔394035篇,月均消費7萬+次)向量化存儲,作為大模型的外掛知識庫,利用大模型強大的總結能力,可以總結提煉出解決方案回復給開發者。并且,針對API調用以及企業內的系統,可以通過Function call技術實時獲取更多的知識如API調用測試結果,輔助開發者更準確的驗證接口參數。
通過打通企業微信機器人,可以讓開發者很方便地查詢開發知識,該問答機器人除了回答常規的開源知識外,也能很好地提取公司內的私域知識,然后總結后回復給提問者。
“正確的問題往往比答案重要,好的問題就是一般的答案”這個結論在大模型領域體現得淋漓盡致,在智能問答助手上線后,我們發現有部分開發者反饋回復不準確,存在大模型“胡說八道”的情況,深入追究,發現往往是開發者的提問比較模糊或者提問格式不符合規范。其實這個現象在大模型的各個行業應用中都比較普遍,這也是為什么會有“提示詞工程”的重要原因之一。
為了解決提問不規范的問題,我們單獨開發了一個“AI開發助手”的SaaS,通過定義角色的方式預制 Propmt 提示詞,這樣可以讓熟悉“提示詞工程”的平臺開發工程師匯總運維開發關注的常見問題,比如定義“前端TS專家”,用于解決開發者不熟悉前端的痛點;定義“變量取名專家”,規范開發者的代碼變量命名。
通過“預設角色”功能,智能問答場景進一步降低了開發者的使用門檻,更進一步,平臺開發工程師可以把產品的擴展開發能力——插件開發提煉成模板,開放給普通用戶使用。這樣即使是不懂開發的用戶,在頁面選擇了“插件模板生成員”后,也能快速開發出一個插件出來。
經過一段時間的運行,我們也發現了一個非常實用的提示詞撰寫技巧——CO-STAR 框架。該框架由新加坡政府科技局 (GovTech) 舉辦的首屆 GPT-4 提示工程大賽冠軍 Sheila Teo 提出。
CO-STAR是結構化的Prompt模板六大要素的首字母縮寫,即:
4)原子平臺產品集成
在運維的日常工作中,腳本編寫是一個比較核心且重要的工作,藍鯨平臺已經提供了一套運維基礎操作的原子平臺——作業平臺,讓運維的腳本管理工作頁面化,并且云化腳本版本管理模式,貼合現代化開放協同的理念,協作者借助平臺,可便捷地共享腳本資源。在大模型的能力加持下,作業平臺的腳本管理和問題分析插上了AI的翅膀,尤其是在腳本報錯分析、IT對象操作知識等方面,能力非常突出,極大地提升了運維日常的腳本開發效率,降低了腳本出錯的概率。
5)運維開發平臺集成
最后,在低代碼開發領域,運維開發平臺的優勢在于圖形化開發方式、大量的預制組件、少量手工編碼、實現完整的應用(包含頁面、流程、數據等),可以降低開發難度、開發成本,縮短開發周期,但是也存在產品學習成本高、配置和腳本復雜度高、需求轉化難度大等問題。而這些短板恰好是大模型的優勢——自然語言理解、基本推理、海量代碼的積累,所以,大模型可以比較完美地集成到藍鯨運維開發平臺中,并且在以下功能上帶來了更高的效率和更好的體驗:
① 自然語言自動生成頁面
開發者接到需求后,沒有產品經理,可以直接求助大模型幫忙生成頁面需要的組件,如表格、登錄框等。大模型查詢運維開發平臺內置的組件,并在頁面快速生成組件實例,整個過程比拖拉拽的交互更加高效。
② 修改頁面字段內容和配置
開發者需要針對組件設計一些交互邏輯,如屬性、事件等,可以直接對事件進行描述,如添加一個按鈕,并給按鈕的點擊事件進行描述“跳轉到首頁”,大模型的收到提示詞后生成平臺規則要求的配置或代碼,效果如下:
③ 后臺代碼或SQL生成
運維開發平臺的后臺代碼或SQL語句生成應該與其它的 Copilot 的代碼生成方式更優化,分成以下步驟:
④ 需求文檔生成應用
更復雜點的場景,運維開發希望能根據業務需求,經過少量人為交互,可以直接生成最終的頁面和應用,這個步驟會更加復雜:
04. 未來展望
“把AI和大模型的能力賦能給運維團隊,推動運維開發轉型,實現組織可持續、自生長”始終是藍鯨品牌的發展理念,無論是已經“越過頂峰、走出低谷”的PaaS平臺、云原生技術,還是處于“期望頂峰”的大模型技術,藍鯨始終堅持腳踏實地地推動技術的實際應用,不斷降低運維使用新技術的門檻。當然,我們在中途休息小憩時,也不會忘記仰望星空,選擇摘取幾顆耀眼的“技術之星”,照亮我們的前行之路。
申請演示
主站蜘蛛池模板: 新疆| 邛崃市| 丽江市| 元江| 社旗县| 武清区| 桑日县| 泽州县| 南漳县| 蕉岭县| 隆子县| 桑植县| 东山县| 涟水县| 容城县| 灵宝市| 乌鲁木齐市| 九龙县| 广元市| 金秀| 临汾市| 行唐县| 读书| 海城市| 高阳县| 若尔盖县| 开江县| 玉溪市| 即墨市| 清河县| 搜索| 栾川县| 芜湖市| 临朐县| 天水市| 永宁县| 丰原市| 新竹县| 陇西县| 弥勒县| 邻水|