“軟件系統(tǒng)”怪談:去“系統(tǒng)”化的架構才是未來
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
現(xiàn)狀“軟件系統(tǒng)”這一概念幾乎每個人都不陌生。根據(jù)維基百科的定義:軟件系統(tǒng)是基于計算機系統(tǒng)的軟件(硬件和軟件組合)的組成部分。它通常由多個單獨的程序和配置文件組成,這些程序用于配置系統(tǒng),提供運行環(huán)境,支持系統(tǒng)文檔和用戶文檔。 我們?nèi)粘I钪谐岬健澳衬诚到y(tǒng)出現(xiàn)問題”或者“登錄某某系統(tǒng)”等等。 在軟件行業(yè),許多項目以“系統(tǒng)”作為開發(fā)和運營的邊界。尤其是數(shù)字化企業(yè),通常需要多個系統(tǒng)來滿足業(yè)務需求,有時甚至數(shù)千個系統(tǒng)并存。
上圖為一個典型的企業(yè)系統(tǒng)化架構,其中云平臺提供IaaS和PaaS能力,在此之上構建了包含多個系統(tǒng)的公共能力層,并基于公共能力層按業(yè)務領域構建各個業(yè)務系統(tǒng)。 系統(tǒng)化架構的困境盡管這種系統(tǒng)化架構在過去十幾年里取得了一定的成功,但隨著企業(yè)規(guī)模的擴大,技術的日新月異,這種架構暴露出了越來越多的問題,具體表現(xiàn)為以下幾點:
這些問題的積累使得以“系統(tǒng)”為邊界的數(shù)字化架構不僅增加了數(shù)字化的投入成本,而且在業(yè)務快速變化的背景下難以有效支持業(yè)務創(chuàng)新,同時難以滿足用戶體驗和數(shù)據(jù)治理的需求。 規(guī)范與中臺的演進為了解決上述問題,業(yè)界普遍采取了兩種策略:制定規(guī)范、建設中臺/平臺。 許多規(guī)模較大的企業(yè)都會制定針對軟件采購、設計、研發(fā)、部署和運維的統(tǒng)一規(guī)范。這樣做的核心目的是解決不同系統(tǒng)之間在開發(fā)、運維和數(shù)據(jù)層面上的不一致性。然而,確保規(guī)范的全面性和執(zhí)行力卻往往是一個巨大的挑戰(zhàn)。為什么這么說? 最基礎的兩個問題是:怎么確保規(guī)范可以滿足絕大部分的業(yè)務需求?怎么確保規(guī)范的執(zhí)行落地? 這需要企業(yè)有足夠的規(guī)范制定能力、執(zhí)行能力,以及對規(guī)范的監(jiān)督能力。對于大多數(shù)企業(yè)來說,規(guī)范都只流于紙面,很難真正落地。 核心的原因是什么?康威法則(Conway’s Law)指出: “Organizations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organizations.” 簡而言之就是 什么樣的組織架構產(chǎn)出什么樣的系統(tǒng)架構 。當我們都在關注軟件規(guī)范設計執(zhí)行時,實際上真正要先改變是組織架構。不同研發(fā)團隊、業(yè)務團隊的匯報關系、考核方式、利益分配方式,是導致不同系統(tǒng)間不一致且規(guī)范無法推行的根本原因。 在此背景下,“組織先行”的理念應運而生。即在進行中臺建設之前,先調整組織架構,將多個小團隊合并成規(guī)模更大的跨領域團隊,進而提高規(guī)范執(zhí)行力,從而解決不同系統(tǒng)間的割裂與不一致性。 上圖為中臺化架構的示意圖,能夠看到將相關能力相近的系統(tǒng)整合到同一領域中,形成了數(shù)據(jù)、技術和業(yè)務的中臺。中臺建設有一個通俗的說法是“打山頭”,本質就是對系統(tǒng)進行整合和歸并,減少不必要的重復建設,然后再基于相對統(tǒng)一規(guī)范的服務化能力,構建一個個小微應用。 但是,中臺化的架構也是“理想很豐滿,現(xiàn)實很骨感”。我在往期多次講過,這里不贅述了。盡管這種做法能夠減少系統(tǒng)數(shù)量,提高業(yè)務能力的一致性,但它并沒有解決“系統(tǒng)化”的本質問題,只不過是將多個小系統(tǒng)合并成一個大系統(tǒng)。更重要的是,跨中臺之間的協(xié)調問題仍然沒有得到有效解決。 軟件架構的本質在繼續(xù)深入探討之前,我們不妨先回顧一下幾個核心問題: 軟件的本質是“數(shù)據(jù)+算法(或流程)”的集合。數(shù)據(jù)是軟件的基礎,算法是其靈魂。軟件的最終目的是處理數(shù)據(jù),并通過算法實現(xiàn)特定的業(yè)務邏輯。 軟件的最小單位是“函數(shù)”。函數(shù)是軟件的基本構成單元,函數(shù)之間通過參數(shù)傳遞數(shù)據(jù),通過返回值傳遞結果。為了能夠更好的復用函數(shù),我們將函數(shù)封裝成類、模塊、庫、服務等。 應用是為了解決某個具體的業(yè)務問題而開發(fā)的軟件,并提供用戶界面。而系統(tǒng)則是應用的集合,旨在解決一類或多個業(yè)務問題。 軟件的架構就是一層層的套殼(封裝),是典型的洋蔥架構。在這個架構中,數(shù)據(jù)和算法是軟件的核心,從最抽象的維度看,只要設計好了數(shù)據(jù)和算法,軟件就可以運行。但從工程的角度看,我們需要將數(shù)據(jù)和算法封裝成函數(shù),將函數(shù)封裝成類、模塊、庫、服務,將服務封裝成應用、系統(tǒng)。 這也是“系統(tǒng)”存在的原因。在以前當我們說要去“系統(tǒng)”化時可能是天方夜譚,中臺(本質還是大系統(tǒng)套小系統(tǒng))化架構也未能解決。 但是,我們要明確的是工程化的手段也隨著技術的進步在不斷的演進。當我們從軟件的本質出發(fā),重新審視軟件的架構時,會發(fā)現(xiàn):其實我們并不需要那么多的系統(tǒng),在AI時代,只需要一個“AI系統(tǒng)”就夠了。 AI即系統(tǒng)
下文將進一步探討AI即系統(tǒng)的架構。 在AI即系統(tǒng)的架構中,AI操作系統(tǒng)(AIOS)是核心,它不僅具備常規(guī)的AI能力,還具備以下三個關鍵能力。 關鍵能力數(shù)據(jù)管理能力數(shù)據(jù)是AI的基礎,若沒有高質量的數(shù)據(jù),AI便無從談起。 數(shù)據(jù)管理的目標一是要能按規(guī)范“分門別類”地規(guī)劃存儲;二是要能按權限“安全可靠”的讀寫;三是要能按需求“快速準確”的查詢。 數(shù)據(jù)管理在功能上包括數(shù)據(jù)采集、清洗、歸一化、存儲、查詢等能力。PaaS層提供包含事務型的操作類數(shù)據(jù)及分析類數(shù)據(jù)的通用化的計算、存儲能力,AIOS則實現(xiàn)定制化的數(shù)據(jù)處理能力。 數(shù)據(jù)管理在技術上沒有特別之處,這一領域也不是AI所特有的。整體上是要將企業(yè)的領域模型與主流的數(shù)據(jù)治理的方案(比如DAMA-DMBOK)相結合。 當然,如果一定要說AIOS在數(shù)據(jù)管理上有什么特別之處,可能有兩點:一是具備明確、規(guī)范的元數(shù)據(jù)信息,以確保AI可以準確地理解數(shù)據(jù);二是包含更多向量的數(shù)據(jù),以便AI可以更好地處理數(shù)據(jù)。 Agent管理Agent也叫智能體,目前Agent是一個很寬泛的概念,可以是一個簡單的腳本,也可以是一個復雜AI產(chǎn)品。 對AIOS而言,Agent的目標一是要能具備原子化數(shù)據(jù)CURD、函數(shù)(算法)的執(zhí)行能力;二是要能具備針對一組流程化的需求的編排能力。 Agent在技術上最基礎的是要能基于Function Call實現(xiàn)函數(shù)調用,其次要能具備聯(lián)網(wǎng)查詢、數(shù)據(jù)處理、API調用等通用化的能力。每個Agent本質上就是一個個有副作用(因為涉及外部數(shù)據(jù))的函數(shù)。 響應式交互框架為了能將用戶的需求轉化為AIOS的操作,AIOS需要具備響應式交互能力。 響應式交互框架可通過語音、視覺的方式輸入用戶意圖并返回結果。何為“響應式”?就是能夠根據(jù)用戶的輸入實時調整輸出。比如用戶說“我要看最新的銷售數(shù)據(jù)”,AIOS可以實時返回最新的銷售數(shù)據(jù),而不是返回一個固定的、包含其它冗余信息的結果。 響應式交互框架在技術上最核心的是要構建一套DSL,要求Agent可以返回DSL格式的結果,同時AI也可以根據(jù)DSL格式的輸入轉換成純文本、圖像、復雜排版(HTML格式)的輸出。特別是復雜排版的輸出,需要涉及對模型的微調或訓練,以確保輸出的結果是符合用戶期望的。 示例AIOS最核心的三個能力介紹完畢,但在這此之上還需要構建一個響應式的通用應用,用于把響應式交互框架的能力包裝到不同的平臺之中。比如電腦、手機、智能音箱、車機等。 舉一個簡單的例子:用戶在手機上通過響應式的通用應用說“我要看最新的銷售數(shù)據(jù)”。其流程如下(需結合《AIOS助力數(shù)字化項目建設的暢想與實現(xiàn)路徑》一文理解):
主流AI能力除了這幾個關鍵能力外,AIOS還需要具備主流的AI能力,以用于構建模塊AI化、系統(tǒng)AI化。比如通過OpenAPI、低代碼,將AI能力暴露給開發(fā)者,以便于構建較為固定的業(yè)務應用(上圖的應用1、2、3)。 小結“AI即系統(tǒng)”代表了數(shù)字化建設的終極目標,它不僅僅是一種技術升級,而是徹底改變企業(yè)運營的方式。屆時企業(yè)數(shù)字化只有一個系統(tǒng),即AI操作系統(tǒng)。通過將AI深度融入企業(yè)的核心業(yè)務,AI操作系統(tǒng)將極大提升效率和智能化水平,企業(yè)將不再依賴傳統(tǒng)的多個分散系統(tǒng),而是依托一個智能化的系統(tǒng)平臺來驅動所有業(yè)務。這一愿景盡管尚未實現(xiàn),但隨著AI技術的飛速發(fā)展,我們可以期待這一目標在不遠的將來成為現(xiàn)實。 彩蛋:納德拉在一次采訪中所表達的AI Agent或將替代所有SaaS ( https://www.youtube.com/watch?v=d6J4H1KaJ0A ) 也是對這個方向的一個預言。 閱讀原文:原文鏈接 該文章在 2025/2/8 10:19:37 編輯過 |
關鍵字查詢
相關文章
正在查詢... |