截至目前,人類能製造的AI,仍然侷限於定義上的“弱人工智能”,無法完全取代人的作用。
但所有這些認識,在方然看來,皆有其片面性。
譬如軟件工程領域,一般認爲,人的作用在軟件開發流程中必不可少:軟件的需求分析,架構設計,模塊編寫,集成測試,乃至驗收交付,維護升級,都是難以規格化、標準化的千差萬別,這一情形並未被1420年代衍生出的“軟件工程”概念所終止。
時至今日,計算機越來越先進,IT領域的架構師、程序員和運維人員仍有增無減,就是證據。
但,就在這無數人的智慧之上,隨着計算機網絡、軟件系統的愈加龐大、複雜,在直接與用戶打交道的前端應用之外,爲終端、節點及應用程序提供底層支持的系統和軟件,規模也越來越大,這些軟件的設計,無須過多考慮人的因素。
自身是軟件,外聯的則是其他軟件,變革,正發端於這些靜默運行於後臺的系統。
每天的日常,是根據文檔完成系統模塊、或者設計算法,方然只是“國際商用機器”公司的普通員工,憑藉蛛絲馬跡和縝密思考,他纔在幾個月後發現,自己參與完成的軟件,似乎就與AIASG有關。
作爲“國際商用機器”的戰略項目,AIASG並不像其他的項目規劃那樣,在網絡上有大量的新聞報道,這更讓方然好奇。
憑藉黑客手段,他陸續拿到了一些內部材料,閱讀後,就基本驗證了自己的猜測:
AIASG,顧名思義,的確是一種能獨立開發軟件的存在。
脫離了開發者的智慧,AI,本質上只是軟件和運行軟件的硬件,這樣的東西,如今已能完成從即時翻譯到自動駕駛的很多事,但要“編程”,就有些不可思議。
“國際商用機器”公司必定很早就規劃了這方面的工作,不僅在AI算法上有了重大進展,想必,還構建了龐大的軟件工程通用庫。
通過自身參與的邊緣性工作,窺探AIASG的原理,並不太難。
在軟件工程中,人的智慧,究竟怎樣發揮獨特的作用呢,一方面是分析需求,提出要解決的問題,另一方面則是對給定的問題,給出解決的方案。
與普通人的認識相反,提出問題,往往比解決問題更困難。
“認識,分析與改造客觀世界”,人的一切活動,顯然也包括需要用計算機來進行的活動,總可以歸結於此,對特定的問題,無數前人的智慧已經找到了解法,那麼這些解法,稍加變換,應用到類似問題的解決上,這種事就並非不能用AI來完成。
與此相比,從前述的“認識,分析與改造”過程中,提煉出新的問題,並獨創性的給出解決方案,才更加困難。
人工智能的前沿動向,坦率的講,方然並不甚了了,但是他也知道,目前的研究熱點集中在所謂“仿生”,從“人工神經網絡”到“學習體系”的諸多分支,都試圖模仿人腦的學習和演化過程,也就是用龐大而複雜的電路,通過自組織、混沌演化的方式,模仿人的智力獲取與提升過程。
但對於AIASG,原則上,並不需要這些高深的架構才能實現。
計算機網絡中的軟件,浩如煙海,真正歸納起來的種類卻並不多,絕大多數軟件要應付的問題,性質都彼此雷同,尤其在覈心網與服務器上運行的後端程序,對接的都是其他計算機,幾乎沒有人的因素。
這樣的軟件,一言蔽之,面對的問題、和解決的算法,都具有高度的規律性。
“國際商用機器”公司的AIASG系統,具備極高的複雜度,依託於巨型計算機的100PFlops級(每秒一萬億億次)算力,對給定的系統要求,可以自動生成、部署與維護特定的軟件系統。
這且不算,按方然查到的資料,這AIASG分明已演化到了2.0版本,在生成軟件的過程中,幾乎完全跳過了“編程”這一環節。
想一想也是,編程,程序設計語言,這些東西都是人才會用到。
軟件自動生成軟件,整個過程,完全在計算機系統和網絡中進行,擺脫了繁瑣而低效的人機界面,軟件中的指令,自然也不必再仰賴“程序設計語言”這種人與計算機的交互工具,即,跳過了“編譯”、“解釋”環節,而從算法直接生成機器碼。
同樣是“製造”軟件,AI的做法,和人大不一樣,這引發了方然的高度關注。
作爲新興事物,AIASG生成的軟件,可想而知一開始的效率比較低下,還會包含若干邏輯與流程層面的缺陷,這一點,與人類主導的軟件工程並無二致。
但是接下來發生的事,就有點可怕:
與人類的工程組織協調能力不同,AIASG的軟件迭代速度,超乎想象。
軟件迭代,一個稍顯專業的軟件工程術語,說白了就是在開發、或運維過程中,對有瑕疵或缺陷的軟件進行改進,這種事說起來容易,卻往往佔據了軟件公司的大部分項目預算,即便錢不是問題,也常常會耗費大量時間和人力,最終仍難免超期。
軟件開發中的工期拖延,相當普遍,這並非由人的主觀錯誤、而是由客觀限制導致。
自從西曆1387年,蓋亞誕生了名爲ENIAC的第一臺電子計算機,幾十年來,計算機領域的發展始終十分迅猛,硬件性能突飛猛進,軟件系統也隨之越來越龐大,直到超出了人的頭腦、智慧所能掌控的程度。
軟件規模超過了一定限度,人的記憶就會溢出,繼而錯誤頻發。
wωω• ttκan• ¢Ο 即便用軟件工程的管理和協調手段,大量開發人員一起工作,其總能力仍顯著低於單個開發人員能力的算術和。
這種能力的損耗,受限於人的交流、溝通之低效,短期內並無解決的希望。
但是AIASG,作爲一個工作的整體,進行軟件迭代、測試與部署工作時,就沒有這些人類軟件開發團隊纔會碰到的困擾。