大模型技術(shù)重塑軟件研發(fā),孕育著顛覆式的應(yīng)用開發(fā)新范式
大模型對(duì)于軟件研發(fā)的一種重塑,我們一直講一個(gè)范式:從In the Loop到On the Loop?,F(xiàn)在大家看到的大模型在軟件研發(fā)領(lǐng)域的應(yīng)用大部分情況是一種輔助的角色,最終軟件開發(fā)還是人,還是各個(gè)程序員,但是未來可能會(huì)發(fā)現(xiàn)在軟件里面有很多角色會(huì)真正被人工智能替代。從我們的測試工程師慢慢到寫代碼的工程師,逐步有一些環(huán)節(jié)被替代。這樣會(huì)發(fā)現(xiàn)原來做軟件的人可能已經(jīng)從軟件開發(fā)的循環(huán)中跳出來了,我們稱之為是有上帝視角,就是變成On the Loop,不在循環(huán)之內(nèi),會(huì)站在治理的角度看軟件,這樣可能對(duì)未來很多應(yīng)用開發(fā)模式帶來本質(zhì)上的顛覆性的結(jié)果。
我們看到軟件本身,更準(zhǔn)確地說是未來應(yīng)用的本身在變化。以前的應(yīng)用都以軟件為主,但是未來的應(yīng)用會(huì)發(fā)現(xiàn)有數(shù)字內(nèi)容,就是新媒體的形式。也會(huì)有大量的數(shù)據(jù)在軟件之中,進(jìn)而有人工智能的模型在里面。之后再和原來的代碼融合,這樣就變成了一種“數(shù)智媒融軟”多模態(tài)的應(yīng)用。可以想象原來只是軟件代碼的生產(chǎn)過程肯定不能匹配新型應(yīng)用的生產(chǎn)過程。另外軟件本身,以前最簡單的交互模式都是通過命令行、圖形界面,未來會(huì)變成大量的應(yīng)用都是通過智能助手,不管是通過對(duì)話或者是更新型的形式交互,但十年以后的黑客帝國,可能看到的世界都是由AI給你重塑出來的。對(duì)于以前的軟件是由我主要設(shè)計(jì)場景是什么,而以后可能是AI來給你制造新的交互世界,你在這個(gè)交互世界中尋找到自我,本質(zhì)上在軟件本身就會(huì)變化。這樣使得在整個(gè)軟件全生命周期,應(yīng)用全生命周期,從設(shè)計(jì)、開發(fā)、測試,以及運(yùn)維都會(huì)有革命性的變化,所以這些一定會(huì)影響未來應(yīng)用。
其實(shí)什么是應(yīng)用現(xiàn)代化,應(yīng)用現(xiàn)代化一直是一個(gè)過程,我們希望一個(gè)企業(yè)的應(yīng)用能夠從傳統(tǒng)的應(yīng)用走向一個(gè)現(xiàn)代化應(yīng)用,這是一個(gè)過程。但是怎么能讓這個(gè)過程被加速,這就是我們企業(yè)所面臨的問題。
所以之前討論過到底傳統(tǒng)應(yīng)用跟新型應(yīng)用有什么區(qū)別,因?yàn)槲覀冎牢磥淼钠髽I(yè)客戶需求越來越多,意味著需要越來越多的應(yīng)用,但是這些應(yīng)用按照開發(fā)者的速度來看,中國開發(fā)者可能現(xiàn)在專業(yè)型就是一千萬左右,未來預(yù)測到2025年可能這種應(yīng)用數(shù)量將是過去人類歷史上40年的總和,這么多的應(yīng)用要被制造出來,怎么樣能夠讓應(yīng)用的制造量變大,是不是需要讓所有人都能參與應(yīng)用的開發(fā),這樣稱之為未來要變成全民都要能開發(fā)應(yīng)用,這樣才能真正滿足未來企業(yè)的要求。企業(yè)大量的數(shù)據(jù)是煙囪型的,怎么讓數(shù)據(jù)被喚醒,被高效地利用,為未來的智能決策提供價(jià)值,這也是面臨的問題。
最近出的軟件現(xiàn)代化里面講應(yīng)用最核心就是要速度,就是要快。以前都是按月為周期,以后怎么變成按天級(jí)產(chǎn)出,這也是企業(yè)希望的。還有本質(zhì)上現(xiàn)在的應(yīng)用也在進(jìn)行架構(gòu)性的調(diào)整,從單體走向越來越多微服務(wù),進(jìn)而演進(jìn)到serverless,不需要為運(yùn)維提供更多的能力,所以新一代的技術(shù)架構(gòu)也在驅(qū)動(dòng)我們的應(yīng)用在變化。
同時(shí)我們現(xiàn)在看到隨著比特幣的出現(xiàn),這種對(duì)于安全的訛詐不像以前有很多鏈路可以追蹤。近幾年在軟件供應(yīng)鏈的攻擊已經(jīng)按照每年6到7倍的方式在增長,以前應(yīng)用安全的方式都是建籬笆和圍欄,用各種墻攔在外面。未來需要讓安全內(nèi)生起來。
第二個(gè),大家現(xiàn)在都知道軟件應(yīng)用成分70%到80%都是開源軟件。每天都在社區(qū)公布漏洞,去年公布的漏洞達(dá)到3萬多,意味著你寫的軟件每天黑客都可以看到應(yīng)用開源軟件的漏洞被公布,就可以攻擊進(jìn)去。所以怎么能讓應(yīng)用變成內(nèi)生和全生命周期的安全,也是企業(yè)面臨的挑戰(zhàn)。
還有更重要的就是隨著整個(gè)企業(yè)IT變成業(yè)務(wù)最核心的應(yīng)用,幾年前看到公告某某機(jī)房檢修,應(yīng)用可能要停幾個(gè)小時(shí),現(xiàn)在每停一個(gè)小時(shí)基本對(duì)企業(yè)都是損失百萬以上,所以變成7×24小時(shí)永遠(yuǎn)不能停機(jī)的應(yīng)用已經(jīng)變成企業(yè)的基本要求。
面對(duì)這些現(xiàn)代化應(yīng)用的訴求,我們發(fā)現(xiàn)必須讓所有的應(yīng)用都能夠被加速,這才是一個(gè)應(yīng)用現(xiàn)代化最高效的路徑。所以我們構(gòu)建了企業(yè)數(shù)字化的平臺(tái),這個(gè)平臺(tái)最重要的就是能夠把企業(yè)面對(duì)未來現(xiàn)代化應(yīng)用的基本要求內(nèi)置到平臺(tái)上來承載。未來會(huì)有越來越多的像人工智能新技術(shù)、區(qū)塊鏈新技術(shù),必須需要有一個(gè)平臺(tái)導(dǎo)入,不可能讓每一個(gè)應(yīng)用開發(fā)者將新的技術(shù)部署研究一遍,如果它能夠變成數(shù)字化的能力基座,這樣企業(yè)進(jìn)化速度就會(huì)變快。
在華為公司有很知名的幾個(gè)變革項(xiàng)目:一個(gè)是面對(duì)研發(fā)的IPD變革、面對(duì)供應(yīng)鏈的變革ISC、財(cái)經(jīng)變革IFS,每一個(gè)變革為華為在該領(lǐng)域能力的提升都是倍級(jí)的增長。現(xiàn)在隨著華為公司又有新的挑戰(zhàn),因?yàn)槲覀円呀?jīng)生出很多新的公司,從集團(tuán)原來的集中式的作戰(zhàn)現(xiàn)在變成“村自為戰(zhàn)”,為企業(yè)IT提出新的要求。我們希望“6+1可”,意思是當(dāng)我決策明天有一家企業(yè)分離出來的時(shí)候能夠做到,如果是物理新開所有的IT,我們希望做到三天,如果需要以多租戶的形式,希望一天之內(nèi)就把一家新的公司分離出來。公司需要具備什么能力就是“6+1可”,馬上就能夠研發(fā),馬上就可以有營銷體系、供應(yīng)鏈體系、財(cái)經(jīng)體系、人力資源體系、行政辦公體系能立即運(yùn)作起來,而且使得內(nèi)控審計(jì)立即運(yùn)作。我們認(rèn)為未來的新型企業(yè)只有這樣才能真正滿足在數(shù)字化變革里面的基線要求,我們需要用數(shù)字平臺(tái)來承載企業(yè)未來的現(xiàn)代化應(yīng)用的歷程。
什么樣的應(yīng)用能夠真正做到現(xiàn)代化應(yīng)用,后來我們也把這樣一些標(biāo)準(zhǔn)貢獻(xiàn)給聯(lián)盟。這個(gè)標(biāo)準(zhǔn)上面是金字塔,頂上關(guān)注的就是業(yè)務(wù)感知,因?yàn)樗形磥砥髽I(yè)的應(yīng)用都是以用戶為核心,過去傳統(tǒng)的應(yīng)用都是功能型,未來系統(tǒng)都是以人為中心的,你需要出差,飛機(jī)、火車、酒店都是圍繞你的用戶歷程進(jìn)行組織,這才是新型的應(yīng)用。
中間的層次就是新型的應(yīng)用,我們稱之為DFX的能力,需要把高可用、彈性的東西內(nèi)置進(jìn)去,一共是八個(gè)維度102個(gè)指標(biāo),一步步衡量起來,才認(rèn)為這樣的應(yīng)用滿足了現(xiàn)代化應(yīng)用的一些能力。
第二,我們認(rèn)為越來越多的應(yīng)用,尤其在企業(yè)里面會(huì)有非常多的成熟資產(chǎn),這些資產(chǎn)應(yīng)該像樂高積木一樣是被組合組裝,才能有最高效地重用,使得以后懂業(yè)務(wù)的人員就可以一點(diǎn)點(diǎn)將應(yīng)用制造起來,就是懂得講清楚有需求的人,未來就是生產(chǎn)應(yīng)用的人。
第三,會(huì)應(yīng)用更多數(shù)倉、數(shù)據(jù)的平臺(tái)匯聚數(shù)據(jù)再使用智能化的能力,使得我們應(yīng)用數(shù)據(jù)價(jià)值被發(fā)揮出來。
第四,應(yīng)用現(xiàn)代化新型服務(wù)化的架構(gòu)改造原來的應(yīng)用架構(gòu),再就是通過全域供應(yīng)鏈安全的一些技術(shù),使得我們的應(yīng)用從原來的單體防御或者運(yùn)行態(tài)的安全走向全生命周期的安全,增加整個(gè)應(yīng)用韌性的能力。
華為云應(yīng)用現(xiàn)代化6大關(guān)鍵技術(shù),引領(lǐng)企業(yè)數(shù)字平臺(tái)升級(jí)進(jìn)化
第一個(gè),研發(fā)智能化。在HDC大會(huì)上發(fā)布了CodeArts Snap也就是基于盤古大模型的研發(fā)智能化的能力。華為內(nèi)部現(xiàn)在有2萬多開發(fā)人員在深入使用基于盤古研發(fā)模型的能力。在我們網(wǎng)優(yōu)網(wǎng)規(guī)的部門有很多算法,而且平臺(tái)中有很多種語言,員工一進(jìn)來對(duì)于不同語言的理解和熟悉程度都是有差異的,尤其是很多深度的算法,很多都是用函數(shù)方式形式寫的,這樣對(duì)于員工理解是有障礙的。還有很多問題的定位周期也很長,因?yàn)閷?duì)整個(gè)程序的理解不一樣。我們使用智能化助手以后做到很多輔助經(jīng)典算法的分析,就把代碼圈起來就會(huì)跟你解釋,對(duì)于開發(fā)人員理解代碼非常有價(jià)值,可以從三天理解時(shí)間縮短到兩個(gè)小時(shí)。第二,為了讓語言盡可能歸一,會(huì)重構(gòu)或者重寫一些模塊,這些模塊通過大模型,最終都會(huì)變成虛擬機(jī)上運(yùn)行的內(nèi)容。所以用這樣自動(dòng)翻寫的能力,可以把很多的程序轉(zhuǎn)換成JAVA。同時(shí)在很多定位方面,可以有大幅地提升。我們發(fā)現(xiàn)在很細(xì)節(jié)的點(diǎn)上,真正的軟件開發(fā)除了補(bǔ)全能力,還有很多應(yīng)用里面,場景上有幾十個(gè)都能夠幫助開發(fā)人員大幅地提升效率。
第三,低代碼開發(fā)。過去程序以前都是模塊型,未來很多場景都是適合低代碼重構(gòu),比如華為云有運(yùn)營系統(tǒng),駕駛艙。運(yùn)營系統(tǒng)的用戶下訂單都是流程性的。過去都是把流程寫在代碼里面,但現(xiàn)在通過工作流的方式,可以進(jìn)行流轉(zhuǎn)的描述,這樣未來理解業(yè)務(wù)人員,比如訂單流程怎么調(diào)整,只需要把拖拽流程的節(jié)點(diǎn)重新設(shè)計(jì)業(yè)務(wù)流又可以更新了,可以把以前一個(gè)軟件周期按照月的方式變成每天業(yè)務(wù)人員都可以調(diào)整這個(gè)流程,所以在這類流程作業(yè)的東西完全適合低代碼的。
還有很多領(lǐng)導(dǎo)喜歡看報(bào)表,駕駛艙很多都是前臺(tái)加上后端的數(shù)據(jù)對(duì)接,很多大屏應(yīng)用都變成一個(gè)個(gè)前端的微鍵以及后端微服務(wù)對(duì)接的模式,可以非常容易以拖拽的方式進(jìn)行存儲(chǔ),這樣一個(gè)大屏的定制不再需要代碼,效率基本上提升50%。
有很多應(yīng)用都類似,比如在華為不同產(chǎn)品線之間,有很多數(shù)據(jù)原始模型是一致的,但是每一個(gè)業(yè)務(wù)都有定制化的要求。過去都是用拓展字段完成的,但現(xiàn)在大家都知道非常出名的Saleforce為什么能夠把各個(gè)廠商用戶管理的東西都能識(shí)別,因?yàn)槭腔诙嘧夂驮瓟?shù)據(jù)的技術(shù)。所以在低代碼中把原數(shù)據(jù)描述清楚之后,后面應(yīng)用基于原數(shù)據(jù)的重新組裝,又可以變成更加快捷的方式。它帶來最大的收益是過去針對(duì)不同的定制會(huì)變成幾十個(gè),甚至上百個(gè)版本,但是現(xiàn)在用原數(shù)據(jù)多租,主線路只有一個(gè)版本,所有定制都是在原數(shù)據(jù)本身上面進(jìn)行差異化。
在數(shù)據(jù)應(yīng)用的時(shí)候,有很多生產(chǎn)制造的東西是確定性問題,如果用大模型的話,可能每次給答案都不太一樣,這樣會(huì)帶來一些困擾,但是我們有大量的數(shù)據(jù)之后,只要是有限源的處理可以還原成數(shù)學(xué),最后變成求解的問題。在華為很多生產(chǎn)排產(chǎn),因?yàn)樯婕暗缴a(chǎn)、物流等各種各樣的因素,我們反過來可以用求解的方式來解決這類的問題,這樣使得過程可以更加確定。在這些點(diǎn)上,最大就是南方工廠,排產(chǎn)應(yīng)用AI求解器后,每年在排產(chǎn)和調(diào)度上年節(jié)省的資金是2億多,庫存提升了37%,而且整個(gè)任務(wù)令的自動(dòng)執(zhí)行效率也提升了52%。所以在智能化的時(shí)代,一部分的非確定性問題都在按照大模型的方式在探索,但也有很多確定性的問題,一方面用數(shù)學(xué)求解器的能力在解決,同時(shí)還有一個(gè)方法,那就是讓AI寫成程序,因?yàn)槌绦虻淖罱K輸出也是確定性的。這樣就能把企業(yè)遇到的兩類問題很好地解決。
前段時(shí)間華為對(duì)外發(fā)布的MetaERP是服務(wù)于華為公司生產(chǎn)制造、供應(yīng)、采購、財(cái)務(wù)業(yè)務(wù)的SaaS應(yīng)用,但是我們?cè)谀觊g、季末、月末有大量的計(jì)算,而且這些計(jì)算要求很短時(shí)間內(nèi)要把結(jié)果輸出,對(duì)算力的集中要求非常大。過去只能把資源進(jìn)行統(tǒng)計(jì),但實(shí)際上就會(huì)發(fā)現(xiàn)是非常典型的波峰情況,到這個(gè)時(shí)候才應(yīng)用,平時(shí)都是閑置。使用到Serverless直接將彈性的能力融入到云的能力,當(dāng)你需要算力的時(shí)候立即供給給你,而且應(yīng)用都變成一個(gè)個(gè)函數(shù)的處理,所以使得在MetaERP的應(yīng)用,整體資源的消耗降低了70%,為企業(yè)省了大量的錢。同時(shí)在很多應(yīng)用的冷啟動(dòng)時(shí)間是用快照的方式,從100多秒下降到7秒,真正開始滿足企業(yè),尤其是在突發(fā)性計(jì)算任務(wù)上,真正能夠幫我們企業(yè)節(jié)省。
第四個(gè),安全可信:安全就是讓研發(fā)工具端到端形成更可靠的供應(yīng)鏈體系,讓12個(gè)攻擊點(diǎn)的地方都被防御。但是現(xiàn)在包括美國和歐洲都在出臺(tái)一個(gè)新的SBOM軟件清單的標(biāo)準(zhǔn),我們的產(chǎn)品發(fā)出去的時(shí)候,可能都不知道里面的成分,開源軟件、版本、集成第三方的情況。但是這些就可能變成軟件最不安全的要素,所以說現(xiàn)在軟件的管理也像硬件一樣,我們的硬件用什么芯片都是清清楚楚的,以后軟件在生產(chǎn)過程中都會(huì)最終在交付件上提供SBOM清單。SBOM清單在中國也在形成標(biāo)準(zhǔn),以后在軟件的編譯過程就會(huì)出這樣的清單,對(duì)于軟件制造商可以非常清晰地看到你依賴的軟件,當(dāng)一個(gè)漏洞發(fā)布的時(shí)候就知道對(duì)現(xiàn)網(wǎng)有多少影響。反過來,也保護(hù)了軟件一致性上的新要求,所以這塊也會(huì)變成安全非常重要的環(huán)節(jié)。
最后一個(gè)是韌性。在華為云上引入混沌工程,我們一直期望軟件設(shè)計(jì)的永遠(yuǎn)高可用,這些都是做不到的,一直講只有在實(shí)戰(zhàn)中才具備經(jīng)驗(yàn)。所以好天氣是造就不了好水手的,所以現(xiàn)網(wǎng)的環(huán)境是必須需要越來越多容災(zāi)的檢驗(yàn),才能夠提升風(fēng)險(xiǎn)應(yīng)對(duì)能力。
混沌工程是驗(yàn)證系統(tǒng)韌性的方法,通過主動(dòng)引入故障,解決這些問題,發(fā)現(xiàn)和修復(fù)系統(tǒng)弱點(diǎn)。在華為云中,已經(jīng)大概總結(jié)出了200多個(gè)故障模式,有八大類的容災(zāi)預(yù)案。每年會(huì)開展2500多次常態(tài)化的故障演練,現(xiàn)在來看,已經(jīng)幫我們攔截了接近90%以上可能會(huì)導(dǎo)致二級(jí)或三級(jí)事故的風(fēng)險(xiǎn)。所以希望通過混沌工程的方法能夠使得未來要做到1到5分鐘就能夠感知故障,10分鐘內(nèi)就能夠跟進(jìn),30分鐘內(nèi)就可以完全恢復(fù)業(yè)務(wù),這樣未來這些應(yīng)用才能更加穩(wěn)健。