淩夏樹對新a.i.放在首位的要求就是‘聽話’,這個對彆的a.i.來說毫無意義的問題,卻在最近的隱世旅程中給淩夏樹造成了不小的困擾。
他之所以會念念不忘要編寫一個新的a.i.,就是因為瘋狂希望雖然潛力很足,但是可控性卻十分差勁,感覺就像是養了一頭非常有主見的寵物,它本身並無惡意,相反還十分重視淩夏樹的安危,但對淩夏樹的指令卻經常要想一想才去做,有時候如果感覺到有危險、還會本能地打個折扣甚至拒絕執行。
這對控製欲極強的淩夏樹來說是絕對不可容忍的。
因此新的a.i.框架裡麵,淩夏樹不準備在智能方麵投入太多,有基本的底層邏輯庫就已經足夠,淩夏樹的戰鬥風格也決定了他更願意親自操作a.i.戰鬥,‘靈活多變’並不是主要選項。
然而這裡麵似乎就產生了一個新的衝突:這個a.i.既需要實現他初步構想的‘領域’環境,又不能有過高的智能……聽起來就是完全對立的要求,根本不能達到。
但淩夏樹並不是胡亂設計的,在確認了自己的編程思想之後,他就開始思考這個問題,並在不斷的摸索中構思好了解決方案,那就是采用所謂的“模仿算法”。
這是一種在過去地球上的各種工業裡曾經很流行了一段時間的編程思路,簡單地概括起來就是讓a.i.直接利用人類積攢的某種行為經驗來解決各種問題,但缺點是隻能解決‘已經有經驗’的問題,遇到超出經驗範圍之外的事情,就會變得完全無法處理。
因此,這樣的程序又被稱為“學徒算法”,就像過去學手藝的學徒一樣,能夠憑借多年積攢的經驗在某個行業裡嫻熟地製造產品,但因為並沒有掌握原理,一旦換個工具、甚至換種材料就等於全部作廢,在程序來說也同樣如此——汽車自動駕駛的a.i.裝到廚房機器人身上,結果必然是一塌糊塗。
淩夏樹本來也沒有對效果抱很高的期望,隻要它能替代自己進行大量繁瑣的機械操作、當一個合格的後台苦力,就足以滿足他的要求了,說起來倒是很像主機係統的構成,淩夏樹自己是軟件,而新a.i.則充當了機器代碼層的角色……所以他準備編寫的正是這樣一個‘學徒’程序。
剛開始的時候他會親自使用‘領域’,讓新a.i.學習他的操作,不斷積攢經驗,到一定程度之後讓它接手,雖然這個‘智力有限’的a.i.一開始肯定會把‘領域’搞得一團糟,但淩夏樹本身有著b.b.d這個高權限病毒,現在又獲得了這台調度主機真正的管理員賬號,容錯能力極高,有雄厚的資本支撐它多次試錯,
而隨著淩夏樹不斷使用‘領域’的能力,它也會不斷積攢越來越多的相關經驗,變得越來越得心應手,直到最後‘經驗豐富’到能夠代替淩夏樹支持領域的運作——那個時候,很可能淩夏樹隻需要一個眼神,它就能準確地按照他的意思來操作數據。
框架圖的另外一個關鍵點是新a.i.和‘領域’的結合方式,由於演示給新a.i.學習必然涉及到‘領域’控製權的頻繁轉移,淩夏樹索性直接把‘領域’徹底模塊化,每種功能都設計成單獨一個封閉的模塊,隻留下輸入輸出端口,將來再采用自己私人編製的通訊協議鏈接成整體。
淩夏樹和新a.i.誰連上端口,誰就能用標準指令進行操作,而且還有一個好處是,如果他對某個功能有了新的創意或者學到了新技巧,就可以直接編寫一個新的模塊來實時替換升級,不影響整體的使用。
這種模塊化的編程思想算不上什麼新奇,即使是普通編寫者也能慢慢自我摸索出來,但這種方法最大的製約之處在於,這樣的編寫方式會造成模塊內的大量代碼隻能‘專用’,比如一個‘求平均值’的數學模塊一旦被寫入了模塊,那就隻能在使用這個模塊時起作用,無法被整體程序共享,大部分時間是閒置的。
真正編程的時候一個模塊必須是一個完整的架構,閒置浪費的代碼量更多,是隱世的編寫者們無法承受的奢靡,同時越多的代碼量就需要編寫者的大腦能構建出越大的冥想空間才能構建和調試,也讓大多數編寫者無可奈何。
然而這兩個要求對於淩夏樹來說,都完全不成問題,b.b.d開辟的龐大空間,甚至足夠讓‘拾音’這種操作整個矩陣的係統映像展開。
……