2008年是一個不太普通的年份,前一年,iPhone上市,后一年,Android發布。在兩大移動操作系統誕生中間的2008年,幾位對操作系統非常熱衷的工程師創立了中科創達(ThunderSoft,以下簡稱“創達”),其為新興的智能移動設備提供高效、易用、安全、美觀的操作系統。
在2015年創達在深圳創業板上市的時候,有人說創達的成功是因為趕上了移動互聯網的風口,有人說是因為一開始的國際化布局,有人說是因為有一群團結、肯干且能干的人,有人說是得益于中國的移動設備供應鏈基礎。但只有極少數人能夠理解,這實際上是“操作系統工程”理念的成功。在上市前和券商的交流中,我們發現即使是解釋清楚“操作系統”是個什么東西都是一件非常艱難的事情。所以,在很長一段時間里,我們只是埋頭服務客戶,完成項目,開發產品,不再試圖解釋這個理念。但我們內心清楚,這一理念才是我們前進的動力。
圖表 1 - 創達發展歷程
在AIoT方興未艾的今天,當我們面對著比創業當年更多的設備,更先進的技術,更復雜的系統,遍布全球的子公司和五花八門的需求的時候,覺得有必要再次試著解釋一下“操作系統工程”這一理念。
操作系統工程技術和理念
操作系統處于硬件芯片和應用程序中間,為開發者提供虛擬機和編程接口。這是傳統教科書中的經典定義,今天也是如此。2008年,iOS和Android等移動操作系統的發布,為眾多的設備廠商和應用開發者打開了一個美麗新世界。在功能機時代,芯片功能單一,應用場景簡單,操作系統的作用并不突出。在移動互聯網時代,伴隨著交互技術和連接技術的發展,芯片和應用都更為復雜,進入這個復雜而美好的移動互聯網新世界的入口就是操作系統。
喬布斯曾經說過:“簡單比復雜更難”。如何把復雜的技術通過簡單的方式展示,不止是蘋果面對的課題,也是操作系統和創達面對的課題。在功能機時代,聯發科首創了“交鑰匙”模式,為手機廠商提供簡單易用的功能機方案,其可以在一兩個月內就定制好一款手機。當時深圳華強北的手機盛市就是這一模式的成功體現。在移動互聯網剛剛興起的時候,手機廠商研發一款智能機需要6到8個月左右。而創達把功能機的“交鑰匙”模式應用到智能機,開發出了高通平臺參考設計(QRD),從而把智能機的開發時間縮短到2到3個月,加速了功能機向智能機過渡進程。一只小小的智能手機,由上千個零件組成,涉及芯片、射頻、設備、操作系統、GPS、WiFi、散熱、功耗、應用、攝像頭、音頻、視頻、安全、UI等等幾十個技術領域,復雜程度不亞于50年代的火箭系統。通過應用當年促進火箭系統飛速發展的系統工程技術,創達將智能移動操作系統中復雜的各個模塊進行解耦和重構,通過清晰和靈活的接口定義,為手機廠商和移動互聯應用的開發者提供了一個復雜而有序的操作系統平臺。
圖表 2 - 典型的AIoT系統團隊
在十幾年的發展過程中,操作系統工程技術和理念一直貫穿者創達所做的每一個項目和產品中。隨著人工智能、物聯網和網聯汽車的發展,我們又一次看到了和十年前類似的情況出現:新的技術發展(人工智能、5G、物聯網)打開了新的應用場景(網聯車、智能制造,智慧城市...),在面對有上萬種模塊構成的網聯汽車的時候,在面對有成千上萬種物聯網設備的時候,在面對更為復雜的技術領域的時候,我們相信在智能物聯網時代,和十年前開始的移動互聯網時代一樣,操作系統工程技術和理念才是把復雜系統變簡單的終極解決之道。事實上,創達15年發布的TurboX移動物聯網模塊,就是這一理念在智能物聯網時代的應用體現。
TurboX智能模塊和網聯汽車
在十年前智能手機開始興起的時候,大約有百余家智能機廠商。而在幾年前物聯網興起的時候,幾乎是一夜之間,世界上出現了成千上萬五花八門的物聯網設備:無人機,機器人、智能攝像頭、溫度控制器、智能網關、AR/VR、可穿戴設備等等。智能物聯網廠商往往有著比智能手機廠商更瘋狂的想法、更短的上市時間要求和更少的投入預算,而且物聯網設備的系統更為復雜,要求更為苛刻,一個參考設計無法滿足所有這些物聯網設備的需求,解決之道還是我們創業之初秉承的操作系統工程技術和理念。通過操作系統與傳統的連接模組技術產品相結合,創達15年推出了全新的TurboX智能大腦模塊。該模塊既保持了傳統連接模組的方便性和模塊化,又提供了智能操作系統平臺。智能物聯網的廠商和開發者基TurboX智能大腦模塊,可以快速開發和部署各類物聯網應用和智能算法。
圖表 3 - 創達TurboX智能模塊及開發套件
智能網聯汽車是一類特別的智能物聯網設備。有人說智能網聯汽車就是一臺裝了四個輪子的智能手機。事實上,智能網聯汽車的復雜程度和對智能、性能、實時性、可靠性和安全的要求,要遠遠超過智能手機。面對有著幾萬個零件的汽車,如何讓它變得更加智能,解決之道還是操作系統工程技術和理念。針對智能網聯汽車特別的復雜性和可靠性要求,我們進一步把整體系統分解為交互系統、安全系統、連接系統、智能系統、應用系統、傳感器系統等六大子系統。復雜問題可以通過將其分解成幾個相對簡單的問題加以解決,Divide & Conquer, 這是一個樸素且華麗,簡單又復雜的方法。一開始,這似乎只是個復雜一點的技術問題,把一個大系統分解成幾個子系統,子系統再進一步分解為幾個子模塊,再各個擊破即可。這個聽上去很美的方法,為何在實際項目和產品中很少得到有效應用,廠商和開發者和幾十年前一樣還是在一次一次地進行項目“死亡征途"?根本原因是,沒有有效技術、設計和組織支撐的系統分解,會導致更多的無序系統接口出現,反而增加了系統的復雜性。真正的解決之道不是進行“系統分解”,而是進行“有序的系統分解”。舉例而言,將展示和實現分離,一直是軟件工程所面對的課題。對于智能網聯汽車而言,這個問題就是,如何把設計部門提出的復雜交互設計,交由工程部門進行完整的實現。事實上,很多系統平臺都提供了將展示和實現分離的機制,比如Qt的Signal/Slot機制。然而,這樣的實現卻始終沒有真正被車廠有效應用,交互設計團隊和工程實現團隊都在抱怨,這是為什么?這是因為,之前的很多展示和實現分離機制往往是由工程師完成的,目標是把代碼無縫地嵌入到交互設計當中,這種方式在簡單的互聯網應用中是有效的,而面對智能網聯汽車的多屏,多交互方式,復雜UI設計的場景,就體現了工程思維的局限性,限制了交互效果的實現。而類似Unity3D這樣的游戲引擎又走到了另一個極端,更多關注效果的設計,而對工程實現有所忽視,導致復雜的技術(安全,連接,智能等)無法得到有效應用。面對這個問題,創達提供的Kanzi 3D UI引擎,讓交互設計團隊和工程技術團隊協同設計研發,通過Kanzi Studio的工具,有效地將兩類不同思維的團隊有機結合在一起。所以,操作系統平臺技術的開發和實施,其最終面對的不是技術問題,而是組織問題。
圖表 4 – 創達智能車載操作系統架構
基于同樣的理念,2018年創達推出了AI Kit和Robot Kit開發套件,用以滿足更為復雜的人工智能應用需求,其通過統一的模塊架構,豐富的硬件接口,統一的應用接口,云端一體的連接方式,在智慧農業,智能制造,智慧城市等領域得到了廣泛應用。如同當年把開發一個智能機的時間從8個月縮短到2個月一樣, AI Kit和Robot Kit開發套件,也可讓開發者開發一個智能方案和機器人也可以縮短到2到3個月以內。在基于這些智能套件在各個行業的應用過程中,我們再一次體會到操作系統工程理念的作用和意義。事實上,通過我們的具體時間表明,這才是AIoT的終極解決之道。
AI落地問題的答案在AI之外
AI是一個熱的不能再熱的領域,AI落地也是一個難得不能再難的問題。如同喜馬拉雅山,面對這個美麗誘人而且充滿危險的第一高峰,不同的人試圖走不同的路線登頂。有的人走AI技術之路,強調AI算法和模型的重要性,匯聚了大量且昂貴的AI算法人才;有的人走數據之路,強調數據的重要性,準備把多年積累的大數據一朝變現;還有人走服務之路,認為服務是最關鍵的問題,認為系統集成的方法在AI應用領域同樣適用。而我們認為,這個復雜的AI落地問題,和我們十年前面對的智能機系統問題,以及我們四年前面對的物聯網系統問題,沒有太多本質的區別,事實上,都是智能技術在不同領域的不同形式的應用。AI只不過為這個本來就比較復雜的系統,增加了更為復雜的技術模塊(AI,數據管理),打開了更為廣闊的應用領域而已。因此,操作系統工程技術和理念同樣適用。我們走的正是這一條“操作系統工程”之路。
我們最近剛走著這條“操作系統工程”之路登頂了一次,為一家大型顯示屏廠商開發部署了智能質檢系統。通過這套系統,屏幕瑕疵的檢出率達到92%以上,遠遠超過了人工水平;而效率,更是從人工質檢的5分鐘極大地縮短到幾秒鐘以內。在項目結束的復盤過程中,我們在整個項目的投入當中,AI算法研發部分只占整體投入的10%左右,而剩下的90%的工作,包括了整體系統搭建,前端設備部署,性能優化,數據管理等多個領域。如果只會AI算法開發,無疑是無法完成這樣規模的項目的。但如果只有集成團隊,同樣無法提供所需的AI核心技術基礎。如何把AI算法團隊,云端大數據團隊,智能終端系統團隊,系統應用團隊,攝像頭和傳感器調校團隊,系統優化團隊等多個團隊組織在一起,定義好團隊之間的接口,正是“操作系統工程”所解決的問題。這次登頂的經歷,進一步證明了“操作系統工程”這一理念面對AIoT這樣的復雜系統的有效。