陳凱 上海市位育中學(xué)
《列子》中有:“伯牙鼓琴,志在登高山。鐘子期曰:‘善哉,峨峨兮若泰山!’志在流水,鐘子期曰:‘善哉,洋洋兮若江河!’”不妨作這樣的想象,今天的人看到某人某事,贊嘆道:“善哉,計(jì)算思維兮此事?!碑?dāng)然,正常情況下人并不會這樣說話,但如果真的要說,那一定是因?yàn)椤按耸隆本哂杏糜?jì)算思維解決問題的特征。鐘子期因?yàn)椤岸攵胭狻毕氲教┥?,“洋洋兮”想到江河,那么?jì)算思維解決問題的特征是什么?本文想要效仿司空圖的《二十四詩品》,對蘊(yùn)含了利用計(jì)算思維解決問題特性的若干情境加以描述?!抖脑娖贰肥侵袊糯姼枥碚摰闹匾?,它以四言詩的形式,將詩歌的風(fēng)格、意境、技巧等元素歸納為二十四種,用詩性的語言營造出如畫的詩的意象。其中的《實(shí)境》,大概可用于對本文意圖的描繪:
取語甚直,計(jì)思匪深。忽逢幽人,如見道心。清澗之曲,碧松之陰。
一客荷樵,一客聽琴。情性所至,妙不自尋。遇之自天,泠然希音。
設(shè)想一張智能的琴,只要撥動首幾個(gè)音符,甚至于只是做出撥動的動作,琴就自己繼續(xù)演奏下去了,對今天的人來說,這不應(yīng)該是令人感到特別驚訝的事情。在這里,琴可以是對某種人工智能或某款軟件應(yīng)用的比喻,自動演奏或智能編曲固然是一種琴,自動寫作或編程也可以是“琴”;也可能有其他目前不認(rèn)為屬于人工智能的功能各異的“琴”,除了演奏音樂,它還能繪圖、排序,或者做二進(jìn)制加法等。無論如何,人們需要先設(shè)定好“琴”能做什么,從功能的角度看,智能和非智能的界限并不清晰,但“琴”有著整體功能的界域?!扒佟钡墓δ艿慕缬蚴鞘褂谜呓o出的,而一個(gè)人的功能沒有界域,正如德勒茲所說,人的身體可以是任何東西……可以是一只動物、一個(gè)聲音體、一個(gè)大腦或想法,也可以是一個(gè)語言學(xué)的語料庫、一個(gè)社會體、一個(gè)集體,是具有自組織驅(qū)動力的“無器官的身體”。[1]“琴”需要由人對其功能界域進(jìn)行擴(kuò)展,至于如何擴(kuò)展,卻不能事先約定。
“琴”的界域總是存在,這與“琴”本身的智能無關(guān),如果沒有人,其本身的智能無法突破界域。例如,一個(gè)排序函數(shù)的功能界域就是將數(shù)字按大小順序排列好,然而人可以用這個(gè)機(jī)制來實(shí)現(xiàn)信號的傳遞,將某個(gè)信息從列表之首傳遞到列表之尾;又如,一個(gè)賦值語句的界域就是將一個(gè)變量的值復(fù)制給另一個(gè)變量,但人借助在列表里賦值的方法,模仿實(shí)現(xiàn)了分支結(jié)構(gòu)的功能,代碼如圖1所示,一些指令有限的計(jì)算模型正是以這樣的方式運(yùn)作的;再如,可以向生成式人工智能提問,要求它給出關(guān)于空氣質(zhì)量發(fā)布裝置的創(chuàng)意,越多越好,人工智能當(dāng)然可以給出很多方案,但這些方案其實(shí)恰恰是設(shè)計(jì)者需要排除掉的——“琴”的功能界域被人用“琴”所做的意料之外的事而打破,這體現(xiàn)了人和機(jī)器互動的自組織驅(qū)動。
圖1 不用分支結(jié)構(gòu)語句實(shí)現(xiàn)數(shù)字是否相等的判斷
德勒茲推崇塊莖式的思維方式,塊莖不同于“樹——根”的形態(tài),它沒有一種向中心化的形態(tài),而是敞開的、發(fā)散的、多樣的,這里的“多”不是由“一”做加法而來,而是反過來,“一”是“多”做減法的結(jié)果。人工智能做的是加法,當(dāng)要求人工智能設(shè)計(jì)一個(gè)單純的用拍手玩的游戲時(shí),人工智能從資料庫中搜集和重組各種已有的規(guī)則,它難以創(chuàng)造出一種新的規(guī)則,直到有人將某種規(guī)則新增到它的資料庫中。人工智能按固有的形式運(yùn)作(至少當(dāng)前是這樣),不能在運(yùn)作中將自身的形式消解掉。
德勒茲用音樂來說明固有的形式,如節(jié)拍的消解:重要的是對于時(shí)間的解放,Aeon(筆者注:德勒茲用這個(gè)名詞描述屬于絕對事件的生成時(shí)間,Aeon這個(gè)詞用來和記錄時(shí)刻的時(shí)間相對應(yīng)),一種飄逸的音樂所具有的非律動的時(shí)間——正如布列茲(Pierre Boulez)所說,在其中,形式讓位給純粹的速度變化。德勒茲的“塊莖”是一個(gè)比喻而不是一種物,它流動著穿過任何固定邊界。當(dāng)人們談?wù)摗坝?jì)算思維”的時(shí)候,常會圍繞“分解”“抽象”“模式”“算法”這些概念,這些概念都是在實(shí)施用機(jī)器自動化解決問題、完成任務(wù)的過程中生成出來的,不是預(yù)先有了這些中心概念等在那里供學(xué)習(xí)者學(xué)習(xí),而是應(yīng)該由學(xué)習(xí)者在自身的經(jīng)驗(yàn)中去生成,然后“意外”發(fā)現(xiàn)恰好有些概念與經(jīng)驗(yàn)契合。學(xué)習(xí)者甚至還會發(fā)現(xiàn)一些新的有待用文字來指稱和記錄的特有經(jīng)驗(yàn),這些經(jīng)驗(yàn)是不能僅用“分解”“抽象”“模式”這些詞匯描述的。人利用機(jī)器來觀察、識別出形式,但人還需要消解已有的形式,創(chuàng)造出新的形式。不要奢求有什么創(chuàng)造新形式的形式,如果那種元形式果真存在,那么任何新形式的“創(chuàng)造”都變得不可能了,世界上的一切都變成了無生機(jī)的形式系統(tǒng)的規(guī)則替換。
這里另有一個(gè)猜想,如果交予生成式人工智能的語言工具這樣的任務(wù):請根據(jù)計(jì)算思維的培養(yǎng)要求設(shè)計(jì)一個(gè)教學(xué)活動,并說明之所以這樣設(shè)計(jì)的理由。其結(jié)果是,不僅生成式人工智能很好地完成了任務(wù),還能夠發(fā)現(xiàn),它所設(shè)計(jì)的活動和敘述的理由,與大多數(shù)由人所設(shè)計(jì)的教學(xué)活動和敘述的理由高度一致,這大概就提示人們,對于“計(jì)算思維”培養(yǎng)的研究等待著進(jìn)一步的創(chuàng)新。
設(shè)想某學(xué)習(xí)者在用Python編寫程序時(shí),需要對列表中的數(shù)據(jù)排序,于是學(xué)習(xí)者詢問了人工智能,然后知道可以用sort()方法來實(shí)現(xiàn)這樣的任務(wù),并且,人工智能提供的代碼也能夠直接嵌入到程序里運(yùn)行。這里的問題是,學(xué)習(xí)者是否需要知道sort()方法到底是怎樣實(shí)現(xiàn)的。學(xué)習(xí)者當(dāng)然可以選擇繼續(xù)詢問人工智能,讓它給出實(shí)現(xiàn)sort()方法的全部代碼,也許,只要有這些代碼陳列在那里,就能讓學(xué)習(xí)者心安,就好像在研究一個(gè)復(fù)雜的數(shù)學(xué)問題時(shí),我們看到作者寫了一句“容易證明”,就相信自己一定能看明白而直接跳過?;蛘?,學(xué)習(xí)者決心研究全部代碼,然后發(fā)現(xiàn)有更多需要了解的更底層的東西……這就相當(dāng)于問,是否還需要拆解琴,去研究琴之所以實(shí)現(xiàn)功能的內(nèi)在機(jī)理?自然有人這樣考慮,世界上大多數(shù)人都是琴的演奏者,而不是制作工匠,那么,拆解琴似無特別的必要,除非在那些科幻末世的場景中,需要有人來挽救制造琴的技藝。但這樣的考慮存在一個(gè)預(yù)設(shè),那就是琴是用來演奏的,學(xué)習(xí)琴也是為了學(xué)習(xí)演奏,如果這樣,就是把琴看成了一種用具,而不是一種學(xué)習(xí)環(huán)境。
成年人往往失去了如孩童那樣的拆解物品的好奇,這大概就是被困于德勒茲所說的“紋理化空間”中的某一層了。德勒茲在《千高原》一書中,在討論與“紋理化空間”相對應(yīng)的“平滑空間”時(shí)提到分形,說科赫曲線(如圖2)利用“同位相似(homothétie)”的自組織過程產(chǎn)生出分形圖案體現(xiàn)了“平滑空間”的特性。德勒茲自創(chuàng)了大量名詞,很難在有限的篇幅里詳盡說明。有趣的是,國內(nèi)文獻(xiàn)絕大多數(shù)是建筑學(xué)文獻(xiàn)而非哲學(xué)文獻(xiàn)在討論德勒茲的空間概念,這倒提供了一個(gè)便捷理解德勒茲概念的切入點(diǎn),如“平滑空間”有“異質(zhì)元素、無中心、多維度、不確定、平滑等空間特征”[2],“平滑空間是開放、無等級的,可以賦予它任意的屬性……如教學(xué)樓之間的公共空間,就具有平滑空間的特性”[3],“紋理化空間”則與“平滑空間”相對,是一種被功能化的空間。
圖2 一種科赫曲線
回到拆琴的例子,人們拆琴,研究琴,但不一定是為了造琴。那么拆琴的目的到底是什么呢?這盡管和學(xué)習(xí)者在更大尺度上的功能特性的自相似的契合強(qiáng)度有關(guān),但在大多數(shù)時(shí)候,更大尺度的圖形的特性是一種未知,因?yàn)樵谟邢薜臅r(shí)間里,無法事先約定局部區(qū)域內(nèi)“同位相似”的“位”究竟在哪里,但這個(gè)“位”無疑和個(gè)人志趣的生成有關(guān),這種志趣的生成是一種生長過程中的塑形,而不是被給予的賦形。這讓人想起衛(wèi)禮賢所說的種子:“種子不是超然于現(xiàn)象的理念,而是具有自我分化功能的自足世界,它既是框架,又是內(nèi)容?!盵4]“既是框架,又是內(nèi)容”也是分形的特征,拆解的過程其實(shí)是建構(gòu),某種自相似特征將學(xué)習(xí)者原初的好奇和興趣塑形為志趣。例如,學(xué)習(xí)者考察“生命游戲”元胞自動機(jī)的演化規(guī)則,通過編程模擬出了“生命游戲”的演化,這時(shí)候,形式變?yōu)榱藘?nèi)容;學(xué)習(xí)者觀察“生命游戲”的演化,發(fā)現(xiàn)其中“滑翔機(jī)”用以傳遞信息和處理信息的獨(dú)特作用,如圖3所示,這時(shí)候,內(nèi)容又變?yōu)樾问?。在這個(gè)交替轉(zhuǎn)化過程中,實(shí)現(xiàn)了一種形式的超越。
圖3 “生命游戲”中一種產(chǎn)生出“滑翔機(jī)”的結(jié)構(gòu)
在對“計(jì)算思維”進(jìn)行研究的過程中,筆者發(fā)現(xiàn)的一個(gè)重要的線索,就是“計(jì)算思維”的原初興趣,很大一部分不是為著問題的解決,而是為了實(shí)現(xiàn)一種自動和動態(tài)的生成,這種自動和動態(tài)的生成與人的生存境遇有關(guān),是要對現(xiàn)實(shí)的混沌進(jìn)行適應(yīng)和改造。而所謂某特定的真實(shí)情境中的問題的解決,可能只是這個(gè)原初興趣的副產(chǎn)品。線索的由來正是對于音樂節(jié)奏的考察,音樂節(jié)奏的重復(fù)是一種內(nèi)在的沖動,而節(jié)奏的變化同樣也是一種沖動。德勒茲在《差異與重復(fù)》一書中,視節(jié)奏為“一種具有內(nèi)在差異的動態(tài)重復(fù)”[5],在《千高原》一書中,德勒茲進(jìn)一步指出,節(jié)奏是環(huán)境對混沌的回應(yīng)。這里的“節(jié)奏”不是節(jié)拍,是一種在一段時(shí)間里重復(fù)但又會適時(shí)發(fā)生變化的靈動的敲擊規(guī)則,或可稱為律動,或電子音樂中的Groove。
在對使用Turtle進(jìn)行繪畫嘗試的學(xué)習(xí)者行為的觀察中,能夠發(fā)現(xiàn)人對這種律動的濃厚興趣。一段簡單的海龜繪圖過程能很長時(shí)間吸引住人的目光,一些人沉浸在圖像變化的觀察中,仿佛被催眠一般。如上頁圖4所示,一個(gè)簡單的程序代碼產(chǎn)生動態(tài)的圖像變化,一開始是三角形,然后仿佛看到了六角形,然后看到了一個(gè)圓,然后在這個(gè)圓中,又重新看到三角形和六角形,并且不同的形狀層疊在了一起……如果僅僅看程序代碼,是不可能預(yù)知其運(yùn)行的效果的,在這里可以看到重復(fù)的節(jié)奏具有模擬混沌的能力,于是節(jié)奏可以作為一種工具,為人展現(xiàn)出人腦根據(jù)符號和邏輯推理所不能提前預(yù)測到的東西。
圖4 簡單繪圖代碼產(chǎn)生出難以預(yù)料的效果
某個(gè)音樂愛好者可能會利用ZynAddSubFX(一種開源的音樂合成器軟件)為樂曲配置特別的音色,他可能僅僅滿足于選取預(yù)置的音色,或者,也可以自己構(gòu)造一種特別的聲波形態(tài)。ZynAddSubFX雖然功能強(qiáng)大,但其人機(jī)界面的復(fù)雜性卻是一個(gè)嚴(yán)重的問題,圖5所示的是其中的一個(gè)配置界面。
圖5 ZynAddSubFX軟件界面的一部分
從圖中可以看出ZynAddSubFX有如此多的旋鈕和滑桿(其他配置界面還有更多的旋鈕和滑桿),初學(xué)者無法僅僅從界面的旋鈕的方向和滑桿的位置得知合成器生成的聲音可能是怎樣的。除非真切地聽到聲音,才能勉強(qiáng)感悟到某些對聲音的 文字描述,如將聲音弄得“濕”一些,或弄得“酸”一些,經(jīng)過長時(shí)間的調(diào)參實(shí)踐后,人就能在頭腦中建立起音色和某個(gè)參數(shù)配置的聯(lián)系,而這種建立聯(lián)系的方式,需要綜合直觀的感受和邏輯,卻不能僅僅依靠邏輯推理來達(dá)成。
類似地,人們往往看不到一個(gè)計(jì)算機(jī)器是如何達(dá)成特定的效果的,一個(gè)稍微復(fù)雜一些的神經(jīng)網(wǎng)絡(luò)的調(diào)參過程常被形容為煉丹或玄學(xué),即便是一個(gè)簡單的遞歸函數(shù)的使用,也讓初學(xué)者感到頭腦的“短路”。例如,用各種符號擺出圖形,用符號的迭代產(chǎn)生出動畫效果,模擬出斐波那契數(shù)列項(xiàng)計(jì)算過程中數(shù)據(jù)的變化,如下頁圖6所示。雖然這樣做堪稱興師動眾,效率低下,但人卻更容易借助這樣的展示理解遞歸的運(yùn)行過程,因?yàn)槠渲袛?shù)據(jù)的每一步變化和每一次功能調(diào)用過程都直觀地展現(xiàn)了出來。然而,盡管能從這個(gè)用迭代來模擬遞歸的演示中理解遞歸的一些特性,但如果將這個(gè)展示撤出,要求真正用遞歸函數(shù)來編寫計(jì)算斐波那契數(shù)列項(xiàng)的程序代碼,這時(shí)內(nèi)心卻仍然生出一種如同“煉丹”的感受。
圖6 用迭代來模擬用遞歸計(jì)算斐波那契數(shù)列項(xiàng)的演示的一個(gè)片段
維特海默在1912年發(fā)表論文《關(guān)于運(yùn)動知覺的實(shí)驗(yàn)研究》,后來被認(rèn)為宣告了格式塔心理學(xué)的誕生,據(jù)說引發(fā)他開展研究的緣由,是在鐵道路口看到閃爍的燈使得他產(chǎn)生光在運(yùn)動的錯(cuò)覺。論文主要研究似動錯(cuò)覺,即快速呈現(xiàn)一系列靜止圖片使其看上去呈現(xiàn)出連續(xù)的運(yùn)動,其主要觀點(diǎn)是:運(yùn)動知覺是一種新的現(xiàn)象,是一個(gè)整體,不是通過孤立的感知可以解釋的,這種整體就是一個(gè)格式塔。除了視覺認(rèn)知,在聽覺方面同樣存在格式塔意象的生成,人在聆聽音樂時(shí),總是對聲音、旋律、織體的整體產(chǎn)生出感覺。一個(gè)較為典型的例子是,在聆聽巴赫的無伴奏小提琴曲時(shí),能讓人產(chǎn)生出存在復(fù)雜的復(fù)調(diào)織體的感覺,這是因?yàn)椤靶山^不會在某一狹小、孤立的音區(qū)內(nèi)停留過久,它還承擔(dān)著聯(lián)系其他音區(qū)的使命……作曲家通過連續(xù)地勾勒那些處于不同音區(qū)的旋律碎片,讓隱伏在單聲部旋律背后的多聲層次明暗交替地‘閃爍’”。[6]于是就有了這樣的猜想,盡管可以對一個(gè)程序的每一個(gè)指令或每一個(gè)函數(shù)都有正確的理解,卻仍然不能在對離散的指令和函數(shù)進(jìn)行理解的基礎(chǔ)上,經(jīng)由邏輯推理建構(gòu)出算法的整體認(rèn)知。算法的整體的認(rèn)知是人在和計(jì)算機(jī)的多次實(shí)踐互動中建立起來的(在缺乏計(jì)算機(jī)的時(shí)代或環(huán)境中,需要用大量手工來實(shí)現(xiàn)機(jī)械性的計(jì)算,這是一種人和自己機(jī)械性計(jì)算結(jié)果的互動)。
觀察如圖7所示的一段實(shí)現(xiàn)自然數(shù)累加的非常簡單的程序代碼,讀者可以思考,自己是如何理解代碼運(yùn)行的過程的。似乎存在這樣的現(xiàn)象,僅僅在初學(xué)算法和編程時(shí),自己的頭腦才會跟隨變量的每一步變化,艱難地從局部的變化推演全局的變化。但在熟悉算法后,類似的數(shù)列累加的程序代碼就會在鍵盤敲打聲中輕快地涌出,可謂駕輕就熟,經(jīng)由局部變化細(xì)節(jié)推演全局變化的內(nèi)心過程反而是不必要的。所以,在熟悉和感知了算法的整體性后,代碼的編寫者其實(shí)并不需要關(guān)心局部變化如何導(dǎo)致全局的變化,代碼的細(xì)節(jié)優(yōu)先和算法整體的功能聯(lián)系在一起,而不是和其他代碼細(xì)節(jié)的局部聯(lián)系在一起,編程時(shí)的駕輕就熟不等于對所有工作過程的了然于胸,在理解代碼細(xì)節(jié)產(chǎn)生出的局部變化與感知全局變化之間,存在著認(rèn)知鴻溝。但心理上的格式塔創(chuàng)造出一種對機(jī)器行為加以掌控的連續(xù)性的感覺,這種感覺的形成依賴于人和機(jī)器長時(shí)間的協(xié)同,是一種不能被還原的感受性(qualia),而這種人和機(jī)器的協(xié)同,與其說是學(xué)習(xí),不妨稱之為一種訓(xùn)練,就像自行車學(xué)習(xí)者逐漸熟悉如何施加力量實(shí)現(xiàn)控制,然后感覺這種控制和車成為一個(gè)整體。
圖7 一段實(shí)現(xiàn)自然數(shù)累加的簡單程序代碼
“計(jì)算思維”是可以被討論的,但不應(yīng)該以一種“樹——根”的形態(tài)被討論。德勒茲的“塊莖”思維的一個(gè)重要原則是,“多”永遠(yuǎn)優(yōu)先于“一”,“方法”提供了路徑但也束縛了創(chuàng)造的自由。有學(xué)者說,“我們特別需要塊莖思維……它把思想置于一個(gè)平滑空間之中,沒有認(rèn)識所要遵循的方法,沒有有組織的規(guī)劃平面……我們的研究人員普遍缺乏馳騁天宇、自由翱翔的想象和無拘無束、放蕩不羈的構(gòu)建”。[7]——論文的這段評論里的“放蕩不羈”本身也似乎有些“放蕩不羈”的意味。計(jì)算思維可能具有“塊莖”思維的特性,研究計(jì)算思維的思維也需要這種“塊莖”思維,有很多問題等待著展開討論,就像塊莖向各處發(fā)散莖條:計(jì)算思維的特征是單純的,還是復(fù)合的?是整體的,還是可還原的?是不變的,還是演化的?本文傾向于這樣的觀點(diǎn),計(jì)算思維雖然是復(fù)合的,但其中某些特性具有不可還原的特征,計(jì)算思維也是隨計(jì)算機(jī)技術(shù)的發(fā)展而演化的,在一種形式和內(nèi)容相互轉(zhuǎn)化的過程中動態(tài)地自我增殖;計(jì)算思維具有通過長期的人機(jī)交互實(shí)踐所達(dá)成的心理上的整體性,這種整體性消解了復(fù)雜系統(tǒng)局部變化的理解和全局變化的感知之間的認(rèn)知鴻溝。當(dāng)然,以上這些還只是受一些簡單案例啟發(fā)而生出的猜想,還需要更多專家和一線教育工作者投入研究,給出更完善、嚴(yán)謹(jǐn)、合理的結(jié)論。