關于AI時代的程序架構的變化
以ChatGPT為代表的AI出現,表示著AI的零點時刻已經突破。現在AI的使用已經不用再多說了,實際上是已經侵入到各行各業。所有人都在瘋狂尋找本行業AI的使用場景,這樣的盛景只在互聯網剛出現的時候能感受到。
馬化騰說,這個AI有可能像電一樣是重要的未來的基礎元素。我感覺還是很有可能。原來波士頓動力的機器人做的都只是翻跟頭跑步,給人感覺是四肢發達頭腦簡單,感受不到智能的存在。但是結合攝像頭語音控制。以及生成式AI,目前已經有公司實現了用語音命令機器人做一些原來做不到的事情。例如對機器人說“把紅色的蘋果放到某某的照片旁邊”,然后機器人聽到之后照做。這種場景中,人工智能的驅動力就體現出來了。前兩年很火的華為天才少年稚暉君的創業也是做這個事情,特斯拉的“擎天柱”也是這個路線。
對于應用程序開發者而言,我們的如何來使用人工智能?ThoughtsWorks說他們做了一系列的實驗:提升devops的效果;在編程實驗中使用AI最終提升20%到30%的效率;也嘗試了對應用程序來進行重構,用一些Dsl來做指導,引導AI生成代碼;同樣也探索了AI在業務邏輯層面的適配。但是我認為這個還不夠。沒有真正抓到開發的痛點。
開發的痛點是編程不快嗎?是設計不深入嗎?是DevOps不連貫嗎?
是需求變化!
我們到現在為止是怎么對待需求的?“需求的變化要進行遏制,否則會導致程序的改動量太大”!即使是我們現在推行號稱“擁抱變化”的敏捷開發,實際上也沒有對業務的變化百依百順,還是以遏制居多。
但是你要知道客戶最害怕的是什么?他們害怕的是軟件寫的太固定,沒有辦法適應業務的需求。更害怕的是軟件都已經開發完了,但是業務又變了。而對開發者來說,害怕的是軟件還沒編完,客戶的需求變化了(當然,編完了就不怕了,畢竟可以讓客戶加預算嘛)!
我發現現在的軟件行業里,ISV和客戶之間形成了一種奇怪的博弈邏輯:所有人都在圍繞著一個抽象的名詞“需求變化”在進行博弈,沒有人想著怎么真正解決客戶的問題。
要知道,客戶的市場在不斷變化,任何一個公司要適應變化才能夠有生存。客戶之所以找我們開發軟件,是因為他們想要一個能夠適應市場變化的IT工具,幫助他們快速適應市場需求。客戶和ISV沒有一方是愿意需求變化的,但是又不得不去適應。如何適應?傳統的手段能做到的不多,所以面對需求變化,要么耍賴,要么遏制。
未來AI進入應用程序,解決的一定是適應變化的問題!
若干年前,我和朋友在討論應用分層的概念的時候,發現了應用系統中的“膠水層”。在領域驅動設計(DDD)中也明確分了用戶界面層(UI層)、應用層(Application層)、領域層(Domain層)、基礎設施層(Infrastructure層)。在需求變化的時候,每一層受到的影響也不同:界面層變化最大,但是代價較低;應用層變化較大,但牽一發動全局,會影響到其他各層;領域層深入到原子化的業務,只要不做根本性的變化,基本可控;基礎設施層則受影響很小,除非架構大變化。
這個“膠水層”就是“應用層”。為了讓應用層可以底層本快速適應需求變化,馬丁福勒推出了dsl的概念。試圖用解釋性語言解決應用層變化過快的問題。主意不錯,但業界實際上沒做好,沒有完全解決。SOA則提出了編排的概念,試圖用后期流程圖的方式把應用層的變化以低成本的實現。我和朋友則是提出了用nodejs來做業務的編排和適配(屬于是重復發明輪子了)。
直到AI的出現。我認為基本解決了這個問題。
因為有AI的出現,應用層要繼繼續拆分。一些固化的,重要的流程用dsl或者編排的方式進行。但是一些靈活的業務串聯,就會通過AI來進行關聯和匹配,并以AI理解的方式調動整個企業應用系統的執行。也就是說,流程依然存在,但是流程會變得更細和碎片化。用AI組合這些流程,形成最終交付的應用系統形態。
在這種形態中,跨流程會變得更容。但是大而全復雜的流程將會消失。
從這個意義上來說,因為AI的出現,復雜應用比簡單應用面臨更大的挑戰和淘汰的風險。
如果你做ERP的或者做財會的。或者是做MES的小企業,那么恭喜你!小ISV翻身做大的時代又來了。新出現的獨角獸一定是AI占很大比重的軟件開發企業。
同理。只要能解決并適應業務變化的問題的軟件,市場上就會很受歡迎。
之前有一個做etl的企業,做出了一個在網上做流程整合的,叫做Cloud HUB,聽說活得不是很好。如果沿著剛才的思路往下延伸,互聯網上面向個人的業務整合都瞬間變得有價值起來。

公眾號:老翅寒暑
浙公網安備 33010602011771號