為什么需要生物學(xué)思維_第1頁(yè)
為什么需要生物學(xué)思維_第2頁(yè)
為什么需要生物學(xué)思維_第3頁(yè)
為什么需要生物學(xué)思維_第4頁(yè)
為什么需要生物學(xué)思維_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

\h為什么需要生物學(xué)思維目錄\h01\h歡迎來(lái)到這個(gè)糾纏的時(shí)代連接和反饋是復(fù)雜系統(tǒng)的典型標(biāo)志。技術(shù)系統(tǒng)已經(jīng)變得如此復(fù)雜,以致每個(gè)專(zhuān)家都僅知道其中的一個(gè)部分,沒(méi)有人能夠完全理解整體。我們已經(jīng)從“啟蒙時(shí)代”邁進(jìn)了“糾纏時(shí)代”。\h什么是復(fù)雜系統(tǒng)\h從“啟蒙時(shí)代”到“糾纏時(shí)代”\h抽象的局限\h02\h復(fù)雜系統(tǒng)形成的4個(gè)原因技術(shù)系統(tǒng)變得越來(lái)越復(fù)雜的主要原因是“吸積”和“交互”。隨著時(shí)間的推移,系統(tǒng)中不斷加入更多的組成部分,部分之間也增加了越來(lái)越多的連接?!氨仨毺幚淼睦馇闆r”和“普遍的稀有事物”也讓技術(shù)系統(tǒng)變得愈加復(fù)雜。\h原因1:吸積\h原因2:交互\h原因3:必須處理的例外情況\h原因4:普遍的稀有事物\h越來(lái)越多的復(fù)雜系統(tǒng)\h03\h為什么復(fù)雜系統(tǒng)越來(lái)越難以理解了對(duì)于大多數(shù)人來(lái)說(shuō),記住一個(gè)7位數(shù)就相當(dāng)不容易了。當(dāng)復(fù)雜系統(tǒng)的組成部分和連接數(shù)量猛增時(shí),即便是專(zhuān)家也會(huì)望而生畏。我們個(gè)人的知識(shí)儲(chǔ)備,與理解復(fù)雜系統(tǒng)所需要的知識(shí)相比,存在著根本性的沖突。\h力不從心的大腦\h認(rèn)知的極限\h最后一個(gè)無(wú)所不知的人\h04\h令人費(fèi)解的bugbug并不都是能夠找到確切起因的那些錯(cuò)誤,在以連接和交互為特征的復(fù)雜系統(tǒng)中,經(jīng)常會(huì)出現(xiàn)一些令人費(fèi)解的bug。盡管我們對(duì)這些bug沒(méi)什么好感,但它們卻是這個(gè)糾纏時(shí)代中無(wú)法回避的存在。\h并不是所有bug都能被消除\h從錯(cuò)誤中學(xué)習(xí)\h像生物學(xué)家一樣思考\h05\h為什么需要生物學(xué)思維復(fù)雜的技術(shù)系統(tǒng)更接近生物學(xué)系統(tǒng),因此,用生物學(xué)思維思考復(fù)雜技術(shù)是個(gè)不錯(cuò)的選擇。為了從整體上理解系統(tǒng),我們也會(huì)忽略掉一些細(xì)節(jié),這時(shí),物理學(xué)思維才是首選。我們真正需要的是經(jīng)過(guò)物理學(xué)思維錘煉的生物學(xué)思維。\h復(fù)雜的技術(shù)系統(tǒng)需要生物學(xué)思維的3個(gè)原因\h技術(shù)領(lǐng)域的“生物學(xué)家”\h當(dāng)物理學(xué)遇見(jiàn)生物學(xué)\h復(fù)雜性科學(xué)的視角\h思維方式的進(jìn)化\h我們需要通才\h06\h生物學(xué)思維是理解復(fù)雜世界的一把金鑰匙認(rèn)識(shí)復(fù)雜系統(tǒng)的正確態(tài)度是:對(duì)于難以理解的事物,要努力克服我們的無(wú)知;一旦理解了某個(gè)事物,也不會(huì)認(rèn)為它是理所當(dāng)然的。謙卑之心,加上迭代的生物學(xué)思維,就是洞悉復(fù)雜世界的正確方式。\h不要被表象迷惑\h以欣慰感看待不理解的事物\h謙卑之心+迭代的生物學(xué)思維連接和反饋是復(fù)雜系統(tǒng)的典型標(biāo)志。技術(shù)系統(tǒng)已經(jīng)變得如此復(fù)雜,以致每個(gè)專(zhuān)家都僅知道其中的一個(gè)部分,沒(méi)有人能夠完全理解整體。我們已經(jīng)從“啟蒙時(shí)代”邁進(jìn)了“糾纏時(shí)代”。1986年初的一個(gè)冬日,距離“挑戰(zhàn)者號(hào)”航天飛機(jī)爆炸事件發(fā)生還不到一個(gè)月,著名物理學(xué)家理查德·費(fèi)曼(RichardFeynman)在調(diào)查委員會(huì)的聽(tīng)證會(huì)上公開(kāi)了一份調(diào)查報(bào)告。\h\h[1]費(fèi)曼非常冷靜地揭示了導(dǎo)致“挑戰(zhàn)者號(hào)”航天飛機(jī)起飛后不久就爆炸解體的原因。問(wèn)題出在用于密封固體火箭助推器各部分之間縫隙的O型圈上。O型圈其實(shí)是一小片橡膠,放入冰水后會(huì)失去彈性,也就是說(shuō),這種小部件對(duì)溫度變化非常敏感,所以無(wú)法保證密封的牢固性。這些O型圈很可能就是這起導(dǎo)致7名機(jī)組人員喪生災(zāi)難的罪魁禍?zhǔn)住Ec此事件如出一轍的是發(fā)生在汽車(chē)業(yè)中的另一事件。2007年的一天,瓊·布考特(JeanBookout)駕駛著一輛生產(chǎn)于2005年的豐田凱美瑞,行駛在俄克拉何馬州的一個(gè)小鎮(zhèn)上。突然,她的車(chē)開(kāi)始加速,并失去了控制。\h\h[2]她踩下了剎車(chē),但沒(méi)有任何作用;她拉起了緊急制動(dòng)器,輪胎在道路上留下了觸目驚心的摩擦痕跡。然而,這些努力都無(wú)濟(jì)于事,汽車(chē)最終狠狠地撞到了路堤上。布考特受了重傷,車(chē)上的乘客、她的朋友芭芭拉·施瓦茨(BarbaraSchwarz)則不幸遇難。并不是只有布考特一個(gè)人遇到這種怪事。事實(shí)上,多年以來(lái),在豐田公司生產(chǎn)的汽車(chē)中,有多種型號(hào)的汽車(chē)都曾出現(xiàn)過(guò)此類(lèi)奇怪且危險(xiǎn)的故障:汽車(chē)在行駛過(guò)程中會(huì)“違背”駕駛員的意愿保持勻速,甚至還會(huì)“擅自”加速。這種意外加速事故已經(jīng)導(dǎo)致多人傷亡。業(yè)內(nèi)專(zhuān)家分析出了這類(lèi)事故的幾個(gè)導(dǎo)火索:駕駛員操作失誤,墊氈頂住了油門(mén)加速踏板,油門(mén)加速踏板黏滯未能及時(shí)復(fù)原,等等。但是,這些原因并不能解釋所有的意外加速事故。在受事故影響的車(chē)型中,因?yàn)閴|氈或油門(mén)加速踏板不合格而被召回的并不多,而且我們也沒(méi)有理由認(rèn)為,豐田汽車(chē)的駕駛員比其他汽車(chē)的駕駛員更容易犯錯(cuò)。無(wú)奈之下,豐田公司請(qǐng)來(lái)了嵌入式軟件專(zhuān)家邁克爾·巴爾(MichaelBarr)追查原因,并向他開(kāi)放了專(zhuān)有數(shù)據(jù)庫(kù)以及向來(lái)嚴(yán)格保密的軟件代碼。在6位經(jīng)驗(yàn)豐富的工程師的協(xié)助下,巴爾幾經(jīng)周折終于找到了問(wèn)題的根源。與此同時(shí),計(jì)算機(jī)科學(xué)家菲利普·庫(kù)普曼(PhilipKoopman)也通過(guò)對(duì)公開(kāi)程序的仔細(xì)分析,找到了事故發(fā)生的大致原因。\h\h[3]兩位專(zhuān)家都認(rèn)為,對(duì)于意外加速事故的發(fā)生,豐田發(fā)動(dòng)機(jī)軟件系統(tǒng)的過(guò)度龐大和極度復(fù)雜,以及糟糕的設(shè)計(jì)都應(yīng)該承擔(dān)相應(yīng)的責(zé)任。我們無(wú)法將事故責(zé)任明確地歸咎于某個(gè)設(shè)計(jì)或部件出了錯(cuò),畢竟,這里面存在的問(wèn)題盤(pán)根錯(cuò)節(jié),而且這些問(wèn)題還會(huì)引發(fā)汽車(chē)軟件系統(tǒng)與外部機(jī)電系統(tǒng)之間的巴洛克式結(jié)構(gòu)(baroquestructure)的大規(guī)模交互。無(wú)論是單獨(dú)看來(lái),還是整體看來(lái),這個(gè)系統(tǒng)的極度復(fù)雜性讓我們很難理解這些相互作用、相互影響的部件的深層問(wèn)題和缺陷。有依據(jù)表明,豐田公司本來(lái)完全沒(méi)有必要搞出一個(gè)如此復(fù)雜的系統(tǒng),至少在現(xiàn)有情況下,不必如此復(fù)雜,它們顯然不夠小心。\h\h[4]這個(gè)“診斷結(jié)果”與我們熟悉的“技術(shù)失敗”并無(wú)二致。費(fèi)曼找到了導(dǎo)致“挑戰(zhàn)者號(hào)”航天飛機(jī)爆炸的單一原因,有所不同的是,我們無(wú)法確定導(dǎo)致豐田汽車(chē)出現(xiàn)事故的單一原因。無(wú)論如何,如果部件堆積得越來(lái)越多,設(shè)計(jì)也越來(lái)越復(fù)雜,那么災(zāi)難便只會(huì)越來(lái)越多。事實(shí)上,即使找到了導(dǎo)致失敗的單一原因,但在極度復(fù)雜的系統(tǒng)中,那很可能也只是掩人耳目的東西罷了。1996年,阿麗亞娜5型火箭在發(fā)射升空39秒后爆炸,火箭上搭載的4顆衛(wèi)星均毀于一旦。\h\h[5]事故分析表明,發(fā)生爆炸的原因是,火箭在新環(huán)境下使用了一些較為陳舊的軟件代碼。但是,根據(jù)霍默-狄克遜教授的說(shuō)法,沒(méi)有任何一個(gè)承包商被追責(zé)。這次爆炸并不是某個(gè)決策失誤所致,而是整個(gè)發(fā)射系統(tǒng)的極度復(fù)雜性所致。其他類(lèi)似的災(zāi)難還有三哩島核電站事故,\h\h[6]盡管有關(guān)方面也找到了一個(gè)原因,但是究其根本,仍然得歸咎于系統(tǒng)的龐大和極度復(fù)雜,而非某個(gè)部件或決策出了錯(cuò)。\h\h[7]當(dāng)我們?cè)噲D將這種復(fù)雜性拆解開(kāi)來(lái)時(shí),難免會(huì)陷入“挑戰(zhàn)者號(hào)”航天飛機(jī)的主流事故中。\h\h[8]盡管航天飛機(jī)的發(fā)射和操作是一項(xiàng)異常復(fù)雜的工作,但是很多人都相信,只要徹底核查復(fù)雜系統(tǒng),將其分解開(kāi)來(lái),確定每個(gè)部件如何工作,在什么情況下會(huì)出故障,我們就應(yīng)該能夠理解它們。這無(wú)疑是一種過(guò)于自信的想法,其根源在于:人類(lèi)的思想擁有無(wú)限潛力。人們總認(rèn)為,只要足夠努力,就可以完美地理解身邊的一切事物,特別是人類(lèi)自己所構(gòu)建的那些東西。我們觀察到,這種情緒在所謂的輝格黨式(Whiggish)的進(jìn)步觀念中體現(xiàn)得最為充分。正如科學(xué)作家菲利普·鮑爾(PhilipBall)所描述的那樣,這種觀念認(rèn)為人類(lèi)已經(jīng)踏上了“從無(wú)知和迷信的黑暗時(shí)代走向理性時(shí)代的勝利之旅”\h\h[9]。在科學(xué)界和技術(shù)愛(ài)好者的圈子中,這個(gè)觀念根深蒂固,正如歷史學(xué)家伊恩·畢考克(IanBeacock)在文章中所寫(xiě):“科技行業(yè)講述了人類(lèi)‘?dāng)?shù)字時(shí)代’的崛起,那是一個(gè)輝格黨式的故事:陰郁昏暗的時(shí)代行將結(jié)束,人類(lèi)將迎來(lái)一個(gè)更加美好的未來(lái),一個(gè)更幸福、更開(kāi)放的世界。在那個(gè)美麗新世界中,一切都是測(cè)量好的、經(jīng)過(guò)精心設(shè)計(jì)的,并達(dá)到了最高效的完美狀態(tài)。”\h\h[10]當(dāng)然,堅(jiān)持這種觀點(diǎn)的人還認(rèn)為,效率和生產(chǎn)力的提高,促使人們?yōu)榱藢?shí)現(xiàn)某個(gè)令人振奮的目標(biāo),而持續(xù)關(guān)注和理解自身所構(gòu)建的現(xiàn)代工程。這種輝格黨式的觀點(diǎn)與社會(huì)學(xué)家馬克斯·韋伯(MaxWeber)所描述的“現(xiàn)代思維模式”有關(guān):在一個(gè)“不再擁有幻想的世界”中,人們會(huì)產(chǎn)生一種感覺(jué),也就是“在原則上,我們可以通過(guò)運(yùn)算來(lái)掌握所有事物”。\h\h[11]然而,這種理解復(fù)雜性的方法如今已經(jīng)失效了。是的,我們正處在一個(gè)新時(shí)代,正在建立一個(gè)新系統(tǒng),而這個(gè)系統(tǒng)是無(wú)法從整體上被掌握的\h\h[12],或者說(shuō),無(wú)論對(duì)誰(shuí)而言,它都太復(fù)雜了。我們發(fā)現(xiàn),在分析豐田汽車(chē)意外加速事故時(shí),無(wú)論是不是專(zhuān)家,上述那種陳舊的思維模式都不足以應(yīng)對(duì)其復(fù)雜性了。不僅如此,這些情況不只附著在我們?nèi)笔У慕?jīng)驗(yàn)中,它們已充斥了我們的整個(gè)生活。什么是復(fù)雜系統(tǒng)在這里,我們必須先花些時(shí)間討論一下“龐雜”(complicated)和“復(fù)雜”(complex)系統(tǒng)的含義。\h\h[13]盡管我在文中,以及書(shū)名中使用這兩個(gè)術(shù)語(yǔ)時(shí)所指含義與它們?cè)诳谡Z(yǔ)中的意義大致相同,但實(shí)際上,它們的準(zhǔn)確含義和日常意義存在著一些重要區(qū)別。請(qǐng)想象一下,有許多水上浮標(biāo)被綁在一起,漂浮在水面。\h\h[14]當(dāng)一艘船經(jīng)過(guò)時(shí),其尾流會(huì)形成一個(gè)個(gè)小波浪,從而使浮標(biāo)一個(gè)個(gè)動(dòng)起來(lái)。但是,每個(gè)浮標(biāo)都無(wú)法單獨(dú)“行動(dòng)”。因?yàn)槊恳粋€(gè)浮標(biāo)都通過(guò)繩索連接著不同重量和大小的其他浮標(biāo),所以任何一只浮標(biāo)的行動(dòng),都會(huì)帶動(dòng)其他浮標(biāo)產(chǎn)生相應(yīng)的行動(dòng)。這些行動(dòng)還可能會(huì)引發(fā)意想不到的反饋過(guò)程,也就是說(shuō),浮標(biāo)的行動(dòng)會(huì)間接地影響到自身。于是,船的簡(jiǎn)單尾流,在這個(gè)復(fù)雜的浮標(biāo)網(wǎng)絡(luò)中引發(fā)了大量級(jí)聯(lián)式(cascade)的行動(dòng)。如果船以其他方式駛過(guò),比如以另一種速度或角度駛過(guò),那么浮標(biāo)的行動(dòng)可能會(huì)完全不同。接下來(lái)再想象一下,人們把這些浮標(biāo)從水中撈了出來(lái),扔在了碼頭上。它們可能被排列得非常巧妙,卻很難描述清楚,我們需要頗多文字才能講明白它們之間的相對(duì)位置,或許還需要附上一些圖表,以便日后能復(fù)制出同樣的排列方法。但是,無(wú)論被排列成什么樣,這里也不會(huì)有趣事發(fā)生。因?yàn)樵谶@個(gè)精巧的網(wǎng)絡(luò)中不存在級(jí)聯(lián)效應(yīng),也不存在反饋過(guò)程。說(shuō)到底,只不過(guò)是一堆可以漂浮的東西被放在了碼頭上。水中的浮標(biāo)形成了一個(gè)復(fù)雜的系統(tǒng)。那么碼頭上的浮標(biāo)呢?它們的排列也許看上去很巧妙,但其所構(gòu)成的系統(tǒng)最多只能說(shuō)是龐雜的。任何一個(gè)系統(tǒng),要想成為一個(gè)復(fù)雜的系統(tǒng),僅僅包含很多組成部分是不夠的,各部分之間還必須相互關(guān)聯(lián),并在“嘈雜的舞蹈”中相互作用才行。在這種情況下,我們可以觀察到某些行為特征,那是復(fù)雜系統(tǒng)的標(biāo)志:微小的變化通過(guò)網(wǎng)絡(luò)被級(jí)聯(lián)式放大,并引發(fā)反饋過(guò)程,同時(shí)敏感地依賴于系統(tǒng)的初始狀態(tài)。這些特征,與其他一些特征一起,使系統(tǒng)從“龐雜的”變成了“復(fù)雜的”。對(duì)于這種區(qū)別,還可以從另一個(gè)角度來(lái)思考:生物在活著的時(shí)候是復(fù)雜的,而死后最多只能說(shuō)是龐雜的。死去的動(dòng)物雖不失其復(fù)雜特性,但其內(nèi)部卻沒(méi)有任何過(guò)程在發(fā)生:整個(gè)生命網(wǎng)絡(luò),比如血液循環(huán)系統(tǒng)、新陳代謝系統(tǒng)、神經(jīng)系統(tǒng)等,都很“安靜”。生命是運(yùn)動(dòng)和相互作用的“狂暴之流”,極其復(fù)雜精妙,在有生命的機(jī)體中,再小的變化都會(huì)被級(jí)聯(lián)式放大,進(jìn)而引發(fā)大量行為。另外,即使一個(gè)系統(tǒng)是動(dòng)態(tài)的,比如浮在水中的一堆沒(méi)有被連接起來(lái)的浮標(biāo),因?yàn)槠鋬?nèi)部不存在相互聯(lián)系,沒(méi)有反饋的可能性以及其他類(lèi)似的屬性,所以我們也只能稱(chēng)其是“龐雜的”,而非“復(fù)雜的”。如果將技術(shù)定義為人類(lèi)為特定目的而設(shè)計(jì)和構(gòu)建的各種類(lèi)型的系統(tǒng),那么就不難注意到,當(dāng)今最先進(jìn)的技術(shù)幾乎都是復(fù)雜的系統(tǒng):動(dòng)態(tài)、功能復(fù)雜、規(guī)模龐大,而且擁有近乎有機(jī)生命體般的復(fù)雜性。這些復(fù)雜的系統(tǒng)遍布我們周?chē)?,從汽?chē)軟件到電腦設(shè)備,再到城市基礎(chǔ)設(shè)施。\h\h[15]那些龐大的、高度互聯(lián)的軟件,其規(guī)模足以與百科全書(shū)相比。據(jù)估計(jì),微軟的辦公軟件就有數(shù)千萬(wàn)行計(jì)算機(jī)程序代碼。\h\h[16]美國(guó)的公路系統(tǒng)有30萬(wàn)個(gè)交叉路口,每一個(gè)路口都有交通信號(hào)燈。\h\h[17]這是一個(gè)覆蓋全美的動(dòng)態(tài)交通網(wǎng)絡(luò),所包含的自動(dòng)糾錯(cuò)系統(tǒng)先進(jìn)得令人難以置信,盡管我們會(huì)因?yàn)樗?jīng)常出問(wèn)題而嘲笑它愚蠢得令人絕望。該系統(tǒng)的背后是PB級(jí)數(shù)據(jù)(1PB等于100萬(wàn)個(gè)GB)和復(fù)雜的概率模型。\h\h[18]隨著時(shí)間的推移,法律體系也變得越來(lái)越復(fù)雜。截至2014年,美國(guó)聯(lián)邦稅法的總頁(yè)數(shù)已經(jīng)超過(guò)了74000頁(yè)。\h\h[19]這個(gè)龐大的法律網(wǎng)絡(luò)非常復(fù)雜,擁有無(wú)數(shù)個(gè)關(guān)聯(lián)點(diǎn),會(huì)對(duì)納稅人產(chǎn)生級(jí)聯(lián)式的影響,可以說(shuō)幾乎沒(méi)有人能從整體上完全理解其功能。在我們的生活中,復(fù)雜的技術(shù)系統(tǒng)無(wú)處不在,這通常是一件好事。正是在這種龐大的復(fù)雜性中,我們發(fā)現(xiàn)了驚人的彈性,也就是復(fù)原力。這些系統(tǒng)通常擁有許多功能各異的工具箱和故障保險(xiǎn)箱,可以幫助人們完成任何“想要”完成的事情。這些系統(tǒng)也為我們提供了連古代皇室都無(wú)法想象的生活:免除了辛苦的重復(fù)勞動(dòng);把水電送到家中;讓我們一年到頭都可以生活在舒適的溫度下;還能幫助我們快速地傳遞信息。那么,我們?cè)撊绾卫斫鈴?fù)雜系統(tǒng),而這又意味著什么呢?無(wú)論是分析一個(gè)現(xiàn)象,還是了解一個(gè)系統(tǒng),都不是非此即彼的二元選擇。這種理解其實(shí)是一條內(nèi)涵豐富的光譜。\h\h[20]換句話說(shuō),你可以只從整體上去理解一個(gè)系統(tǒng),掌握它的全局情況,而不一定非得理解其各個(gè)組成部分的細(xì)節(jié)情況;你也可以只理解它的所有組成部分,而不太關(guān)注其整體功能;你還可以只了解各部分是如何相互關(guān)聯(lián)的,或者只探究這種關(guān)聯(lián)的最終效應(yīng)。此外,所有的“理解”都會(huì)涉及一些具體活動(dòng):描述事物是如何運(yùn)行的,在不同層面上預(yù)測(cè)其未來(lái)的行為,并在時(shí)間充足和資源豐富的情況下通過(guò)構(gòu)建模型來(lái)復(fù)制它。回到上文中有關(guān)浮標(biāo)的例子。你或許只能了解到兩三個(gè)被連接在一起的浮標(biāo)的行為細(xì)節(jié),甚至只能搞清楚一個(gè)浮標(biāo)的行為,而無(wú)法描述所有浮標(biāo)所組成的巨大網(wǎng)絡(luò)的整體行為;或者,你能夠描述浮標(biāo)的整體運(yùn)動(dòng),卻無(wú)法預(yù)測(cè)它們各自的行為。對(duì)于軟件,你或許可以很好地理解給定程序中的若干模塊,例如計(jì)算圓周率值的子程序,或是對(duì)一組數(shù)字進(jìn)行排序的子程序,但你卻不一定能理解它們是如何一起發(fā)揮作用的。通常,我們只能把握上述“理解”中的一部分,而非全部。另外,“理解”也不是固定不變的,它可以通過(guò)訓(xùn)練來(lái)改進(jìn)。從來(lái)沒(méi)有下過(guò)國(guó)際象棋的人,在看到棋局的時(shí)候,可能無(wú)法將勢(shì)均力敵的平局和王已經(jīng)受到致命威脅的殘局區(qū)別開(kāi)來(lái)。而接受過(guò)一定訓(xùn)練的初學(xué)者和中段棋手,均能掌握下棋的基本模式,并判斷棋局的基本形勢(shì)和大致走向。國(guó)際象棋大師則能一眼看透當(dāng)前的形勢(shì)和接下來(lái)可能會(huì)出現(xiàn)的演變,而后評(píng)估棋局并給出可靠的走法,同時(shí)彌補(bǔ)潛在的弱點(diǎn)。經(jīng)過(guò)充分訓(xùn)練后,棋手在看到一盤(pán)棋時(shí),眼中所見(jiàn)的就不再是一排排、一列列的棋子了,而是諸如“白棋三步就可將死對(duì)方”之類(lèi)的棋局。因此,學(xué)習(xí)專(zhuān)業(yè)知識(shí)并接受一定的訓(xùn)練確實(shí)可以從根本上改變我們對(duì)世界的看法和理解方式。對(duì)于人類(lèi)構(gòu)建的系統(tǒng)而言,亦是如此。計(jì)算機(jī)代碼既可能是難懂的天書(shū),也可能是解決難題的優(yōu)雅方案,這一切都取決于你到底了解些什么。不過(guò),當(dāng)我們無(wú)法完全理解它們時(shí),就會(huì)遭到某種特定的失敗或打擊,也就是某種意想不到的結(jié)果。以空中交通預(yù)警防撞系統(tǒng)(TrafficAlertandCollisionAvoidanceSystem,TCAS)為例,人們創(chuàng)建這個(gè)系統(tǒng)的目的是防止飛機(jī)在空中相撞。這個(gè)系統(tǒng)會(huì)提醒飛機(jī)駕駛員注意潛在危險(xiǎn),并告之如何根據(jù)規(guī)則做出應(yīng)對(duì)。但是,幾十年來(lái),這個(gè)系統(tǒng)的規(guī)則已經(jīng)變得極其復(fù)雜,復(fù)雜到全世界只有屈指可數(shù)的幾個(gè)人能夠真正了解它。每當(dāng)有人提出一項(xiàng)新的系統(tǒng)規(guī)則時(shí),有關(guān)方面就會(huì)通過(guò)模擬實(shí)驗(yàn)來(lái)測(cè)試其效果。在若干次測(cè)試中,如果表現(xiàn)均能達(dá)到預(yù)期,新規(guī)則就會(huì)被批準(zhǔn)投入使用。盡管避免飛機(jī)相撞本就是一個(gè)復(fù)雜的挑戰(zhàn),但是從根本上來(lái)說(shuō),我們?yōu)榇硕⑵饋?lái)的系統(tǒng)已經(jīng)變得太過(guò)復(fù)雜了。不但一般人無(wú)法理解,即使是專(zhuān)家,有時(shí)候也會(huì)對(duì)系統(tǒng)在某些情況下所做出的反應(yīng)感到疑惑。當(dāng)結(jié)果出人意料時(shí),就意味著我們對(duì)相關(guān)問(wèn)題的理解還不夠充分,因而無(wú)法搞清楚這種結(jié)果從何而來(lái)。倘若只是視頻游戲中的一個(gè)錯(cuò)誤,那倒也無(wú)傷大雅,甚至還能起到娛樂(lè)大眾的效果。然而,如果是極度復(fù)雜的社會(huì)保障系統(tǒng)發(fā)生了出人意料的狀況,我們肯定就無(wú)心娛樂(lè)了。這些復(fù)雜的系統(tǒng)可能是為我們提供水電的基礎(chǔ)設(shè)施,也可能是執(zhí)行金融交易的軟件,還可能是防止飛機(jī)相撞的程序。在這種時(shí)候,理解是否到位就成了一個(gè)生死攸關(guān)的問(wèn)題。每個(gè)人理解世界的能力天生就有所不同。天才擁有常人難以企及的直覺(jué),他們的跳躍性思維可能遠(yuǎn)遠(yuǎn)超出了常人所能理解的范疇。但是,人類(lèi)的認(rèn)知能力終歸是有限的。隨著時(shí)間的流逝,我們所構(gòu)建的各種技術(shù)系統(tǒng)變得越來(lái)越復(fù)雜,系統(tǒng)之間的關(guān)聯(lián)性也變得越來(lái)越強(qiáng),越來(lái)越難以理解。無(wú)論人類(lèi)有多聰明,記憶力有多強(qiáng),都無(wú)濟(jì)于事,因?yàn)檫@些系統(tǒng)的構(gòu)建方式與人類(lèi)的思維方式不一樣。人類(lèi)不具備同時(shí)應(yīng)對(duì)數(shù)百萬(wàn)個(gè)組成部分及其之間的大量交互,并將所有結(jié)果都記在腦袋中的能力。我們的大腦會(huì)“嚴(yán)重超載”,繼而宣告失敗。從“啟蒙時(shí)代”到“糾纏時(shí)代”在當(dāng)今這個(gè)機(jī)器時(shí)代,非技術(shù)專(zhuān)家在試圖理解技術(shù)時(shí),偶爾會(huì)訴諸迷信或某種一廂情愿的觀點(diǎn)。通常來(lái)說(shuō),在一個(gè)家庭中,總會(huì)有一個(gè)人會(huì)因計(jì)算機(jī)或某種機(jī)器無(wú)法正常運(yùn)行而受到指責(zé),在其他人看來(lái),他只是用手碰了一下就把事情搞砸了。有時(shí)候,甚至只要他在場(chǎng),人們就會(huì)認(rèn)定他是導(dǎo)致某種技術(shù)無(wú)法正常發(fā)揮作用的原因。例如,一個(gè)大學(xué)生放暑假回到家,偏巧打印機(jī)壞了;或者父母來(lái)訪,電腦鼠標(biāo)就失靈了。反之亦然。一個(gè)你無(wú)法解決的問(wèn)題,別人卻能輕松解決。你將某個(gè)出了故障的設(shè)備交給技術(shù)人員維修,可是一到他們手上,故障就消失得無(wú)影無(wú)蹤,而當(dāng)你把設(shè)備帶回家后,卻發(fā)現(xiàn)它仍然無(wú)法使用。在缺乏專(zhuān)業(yè)技術(shù)知識(shí)的外行人看來(lái),機(jī)器的內(nèi)部工作原理相當(dāng)神秘。如果我們只是這些系統(tǒng)的使用者,那么不知其詳也并無(wú)大礙。當(dāng)機(jī)器出現(xiàn)故障時(shí),我們可能會(huì)半真半假地認(rèn)為有人正在對(duì)機(jī)器“發(fā)功”,對(duì)它施加了不利影響。當(dāng)然,不管有沒(méi)有做出這樣的假設(shè),至少我們會(huì)很自然地相信,肯定有某個(gè)專(zhuān)家知道到底是怎么回事,比如“主板燒了”,于是我們便將那個(gè)神秘的搗蛋鬼因素拋之腦后。然而,持有這種“迷信”觀念的,早已不再僅限于普通人了,事實(shí)上,就連技術(shù)開(kāi)發(fā)者也開(kāi)始這樣想了。美國(guó)計(jì)算機(jī)工程師李·費(fèi)爾森施泰因(LeeFelsenstein)講述了一個(gè)發(fā)生在某位工程經(jīng)理身上的故事:在對(duì)軟件進(jìn)行展示的時(shí)候,那位工程經(jīng)理不得不選擇回避,因?yàn)橹灰趫?chǎng),軟件就會(huì)運(yùn)行失常。軟件工程師們完全搞不清楚為什么會(huì)這樣,總之只要這位經(jīng)理在場(chǎng),事情就會(huì)變?cè)?。\h\h[21]費(fèi)爾森施泰因指出,這種無(wú)法通過(guò)運(yùn)算來(lái)解釋的失敗“已經(jīng)落入形而上學(xué)的領(lǐng)域”。工程師們不明就里,下意識(shí)地把思考點(diǎn)放在了“存在問(wèn)題”這個(gè)層面上,并走上了哲學(xué)思考之路。當(dāng)然,他們并不孤單。計(jì)算機(jī)科學(xué)家杰勒德·奧爾茨曼(GerardHolzmann)也有同樣的感受:大型的、復(fù)雜的代碼總會(huì)包含一些不祥的“暗碼”(darkcode)\h\h(1)。沒(méi)有人能完全理解這種代碼,它的存在也沒(méi)有明確的目的。然而,想要讓?xiě)?yīng)用程序按照預(yù)期正常地運(yùn)行,這種代碼又是不可或缺的。你不想去碰它,所以會(huì)傾向于繞過(guò)它。暗碼是會(huì)逆轉(zhuǎn)的。應(yīng)用程序具有防止實(shí)際代碼被追溯的功能,它會(huì)莫名其妙地做出一些程式之外的事。\h\h[22]在司法領(lǐng)域中也存在類(lèi)似的狀況。根據(jù)律師兼作家菲利普·K.霍華德(PhilipK.Howard)的說(shuō)法,我們目前正處在這樣的境況中:“現(xiàn)代法律的叢林已經(jīng)太密集了,成了不可知之境?!盶h\h[23]在技術(shù)領(lǐng)域,這樣的例子顯然更多,甚至不需要到最前沿去找。正如作家奎因·諾頓(QuinnNorton)所指出的那樣,即使是功能平庸的家用臺(tái)式電腦,也是“非常復(fù)雜的,復(fù)雜到地球上的任何人都不知道它在做什么、怎么做”。\h\h[24]近幾十年來(lái),在人類(lèi)一手打造的“創(chuàng)世界”中,異常龐雜、難以理解的事物越來(lái)越多。事實(shí)上,即使是這些系統(tǒng)的創(chuàng)造者也常常一頭霧水。美國(guó)政治理論家和技術(shù)哲學(xué)家蘭登·溫納(LangdonWinner)在其著作《自主的技術(shù)》(AutonomousTechnology)中指出,英國(guó)著名小說(shuō)家和政治家赫伯特·喬治·威爾斯(H.G.Wells)晚年提出的那個(gè)觀點(diǎn)是值得相信的:“人類(lèi)的思維已經(jīng)無(wú)法應(yīng)對(duì)它自己所創(chuàng)造的環(huán)境了。”\h\h[25]威爾斯早在1945年就得出了這個(gè)結(jié)論,不過(guò),他當(dāng)時(shí)討論的主題是“人類(lèi)的組織和社會(huì)本身”。近年來(lái),這個(gè)問(wèn)題變得愈加尖銳,盡管技術(shù)已經(jīng)發(fā)展到當(dāng)年的威爾斯完全想象不到的水平。計(jì)算機(jī)科學(xué)家丹尼爾·希利斯(DanielHillis)認(rèn)為,我們的世界已經(jīng)從“啟蒙”(enlightenment)轉(zhuǎn)向了“糾纏”(entanglement),至少技術(shù)領(lǐng)域肯定如此:“技術(shù)已經(jīng)變得如此復(fù)雜,以致我們無(wú)法完全理解它,也無(wú)法完全控制它。我們已經(jīng)進(jìn)入了‘糾纏時(shí)代’……每個(gè)專(zhuān)家都只了解難題的片段,卻無(wú)法把握難題的整體。”\h\h[26]就連作為技術(shù)創(chuàng)造者的專(zhuān)家都無(wú)法完全了解技術(shù)了。抽象的局限在創(chuàng)建復(fù)雜的技術(shù)時(shí),最強(qiáng)大的方法就是人們常說(shuō)的“抽象”(abstraction)。從根本上說(shuō),抽象其實(shí)就是:將系統(tǒng)中某些不必要的組件細(xì)節(jié)隱藏起來(lái),同時(shí)保留組件與系統(tǒng)進(jìn)行高效交互的方式和能力。例如,我在編寫(xiě)計(jì)算機(jī)程序時(shí),不必再用機(jī)器代碼語(yǔ)言來(lái)編程,而可以使用C語(yǔ)言或其他類(lèi)似的語(yǔ)言。機(jī)器代碼語(yǔ)言是一種二進(jìn)制代碼,此前,每臺(tái)特定的計(jì)算機(jī)都需要用這種語(yǔ)言來(lái)設(shè)置指令?,F(xiàn)在,我寫(xiě)出來(lái)的程序不僅易于閱讀,還可以轉(zhuǎn)換為機(jī)器代碼語(yǔ)言。在很多情況下,我甚至不需要知道程序?qū)?huì)在哪種特定的機(jī)器上運(yùn)行,那些與機(jī)器有著更深層級(jí)交互的其他程序自然會(huì)“考慮”細(xì)節(jié)。換句話說(shuō),這些細(xì)節(jié)在編程時(shí)已經(jīng)被我抽象化了。這種抽象方法在技術(shù)中無(wú)處不在。在與某個(gè)界面友好的網(wǎng)站進(jìn)行互動(dòng)時(shí),對(duì)于網(wǎng)站的內(nèi)部技術(shù)細(xì)節(jié),我們并不關(guān)心;在將烤面包機(jī)的插頭插入某個(gè)插孔中時(shí),我們也不需要知道電力是哪里輸送過(guò)來(lái)的,或是發(fā)電廠位于什么地方。這就好比我們無(wú)須知道搜索引擎是如何給出具體結(jié)果的。只要接口或界面是合乎邏輯的、可以使用的,那么我們就只需要關(guān)注正在構(gòu)建或修復(fù)的細(xì)節(jié),而不用擔(dān)心接口和界面背后的一切復(fù)雜問(wèn)題。利用這種抽象方法,我們可以在一種技術(shù)的基礎(chǔ)上構(gòu)建出另一種技術(shù),也就是直接利用他人創(chuàng)建的技術(shù),而無(wú)須了解其內(nèi)部細(xì)節(jié)。如果你是使用統(tǒng)計(jì)軟件包分析數(shù)據(jù)集的財(cái)務(wù)分析師,或是使用預(yù)設(shè)代碼創(chuàng)作有趣動(dòng)畫(huà)的應(yīng)用程序開(kāi)發(fā)者,那么你無(wú)疑已經(jīng)在使用抽象方法了。抽象給人們帶來(lái)的最大好處是專(zhuān)業(yè)化。即使系統(tǒng)擁有數(shù)百萬(wàn)量級(jí)的交互,系統(tǒng)的構(gòu)建者和維護(hù)者也不是必須知道它到底是如何工作的。抽象使他們只需了解自身關(guān)注的某個(gè)具體部分,而其他部分的細(xì)節(jié)會(huì)被再次抽象化。然而在這個(gè)糾纏時(shí)代,抽象方法也可能會(huì)崩潰。事實(shí)上,這種情況出現(xiàn)得越來(lái)越頻繁。在一個(gè)系統(tǒng)中,原本被設(shè)計(jì)者和構(gòu)建者屏蔽的各個(gè)組成部分,正在越來(lái)越多地以意想不到的方式發(fā)生碰撞。這一點(diǎn)在金融領(lǐng)域顯得尤為突出。在當(dāng)今的金融市場(chǎng)上,“參與者”早就不僅限于人類(lèi)了,大量以各種信息為基礎(chǔ)的計(jì)算機(jī)程序也參與了交易,而且速度比人類(lèi)手動(dòng)執(zhí)行快了無(wú)數(shù)倍。這些計(jì)算機(jī)程序以異常復(fù)雜的方式相互聯(lián)系著,并通過(guò)巨大的交易網(wǎng)絡(luò)對(duì)決策進(jìn)行級(jí)聯(lián)式放大和傳播。那么,它們究竟是如何做出交易決策的呢?某些計(jì)算機(jī)程序能從海量的數(shù)據(jù)中總結(jié)出有意義的參數(shù)。結(jié)果可能會(huì)非常極端。2010年5月6日,全球金融市場(chǎng)出現(xiàn)了閃電崩盤(pán),股市出現(xiàn)了大規(guī)模的、非常迅速的巨幅震蕩。\h\h[27]許多上市公司的市值都因此遭受了重創(chuàng),不過(guò)不久之后又都基本重回原位。這次閃電崩盤(pán)涉及一系列交易算法和實(shí)施細(xì)則,這些算法和細(xì)則以意想不到的方式進(jìn)行了交互,在短時(shí)間內(nèi)便造成數(shù)十億美元的損失。盡管很復(fù)雜,但這些系統(tǒng)并非處于真空地帶,它們是更高層級(jí)的技術(shù)生態(tài)系統(tǒng)的一部分,而這個(gè)技術(shù)生態(tài)系統(tǒng)決定了每種證券或商品的交易時(shí)段。金融系統(tǒng)還會(huì)受到一系列法律法規(guī)的約束。當(dāng)然,法律法規(guī)本身即是一個(gè)系統(tǒng),而且是一個(gè)龐大且復(fù)雜的系統(tǒng)。不同法律之間存在相互依賴、相互援引的關(guān)系,且聯(lián)系方式時(shí)而精確、時(shí)而混沌,令人難以琢磨。此外,這些交易所依賴的基礎(chǔ)設(shè)備,都建立在持續(xù)發(fā)展了數(shù)十年的技術(shù)之上。這樣一來(lái),整個(gè)系統(tǒng)就成了“新”與“舊”的組合:在這個(gè)系統(tǒng)中,古老的依靠人工喊價(jià)的實(shí)物交易與通過(guò)光纖傳輸完成的電子交易共存。我們?cè)跇?gòu)建能夠?qū)崿F(xiàn)高效交易的計(jì)算機(jī)程序時(shí),不僅要考慮日新月異的計(jì)算機(jī)科學(xué)、繁雜的金融工具和深不可測(cè)的法律法規(guī)等,還要深入了解物理學(xué)。因?yàn)椤肮庠诓煌牧现械膫鬏斔俣取边@一點(diǎn)在交易中至關(guān)重要。因此,我們說(shuō),地球上沒(méi)有人能完全理解金融世界中相互關(guān)聯(lián)的所有系統(tǒng),甚至沒(méi)有人能完全理解其中任何一個(gè)系統(tǒng)。當(dāng)然,在很多情況下,系統(tǒng)的使用者確實(shí)只需要很好地理解系統(tǒng)的一小部分,甚至僅是最表層的一部分就可以了。在一家金融公司里,程序員可能只需要知道如何維護(hù)交易系統(tǒng),而不需要了解計(jì)算機(jī)在物理層面上的基礎(chǔ)設(shè)置;有的人可能只會(huì)關(guān)注某個(gè)特定的軟件,這些軟件可以對(duì)公司外部的消息進(jìn)行過(guò)濾,然后將部分信息傳輸?shù)焦緝?nèi)部進(jìn)行運(yùn)算,至于其他大部分信息,只作大致了解即可;為該公司工作的律師則需要了解與各種交易有關(guān)的法律條文,但不需要知道軟件、服務(wù)器或光纖的任何細(xì)節(jié)。在這里,抽象方法給我們帶來(lái)了很大的便利。在大多數(shù)情況下,對(duì)某個(gè)事物“足夠”了解,看起來(lái)已經(jīng)很不錯(cuò)了,\h\h[28]但是,當(dāng)我們構(gòu)建出越來(lái)越復(fù)雜的系統(tǒng)之后,在系統(tǒng)及其子系統(tǒng)運(yùn)行的不同層級(jí)之間就會(huì)越來(lái)越頻繁地出現(xiàn)跨界交互現(xiàn)象。尤其是隨著事物之間的相互聯(lián)系不斷加強(qiáng),我們愈加難以判斷原有的那些粗略的、不完整的理解是不是仍然夠用。在糾纏中,事物會(huì)在不同的抽象層級(jí)上相互碰撞,以各種令人無(wú)法想象的方式進(jìn)行交互。在充滿交互的網(wǎng)絡(luò)中,常常會(huì)出現(xiàn)被復(fù)雜性科學(xué)反復(fù)提及的“涌現(xiàn)”(emergence),也就是某種層次上的交互最終導(dǎo)致其他層次上的交互出現(xiàn)了預(yù)料之外的現(xiàn)象。涌現(xiàn),在所有類(lèi)型的復(fù)雜系統(tǒng)中都很常見(jiàn)。例如,昆蟲(chóng)的集體飛行便是一種涌現(xiàn)行為。另外,在金融系統(tǒng)中,涌現(xiàn)也很常見(jiàn)。金融系統(tǒng)的運(yùn)行所涉及的因素多種多樣,上至全球范圍內(nèi)的算法交互,下至每條網(wǎng)絡(luò)線的傳輸速度。要想真正搞清楚哪些細(xì)節(jié)應(yīng)該被抽象化,是一個(gè)太過(guò)繁雜的問(wèn)題。當(dāng)系統(tǒng)內(nèi)部深處的某些微小細(xì)節(jié)像“微型造物主”一樣崛起,并開(kāi)始破壞技術(shù)系統(tǒng)的其他組成部分時(shí),我們就不能只對(duì)系統(tǒng)進(jìn)行局部理解了。當(dāng)系統(tǒng)處于糾纏之中時(shí),其內(nèi)部各部分之間的交互會(huì)陷入混亂,以往幫助我們管理復(fù)雜性的等級(jí)結(jié)構(gòu)和抽象方法,都會(huì)迅速地分崩離析。那么,在可見(jiàn)的未來(lái)中,人類(lèi)是否有希望找到擺脫這種混亂的辦法,并讓世界重新回到可管理的狀態(tài)呢?或者,我們注定要帶著深切的、無(wú)法言喻的恐懼感來(lái)面對(duì)這些不斷增殖的系統(tǒng)?在大多數(shù)人看來(lái),不完全了解那些技術(shù)系統(tǒng),不知道所在城市的基礎(chǔ)設(shè)施細(xì)節(jié),不理解蘋(píng)果手機(jī)的硬件如何驗(yàn)證指紋,不清楚法律法規(guī)如何促進(jìn)國(guó)際貿(mào)易,其實(shí)并沒(méi)有什么關(guān)系。人們簡(jiǎn)單地認(rèn)為,對(duì)于那些復(fù)雜的系統(tǒng),只需要明白如何使用即可,它們的具體機(jī)制是什么則無(wú)關(guān)緊要。不過(guò),對(duì)于一個(gè)新工具的工作原理,有人搞不懂是一回事,所有人都搞不懂又是另一回事。許多人還在自欺欺人地以為,專(zhuān)家們終會(huì)把我們從這種龐大的復(fù)雜性中拯救出來(lái),因?yàn)樗麄兝斫馕覀兯焕斫獾臇|西。但是事實(shí)并非如此,專(zhuān)家也不一定理解,依賴專(zhuān)家的時(shí)代早就一去不復(fù)返了。我們過(guò)去所采用的用以理解這些系統(tǒng)的思維方式,也就是找到“挑戰(zhàn)者號(hào)”航天飛機(jī)失事原因的那種思維方式,現(xiàn)在已經(jīng)完全失效了。這很令人絕望。糾纏的世界并非遠(yuǎn)在天邊,而是近在眼前。每個(gè)人都需要用新的思維方式去理解技術(shù),甚至是那些我們輕松地將理解外包給專(zhuān)家的技術(shù)。雖然對(duì)人類(lèi)而言糾纏時(shí)代的到來(lái)是一場(chǎng)嚴(yán)峻的挑戰(zhàn),但我仍然滿懷希望,并堅(jiān)信:我們定能學(xué)會(huì)如何處理這些系統(tǒng),至少在某種程度上。但是,要想真正理解這個(gè)由人類(lèi)一手創(chuàng)造的時(shí)代,我們就需要先退而求其次,將迫使我們陷入復(fù)雜性、阻礙我們理解復(fù)雜性的各種因素找出來(lái)。技術(shù)系統(tǒng)變得越來(lái)越復(fù)雜的主要原因是“吸積”和“交互”。隨著時(shí)間的推移,系統(tǒng)中不斷加入更多的組成部分,部分之間也增加了越來(lái)越多的連接?!氨仨毺幚淼睦馇闆r”和“普遍的稀有事物”也讓技術(shù)系統(tǒng)變得愈加復(fù)雜。要想使用互聯(lián)網(wǎng),我們就必須忍受或是間接地忍受雜亂無(wú)章、東拼西湊的網(wǎng)絡(luò)世界。真是一團(tuán)糟!互聯(lián)網(wǎng)的第一步是在20世紀(jì)60年代邁出的。\h\h[1]當(dāng)時(shí),有人創(chuàng)造出了一個(gè)巧妙的設(shè)計(jì),使人們能夠在不同的地方通過(guò)計(jì)算機(jī)傳遞信息包。于是,小網(wǎng)絡(luò)被相互關(guān)聯(lián)起來(lái),構(gòu)成了大網(wǎng)絡(luò)。同時(shí),為了高效地傳輸信息,人們還開(kāi)發(fā)出了各種各樣的協(xié)議。到了今天,互聯(lián)網(wǎng)的應(yīng)用已與其最初出現(xiàn)時(shí)大不相同,以安全問(wèn)題為例?;ヂ?lián)網(wǎng)原本是研究者以溝通為目的開(kāi)發(fā)出來(lái)的系統(tǒng),對(duì)于要求高效和安全的大規(guī)模商業(yè)交易而言,并不理想。為了彌補(bǔ)這種缺陷,促進(jìn)商業(yè)交易,人們?cè)谠械幕ヂ?lián)網(wǎng)基礎(chǔ)設(shè)置上開(kāi)發(fā)出了很多不同的機(jī)制,包括加密和解密信息的方法,以數(shù)字方式轉(zhuǎn)移資金的規(guī)則,等等。令人高興的是,這個(gè)系統(tǒng)確實(shí)變得有用了。然而,在網(wǎng)站的用戶界面背后,其實(shí)潛藏著一個(gè)奇怪且復(fù)雜的結(jié)構(gòu)。有時(shí)候,作為用戶的我們也能直接窺見(jiàn)些許混亂的跡象,例如,網(wǎng)頁(yè)上彈出的安全證書(shū)警告。是的,很多事物都是這樣,有用,但是遠(yuǎn)遠(yuǎn)稱(chēng)不上優(yōu)雅。與此類(lèi)似,開(kāi)發(fā)網(wǎng)站所用的HTML語(yǔ)言,在設(shè)計(jì)之初,也并非是為了服務(wù)諸如谷歌在線辦公軟件(GoogleDocs)這類(lèi)基于全球廣域網(wǎng)(Web)的交互式應(yīng)用程序?,F(xiàn)在,這類(lèi)應(yīng)用程序已經(jīng)投入運(yùn)行,但人們?nèi)匀辉诟冻龃鷥r(jià):我們必須在一個(gè)簡(jiǎn)單的系統(tǒng)上建造一棟非常宏偉的巴洛克式建筑。倘若你想一瞥這種復(fù)雜性的一角,只需查看一下谷歌主頁(yè)的源代碼就足夠了。雖然我們?cè)跒g覽器中看到的網(wǎng)頁(yè)既簡(jiǎn)潔又優(yōu)雅,但是潛藏在這個(gè)表象下的東西卻數(shù)不勝數(shù)。我上一次查看谷歌主頁(yè)的源代碼時(shí),其字符數(shù)已超過(guò)了10萬(wàn)個(gè),如果完整地打印出來(lái),將超過(guò)50頁(yè)紙!\h\h[2]再比如電子郵件。從表面上看,這是一個(gè)相對(duì)簡(jiǎn)單的應(yīng)用程序,已經(jīng)發(fā)展了好幾十年。在其古老的原始結(jié)構(gòu)的基礎(chǔ)上,消息線程等各種新功能層出不窮。不過(guò),網(wǎng)絡(luò)雜志《頁(yè)巖》(Slate)的互動(dòng)編輯克里斯·柯克(ChrisKirk)在嘗試構(gòu)建自己的電子郵件客戶端程序之后指出:“雖然電子郵件的軟件時(shí)有創(chuàng)新,但這些創(chuàng)新都建立在過(guò)時(shí)的系統(tǒng)之上,如同狡猾的平衡術(shù),有時(shí)甚至相當(dāng)隨意,比如,將電子郵件恢復(fù)為最初形式,或是將它改頭換面?!盶h\h[3]在計(jì)算機(jī)學(xué)和工程學(xué)中,有一個(gè)術(shù)語(yǔ)kluge,指的是拼湊起來(lái)的系統(tǒng),也就是將許多不同的東西混合在一起,以求解決問(wèn)題的系統(tǒng)。這種系統(tǒng)肯定是不精致、不優(yōu)雅的,而且很多時(shí)候龐雜得毫無(wú)必要。雖然這種拼湊起來(lái)的系統(tǒng)是有效的,但遠(yuǎn)遠(yuǎn)稱(chēng)不上完美。有些東西的第一代設(shè)計(jì)可能是相當(dāng)優(yōu)雅的,但是隨著時(shí)間的推移,它們的結(jié)構(gòu)變得越來(lái)越復(fù)雜,最終變成了雜亂的魯布·戈德堡(RubeGoldberg)式\h\h(2)的應(yīng)急之物。包括互聯(lián)網(wǎng)在內(nèi),在每一個(gè)技術(shù)領(lǐng)域中,都存在著這類(lèi)拼湊起來(lái)的系統(tǒng),例如交通網(wǎng)絡(luò)和醫(yī)療設(shè)施。以家庭娛樂(lè)系統(tǒng)為例,它們雖然有用,但需要同時(shí)使用好幾個(gè)遙控器,以及一大團(tuán)亂麻般的電線、信號(hào)線和數(shù)據(jù)線。美國(guó)的法律體系也是個(gè)拼湊起來(lái)的系統(tǒng)。這是一個(gè)為了達(dá)到特定目的而被構(gòu)建出來(lái)的技術(shù)系統(tǒng),遠(yuǎn)遠(yuǎn)稱(chēng)不上優(yōu)雅。就像計(jì)算機(jī)代碼是操作軟件的書(shū)面描述一樣,法律法規(guī)本質(zhì)上也是技術(shù)代碼的書(shū)面體現(xiàn)。\h\h[4]毫無(wú)疑問(wèn),《美利堅(jiān)合眾國(guó)憲法》是一部非常優(yōu)雅的文件,只用了寥寥數(shù)頁(yè),就為代議制民主奠定了堅(jiān)實(shí)的基礎(chǔ)。當(dāng)然,憲法的確立并不是故事的結(jié)局。對(duì)聯(lián)邦法律具有指導(dǎo)意義的《美國(guó)法典》是在憲法的框架內(nèi)發(fā)展起來(lái)的。這些法律致力于闡明憲法的一般原則,以及對(duì)各種具體情況的處理準(zhǔn)則和方法。例如,《美利堅(jiān)合眾國(guó)憲法》只用一句話規(guī)定了國(guó)會(huì)有權(quán)建立公共郵政服務(wù)機(jī)構(gòu),而在《美國(guó)法典》中,有關(guān)這個(gè)政府職能的闡述多達(dá)500余頁(yè)。\h\h[5]此外,美國(guó)聯(lián)邦郵政法規(guī)還規(guī)定了從郵政局的職位設(shè)置到郵政資費(fèi)等各方面的所有細(xì)節(jié)??偠灾?,《美國(guó)法典》比《美利堅(jiān)合眾國(guó)憲法》要復(fù)雜得多。\h\h[6]事實(shí)上,《美國(guó)法典》的規(guī)模和互聯(lián)性仍在不斷增加,時(shí)至今日,其總字?jǐn)?shù)已經(jīng)超過(guò)了2200萬(wàn),內(nèi)部各章節(jié)之間的關(guān)聯(lián)點(diǎn)也已超過(guò)了8萬(wàn)個(gè)。其實(shí),無(wú)論在什么地方,我們都可以觀察到,隨著時(shí)間的推移,各種系統(tǒng)的復(fù)雜性都出現(xiàn)了大規(guī)模增長(zhǎng)。我們還發(fā)現(xiàn),一般來(lái)說(shuō),當(dāng)一個(gè)復(fù)雜的系統(tǒng)龐大到一定程度時(shí),無(wú)論其具體形式如何,都會(huì)變成一個(gè)拼湊起來(lái)的系統(tǒng)。萊特兄弟于1903年制造的飛機(jī)是簡(jiǎn)約主義的杰作\h\h[7],只有很少的幾個(gè)部件,載人后總重量?jī)H為340千克;而到了今天,制造一架波音747-400飛機(jī)\h\h[8]需要用掉67000千克鋁材,600萬(wàn)個(gè)獨(dú)立部件和275千米管線\h\h[9]。這是個(gè)普遍現(xiàn)象,在過(guò)去的200年里,我們制造出來(lái)的機(jī)器所包含的零件數(shù)量一直在大幅增加。那么,對(duì)于影響著我們生活方方面面的,現(xiàn)代技術(shù)系統(tǒng)中的軟件來(lái)說(shuō),情況又如何呢?衡量軟件復(fù)雜性的常用指標(biāo)之一是程序代碼的行數(shù)。據(jù)估計(jì),微軟操作系統(tǒng)的源代碼行數(shù)近10年增長(zhǎng)了10倍。\h\h[10]Photoshop的源代碼行數(shù)在過(guò)去20年里爆炸式增長(zhǎng),幾乎是1990年的40倍。\h\h[11]在電話通訊系統(tǒng)中,類(lèi)似的情況同樣存在,隨之而來(lái)的還有巨大的復(fù)雜性。20世紀(jì)20年代,美國(guó)的電話通訊系統(tǒng)已經(jīng)擁有了大約480萬(wàn)千米的收費(fèi)線路和大約1700萬(wàn)部電話。\h\h[12]要知道,就當(dāng)時(shí)而言,電話才剛剛問(wèn)世幾十年;而時(shí)至今日,相關(guān)的技術(shù)生態(tài)系統(tǒng)已遍布全美。所有這些系統(tǒng)都是為了實(shí)現(xiàn)某個(gè)特定功能,由一代又一代的專(zhuān)家設(shè)計(jì)、構(gòu)建出來(lái)的。有人可能會(huì)認(rèn)為,如果這些系統(tǒng)的設(shè)計(jì)是合理的,那么它們理應(yīng)合乎邏輯、優(yōu)雅,甚至簡(jiǎn)潔,也理應(yīng)易于說(shuō)明、易于修復(fù)。然而,盡管我們已盡了最大努力,但技術(shù)系統(tǒng)還是變得越來(lái)越復(fù)雜、越來(lái)越龐大。這絕非偶然,技術(shù)發(fā)展過(guò)程中某些固有的力量,使我們?cè)凇皬?fù)雜性”中越陷越深。和萬(wàn)有引力之類(lèi)的物理定律截然不同,這些力量強(qiáng)大到能讓系統(tǒng)變得越來(lái)越復(fù)雜。不管時(shí)代如何變遷,它們總能壓制住人們對(duì)簡(jiǎn)單的渴求,以致在人們心中,它們已如物理規(guī)律般不可抗拒??墒牵瑸槭裁磿?huì)這樣呢?在本章中,我將詳細(xì)分析一些會(huì)使系統(tǒng)變得日益復(fù)雜的因素。從表面上看,這些因素完全合理,它們所引發(fā)的每一個(gè)變化都能使技術(shù)更加適應(yīng)不斷變化的環(huán)境,要么有助于系統(tǒng)繼續(xù)在新環(huán)境中正常運(yùn)行,要么增加了系統(tǒng)的實(shí)用性。然而,這些因素最終會(huì)使原本優(yōu)雅的解決方案變成雜亂無(wú)章的、拼湊起來(lái)的系統(tǒng)。無(wú)論付出多大努力也無(wú)法避免這樣的結(jié)果,無(wú)法阻止技術(shù)復(fù)雜性的不斷增長(zhǎng)。最終,我們生活的方方面面都會(huì)受到影響。各種技術(shù)系統(tǒng)皆會(huì)隨著時(shí)間的推移而越來(lái)越復(fù)雜,究其首要原因,也是最顯而易見(jiàn)的原因是系統(tǒng)內(nèi)部存在著雙重力量:吸積(accretion)和交互,也就是說(shuō),隨著時(shí)間的推移,系統(tǒng)的組成部分越來(lái)越多,同時(shí)組成部分之間的關(guān)聯(lián)也越來(lái)越多。原因1:吸積在2000年1月1日到來(lái)前的幾年里,許多工程師都在研究如何解決“千年蟲(chóng)”問(wèn)題。簡(jiǎn)而言之,若一個(gè)軟件在存儲(chǔ)年份時(shí)使用的是兩位數(shù),而不是四位數(shù),那么當(dāng)2000年到來(lái)時(shí),這個(gè)軟件就會(huì)“認(rèn)為”那是1900年,從而引發(fā)諸多問(wèn)題。恐怕沒(méi)有任何人、任何機(jī)構(gòu)會(huì)比美國(guó)聯(lián)邦航空管理局(FAA)更擔(dān)心“千年蟲(chóng)”問(wèn)題了。如果空中交通管制系統(tǒng)在新千年到來(lái)時(shí)出現(xiàn)故障,那將會(huì)導(dǎo)致巨大的災(zāi)難。因此,美國(guó)聯(lián)邦航空管理局檢查了計(jì)算機(jī)系統(tǒng),并對(duì)系統(tǒng)進(jìn)行了測(cè)試:如果系統(tǒng)認(rèn)為那是1900年,會(huì)出現(xiàn)什么情況?\h\h[13]在測(cè)試過(guò)程中,他們發(fā)現(xiàn)交通管制系統(tǒng)中的IBM3083計(jì)算機(jī)問(wèn)題特別棘手。作為技術(shù)人員代表,美國(guó)聯(lián)邦航空管理局的工會(huì)主席指出主要問(wèn)題在于:“IBM公司只有兩個(gè)人知道這種型號(hào)的計(jì)算機(jī)的微代碼,但是他們都退休了?!盶h\h[14]但真正的原因是,IBM3083屬于大型機(jī),從20世紀(jì)80年代開(kāi)始發(fā)售,而且所用的系統(tǒng)軟件早在發(fā)售前幾年就已投入使用。這就意味著,到了20世紀(jì)90年代后期,這個(gè)為全美的飛機(jī)制定航線的計(jì)算機(jī)系統(tǒng)所使用的代碼幾乎已無(wú)人可識(shí)。這還算不上令人震驚。一直以來(lái),許多大型系統(tǒng)的基礎(chǔ)都是較小和較陳舊的系統(tǒng)。只要這些系統(tǒng)能夠繼續(xù)平穩(wěn)地運(yùn)行下去,就不會(huì)有人在意那些舊東西上面到底堆了多少新東西,系統(tǒng)中到底累積了多少次第加入的片段。據(jù)一位消息人士透露,直到2007年,美國(guó)國(guó)稅局所使用的報(bào)稅系統(tǒng)依舊是20世紀(jì)60年代早期,也就是肯尼迪政府時(shí)期開(kāi)發(fā)的系統(tǒng)。\h\h[15]美國(guó)國(guó)稅局所使用的另一個(gè)系統(tǒng)則始建于20世紀(jì)70年代,并于1985年進(jìn)行了大修。與此類(lèi)似,美國(guó)的航天飛機(jī)在執(zhí)行最后一次航天任務(wù)時(shí),\h\h[16]所用的平臺(tái)是由5臺(tái)IBM計(jì)算機(jī)組成的,其計(jì)算能力甚至還比不上今天的一部普通智能手機(jī)。然而,這些軟件和技術(shù)仍然在使用著。1975年出版的《人月神話》(TheMythicalMan-Month)一書(shū)中,計(jì)算機(jī)科學(xué)家小弗雷德里克·布魯克斯(FrederickP.BrooksJr.)討論了有關(guān)軟件設(shè)計(jì)和項(xiàng)目編程的管理問(wèn)題。在這本書(shū)中,他引用了業(yè)內(nèi)的一句俗語(yǔ):“每次加一點(diǎn),每次加一點(diǎn),最后就有了一大堆?!盶h\h[17]每一個(gè)獨(dú)立設(shè)計(jì),無(wú)論是為了修復(fù),還是用來(lái)提供新功能,看上去都不過(guò)是一次獨(dú)立的選擇,而且都很合理:要么解決了問(wèn)題,要么為用戶創(chuàng)造了新的令人興奮的功能。然而,日積月累下,它們終會(huì)變成“一大堆”。從交通運(yùn)輸業(yè)到能源業(yè),再到農(nóng)業(yè),我們都可以從中清楚地看到,但凡是大型的技術(shù)系統(tǒng),就定會(huì)發(fā)生這種情況。舉例來(lái)說(shuō),一大堆石頭不一定會(huì)成為問(wèn)題,即使它們看上去可能很難處理、過(guò)于零亂,但卻不一定深?yuàn)W難解。真正的問(wèn)題是,當(dāng)我們創(chuàng)造的“一大堆”引發(fā)出意料之外的狀況時(shí),我們就會(huì)遭遇“雪崩”。不幸的是,我們不斷地往技術(shù)系統(tǒng)中加入一個(gè)又一個(gè)片段,“雪崩”在所難免?!耙淮蠖选辈粌H變得更大,而且變得更難琢磨了。我記得我最早是在一些討論“行星系如何形成”的文章中看到“吸積”這個(gè)術(shù)語(yǔ)的。行星系由一團(tuán)旋轉(zhuǎn)的塵埃和氣體凝聚而成,這種星星點(diǎn)點(diǎn)的累積過(guò)程,就是“吸積”的過(guò)程。\h\h[18]這個(gè)用來(lái)描述行星系如何形成的概念由來(lái)已久,而在技術(shù)的增長(zhǎng)過(guò)程中也是類(lèi)似的吸積作用。吸積過(guò)程的結(jié)果之一就是形成了人們常說(shuō)的遺留代碼(legacycode)或遺留系統(tǒng)(legacysystems),即過(guò)時(shí)的機(jī)器和技術(shù),也就是開(kāi)發(fā)出來(lái)之后使用至今的機(jī)器和技術(shù),譬如美國(guó)國(guó)稅局所使用的報(bào)稅系統(tǒng)。這種老舊的系統(tǒng)并不罕見(jiàn),甚至可以說(shuō)相當(dāng)常見(jiàn)。\h\h[19]它們經(jīng)歷了多年的吸積過(guò)程,成了拼湊起來(lái)的系統(tǒng),從科學(xué)模型到城市基礎(chǔ)設(shè)施,幾乎無(wú)處不在。例如,在城市的排水系統(tǒng)中,既有服役超過(guò)百年的舊管道,也有剛剛埋設(shè)好的新管道。就計(jì)算機(jī)領(lǐng)域而言,很多技術(shù)系統(tǒng)都依賴于已停產(chǎn)的舊型號(hào)計(jì)算機(jī)系統(tǒng),而且程序代碼也是用早已退役的編程語(yǔ)言所寫(xiě)。例如,許多科學(xué)軟件現(xiàn)在都成了遺留系統(tǒng),它們一般都是用Fortran語(yǔ)言編寫(xiě)的,那是一種功能強(qiáng)大但早已過(guò)時(shí)的編程語(yǔ)言。隨著技術(shù)的高速發(fā)展,如今我們?cè)賮?lái)看Fortran語(yǔ)言編寫(xiě)的計(jì)算機(jī)代碼,就好像是在看中古時(shí)代的英語(yǔ)。在這里,不妨引用《全球概覽》(WholeEarthCatalog)的創(chuàng)始人斯圖爾特·布蘭德(StewartBrand)在《萬(wàn)年鐘傳奇》(TheClockoftheLongNow)一書(shū)中的說(shuō)法:“通常,這些已經(jīng)過(guò)時(shí)的遺留系統(tǒng),在過(guò)去的許多年里,一直都扮演著十分重要的角色,若是替換掉它們,必定會(huì)‘傷筋動(dòng)骨’,恐怕沒(méi)有人能夠承擔(dān)這樣的后果。此外,它們也是無(wú)法被完全修復(fù)的,一是因?yàn)閱?wèn)題過(guò)于復(fù)雜,二是因?yàn)闆](méi)有人完全了解整個(gè)系統(tǒng)?!蹦敲?,當(dāng)我們面對(duì)一個(gè)仍在緩慢增大、小故障不斷的遺留系統(tǒng)時(shí),又該怎么辦呢?我們只能小心翼翼地對(duì)待它,因?yàn)樵O(shè)計(jì)它的人可能早就“杳無(wú)音訊”了。這個(gè)遺留系統(tǒng)可能已經(jīng)完全嵌入了其他系統(tǒng),徹底移除它的后果,可能遠(yuǎn)比容忍它的小故障更加糟糕。這種系統(tǒng)實(shí)在難以處理,有時(shí)甚至?xí)环Q(chēng)為“恐怖爬行獸”(crawlinghorrors),也就是美國(guó)恐怖、科幻小說(shuō)作家霍華德·菲利普斯·洛夫克拉夫特(H.P.Lovecraft)小說(shuō)中那種無(wú)法形容的怪物。\h\h[20]司法系統(tǒng)條文,也有類(lèi)似的情況。在法律體系中,隨著時(shí)間的推移,法律條文會(huì)被修正或修改。人們會(huì)根據(jù)不斷變化的環(huán)境,對(duì)法律條文做出調(diào)整,但總會(huì)留下一些數(shù)十年前制定的法律條文。例如,互聯(lián)網(wǎng)流量管理的相關(guān)法規(guī)就源于1934年通過(guò)的一項(xiàng)法律。隨著時(shí)間的推移,法律體系也在不斷地吸積,最終成了一個(gè)拼湊起來(lái)的系統(tǒng)。它可以發(fā)揮作用,但是遠(yuǎn)遠(yuǎn)談不上優(yōu)雅。以稅法為例。事實(shí)上,美國(guó)的稅法早已復(fù)雜不堪了,立法者也早就承認(rèn)了這個(gè)事實(shí)。稅表的使用說(shuō)明已經(jīng)從1940年的兩頁(yè),增加到了2013年的200多頁(yè)。\h\h[21]鑒于此,如果你在申報(bào)納稅時(shí),因?yàn)榉煞ㄒ?guī)太過(guò)復(fù)雜而出了錯(cuò),那么最高法院會(huì)裁定你無(wú)罪,因?yàn)槟阍阱e(cuò)誤報(bào)稅這件事上并沒(méi)有“主觀故意”。\h\h[22]盡管如此,就法律體系本身而言,在現(xiàn)有稅法上修修補(bǔ)補(bǔ),要比重新制定更容易,也更有效。另外,我們也要考慮一下諸如美國(guó)環(huán)境保護(hù)署之類(lèi)的政府部門(mén)和機(jī)構(gòu)所頒布的法規(guī)的總體增長(zhǎng)趨勢(shì)。事實(shí)上,只要看一看《美國(guó)聯(lián)邦法規(guī)》的總頁(yè)數(shù)就足夠了。\h\h[23]《美國(guó)聯(lián)邦法規(guī)》收錄了各行政機(jī)構(gòu)頒布的各種法規(guī),在過(guò)去的50年里,其頁(yè)數(shù)從不到25000頁(yè)增加到了超過(guò)165000頁(yè)。我們還觀察到,行政人員和行政機(jī)構(gòu)的數(shù)量也出現(xiàn)了類(lèi)似的增長(zhǎng)趨勢(shì)。20世紀(jì)50年代,《經(jīng)濟(jì)學(xué)人》雜志中有一篇文章提到了帕金森定律(Parkinson'sLaw),并定量地描述了行政人員數(shù)量的增長(zhǎng)規(guī)律。\h\h[24]雖然這篇文章的觀點(diǎn)還不太完善,但帕金森定律畢竟有數(shù)據(jù)的支持,其結(jié)論到今天仍基本成立:政府部門(mén)的行政人員數(shù)量以每年5%至6%的速度在增長(zhǎng)。毫無(wú)疑問(wèn),隨著行政機(jī)構(gòu)的規(guī)模越來(lái)越大,機(jī)構(gòu)的管理問(wèn)題只會(huì)越來(lái)越復(fù)雜。事實(shí)上,軟件界已經(jīng)將吸積和積累奉為普適規(guī)則。\h\h[25]就發(fā)展而言,軟件系統(tǒng)的規(guī)模勢(shì)必會(huì)與日俱增,除非有人積極地嘗試簡(jiǎn)化它們。那么,為什么我們不能對(duì)復(fù)雜的系統(tǒng)進(jìn)行定期清理并從頭開(kāi)始呢?這和實(shí)際操作有關(guān)。例如,軟件未能按時(shí)重寫(xiě)完,索性就在推出新版本之前先發(fā)布一個(gè)補(bǔ)丁。\h\h[26]我在想,只要愿意花上很多年的時(shí)間,那么微軟內(nèi)部的任何一位軟件專(zhuān)家都可以重寫(xiě)Word的全部代碼。當(dāng)時(shí)間、精力和金錢(qián)都有限,且不得不進(jìn)行權(quán)衡時(shí),\h\h[27]我們通常會(huì)選擇對(duì)系統(tǒng)進(jìn)行修改,讓它“足夠好”就行了。這意味著,我們需要不斷對(duì)系統(tǒng)進(jìn)行調(diào)試和修正,就像立法者對(duì)美國(guó)法律體系所做的那樣,也就是說(shuō),我們需要在以往的基礎(chǔ)上加上一層又一層的東西。我們的城市擁有一個(gè)多世紀(jì)之前埋設(shè)的燃?xì)夤艿繺h\h[28]、20世紀(jì)30年代建成的運(yùn)輸網(wǎng)絡(luò)\h\h[29],以及廢棄的地鐵站。它們都隱藏在城市的地下。不過(guò),更多的時(shí)候,我們之所以放棄從頭開(kāi)始的想法,是因?yàn)槟菢幼霾粌H太困難,而且太危險(xiǎn)。沒(méi)有人能夠完全理解一個(gè)系統(tǒng)所依賴的所有舊的組成部分的全部作用,所以重新設(shè)計(jì)一個(gè)未經(jīng)檢驗(yàn)的系統(tǒng)不僅是愚蠢的行為,更是危險(xiǎn)的行為。試想一下,一個(gè)幾十年前設(shè)計(jì)好的、非常復(fù)雜的銀行軟件系統(tǒng)正慢慢適應(yīng)著各種先進(jìn)的技術(shù),無(wú)論是新型的計(jì)算機(jī),還是新的操作系統(tǒng),或是無(wú)處不在的互聯(lián)網(wǎng)。雖然這個(gè)系統(tǒng)的核心基礎(chǔ)并不適用當(dāng)今時(shí)代,但它們已經(jīng)嵌入得太深,以致無(wú)法刪除??偠灾?,我們必須接受這樣一個(gè)普遍規(guī)則,那就是:無(wú)論何種技術(shù)系統(tǒng),終將變得日益復(fù)雜。\h\h[30]但是,當(dāng)仔細(xì)觀察技術(shù)系統(tǒng)中的遺留代碼時(shí),無(wú)論是在一個(gè)軟件中,還是在一個(gè)法律體系中,我們都會(huì)發(fā)現(xiàn),真正的復(fù)雜性絕不僅僅只體現(xiàn)在日益擴(kuò)大的系統(tǒng)規(guī)模上。畢竟,只有和另一個(gè)因素結(jié)合起來(lái),吸積才能使技術(shù)系統(tǒng)變得復(fù)雜,這個(gè)因素就是交互。原因2:交互現(xiàn)在,幾乎所有的學(xué)生都會(huì)在師長(zhǎng)的引導(dǎo)下,學(xué)習(xí)一些編程技術(shù)。是的,不管是教育工作者還是技術(shù)專(zhuān)家,都告訴我們計(jì)算機(jī)編程就是未來(lái)。計(jì)算機(jī)操縱了周遭的一切,比如汽車(chē)和微波爐。專(zhuān)家們當(dāng)然沒(méi)有說(shuō)錯(cuò)。不僅如此,編程還可以為你帶來(lái)一種結(jié)構(gòu)化的思維模式,以及提示你關(guān)注某種技術(shù)系統(tǒng)的實(shí)際功能。當(dāng)我說(shuō)起某個(gè)新的應(yīng)用程序能夠做某件事時(shí),如果你參與了編程,哪怕只是一點(diǎn)點(diǎn),你也會(huì)比一般人更清楚我的說(shuō)法是否合理。如果你以前寫(xiě)過(guò)代碼,那么你應(yīng)該清楚計(jì)算機(jī)程序是如何抵制簡(jiǎn)化工作的。隨著計(jì)算機(jī)程序變得越來(lái)越龐大、越來(lái)越復(fù)雜,代碼也變得越來(lái)越復(fù)雜,而且絕大部分代碼的聚合方式都是令人費(fèi)解的。為了確保大型程序仍可控,我們開(kāi)發(fā)出了各種各樣的技術(shù)方法,例如版本控制、錯(cuò)誤跟蹤,以及跨團(tuán)隊(duì)溝通工具等,但是這些方法通常都只是“戰(zhàn)斗失敗”后的亡羊補(bǔ)牢之術(shù)。不僅軟件代碼本身在不斷吸積,每個(gè)組成部分也在越來(lái)越頻繁地與其他組成部分進(jìn)行交互。與存在于“真空”中的全新項(xiàng)目有所不同,任何一個(gè)計(jì)算機(jī)程序都是一個(gè)大規(guī)模的互聯(lián)系統(tǒng):不僅會(huì)作用于自身,還會(huì)與其他程序相互作用。我們?cè)谂f代碼中一次又一次地加入新代碼,并以出其不意的新方式去使用它們,以此將各個(gè)層次拼接在一起。交互過(guò)程,包括許多意外交互在內(nèi),有時(shí)會(huì)因編程語(yǔ)言本身的原因而加劇。即使是剛?cè)腴T(mén)的程序員也知道,GOTO語(yǔ)句會(huì)帶來(lái)麻煩。在BASIC編程語(yǔ)言中,通過(guò)設(shè)置GOTO語(yǔ)句,可以讓程序輕松地從某一行跳轉(zhuǎn)到另一行。換句話說(shuō),如果代碼中包含了GOTO語(yǔ)句,那么程序就可以輕松地從某一行指向另一行,從代碼中的一個(gè)點(diǎn)跳轉(zhuǎn)到另一個(gè)點(diǎn)。如此容易便能實(shí)現(xiàn)跳轉(zhuǎn),難怪有人會(huì)說(shuō),對(duì)于那些想要對(duì)自己的計(jì)算思維進(jìn)行測(cè)試的文科生而言,GOTO語(yǔ)句無(wú)疑是“天賜良品”。\h\h[31]在一個(gè)小程序中,使用GOTO語(yǔ)句實(shí)現(xiàn)跳轉(zhuǎn),既容易又無(wú)傷大雅。但是,隨著程序變得越來(lái)越大,GOTO語(yǔ)句最終會(huì)將代碼綁定到某些龐雜的節(jié)點(diǎn)上,但即使是最熟練的程序員也無(wú)法解開(kāi)這些龐雜的節(jié)點(diǎn)。最終,你得到的將是所謂的“意大利面條”式的代碼,因?yàn)樗袞|西都糾纏在了一起,既難解開(kāi),又難理解。在這種情況下,要想搞清楚程序指令執(zhí)行的次序幾乎是不可能的,這也是為什么這樣的計(jì)算機(jī)程序特別容易出現(xiàn)令人意想不到和無(wú)法理解的行為。此類(lèi)簡(jiǎn)化命令即使只是在獨(dú)立的、較小的環(huán)境下發(fā)揮作用,也有可能通過(guò)某種方式脫離當(dāng)初設(shè)定的目標(biāo)。如果使用的頻率和方式超出了預(yù)設(shè)范圍,系統(tǒng)及其組成部分就會(huì)出現(xiàn)諸多問(wèn)題,而這些問(wèn)題比當(dāng)初設(shè)想的要龐雜得多。GOTO語(yǔ)句就是一個(gè)突出的例子,它從一個(gè)美妙的超快捷工具變成了既不優(yōu)雅,又實(shí)為“有害”的東西。\h\h[32]為了更好地理解并強(qiáng)化系統(tǒng)秩序,專(zhuān)家們想出了很多方法,包括使用更加復(fù)雜的計(jì)算機(jī)語(yǔ)言。\h\h[33]在大多數(shù)由專(zhuān)家構(gòu)建的新系統(tǒng)中,意大利面條式的代碼已成為過(guò)去式。然而,由于互聯(lián)的易發(fā)性和各種層次上的不斷吸積,交互作用正在持續(xù)增多。于是,高度互聯(lián)的系統(tǒng)動(dòng)態(tài),即信息的流動(dòng)和各部分之間的交互,也就變得異常復(fù)雜和不可預(yù)測(cè)。仍以豐田汽車(chē)軟件為例,因?yàn)榇嬖诮换?,豐田汽車(chē)軟件中的大量代碼已無(wú)法被測(cè)試了。\h\h[34]在我們構(gòu)建的其他類(lèi)型的技術(shù)系統(tǒng)中,互聯(lián)性同樣在不斷升級(jí)。例如,在法律體系中,由于每項(xiàng)新的法律法規(guī)都與以前的法律法規(guī)相互關(guān)聯(lián),因此我們很難預(yù)測(cè)單項(xiàng)法律條文的效果。菲利普·K.霍華德曾仔細(xì)分析過(guò)貝永大橋(BayonneBridge)這個(gè)案例。\h\h[35]貝永大橋是連接紐約州和新澤西州的主要通道之一。由于這座百年大橋的橋梁實(shí)在太低,以致那些前往紐瓦克港的現(xiàn)代集裝箱船無(wú)法順利通過(guò)。紐瓦克港是一個(gè)重要的商業(yè)中心。那么應(yīng)該怎么辦呢?在人們提出的各種解決方案中,有一個(gè)方案是這樣的:對(duì)這座橋進(jìn)行改造,適度提高橋梁高度。這應(yīng)該是成本最低的方案了,也是在2009年脫穎而出的方案。但是,改造工程拖了很多年都未能啟動(dòng),因?yàn)槿藗冸y以應(yīng)對(duì)吸積和交互的綜合作用。與大橋改造工程有關(guān)的規(guī)章制度總共涉及19個(gè)政府部門(mén)的47份許可文件,從環(huán)境影響評(píng)估報(bào)告到歷史影響評(píng)估報(bào)告,不一而足。\h\h[36]其他地方也出現(xiàn)過(guò)諸多類(lèi)似情況,一些公共項(xiàng)目需要10年左右的時(shí)間才會(huì)獲得批準(zhǔn),因?yàn)橄嚓P(guān)的規(guī)則和流程冗長(zhǎng)繁多。\h\h[37]正如霍華德所說(shuō),這種情況在很多時(shí)候甚至是致命的,比如,老化腐朽的基礎(chǔ)設(shè)施如果未能得到及時(shí)修繕,就有可能奪走許多人的生命。研究員邁克爾·曼德?tīng)枺∕ichaelMandel)和黛安娜·卡魯(DianaCarew)就職于位于華盛頓特區(qū)的進(jìn)步政策研究所(ProgressivePolicyInstitute)總部。他們將規(guī)則體系的增長(zhǎng)稱(chēng)為“監(jiān)管積累”(regulatoryaccumulation),即隨著時(shí)間的推移,規(guī)則會(huì)變得越來(lái)越多。\h\h[38]換句話說(shuō),每一條法律法規(guī)都是合理的,但當(dāng)它們被放到一起時(shí),就有可能會(huì)因?yàn)橄嗷プ饔枚兊卯惓!败浫酢?,甚至可能以令人驚訝和意想不到的方式產(chǎn)生沖突。我們不僅越來(lái)越多地將某項(xiàng)技術(shù)的各個(gè)組成部分關(guān)聯(lián)起來(lái),而且還越來(lái)越多地將不同的軟件和技術(shù)關(guān)聯(lián)起來(lái)。后者是一種高階互聯(lián)模式,也就是互操作性(interoperability)。\h\h[39]讓各項(xiàng)技術(shù)互通,也就是讓不同系統(tǒng)進(jìn)行交互,相互傳遞信息通常是一件好事。例如,因特網(wǎng)之所以擁有如此強(qiáng)大的功能,就是因?yàn)槠溥B接的機(jī)器數(shù)量極其龐大,而且可以在無(wú)數(shù)機(jī)器之間傳遞信息。當(dāng)你問(wèn)Siri“世界總?cè)丝谑嵌嗌佟睍r(shí),你的蘋(píng)果手機(jī)會(huì)通過(guò)WolframAlpha服務(wù)獲取到答案,然后回答你;當(dāng)你使用谷歌地圖時(shí),它會(huì)告訴你利用“優(yōu)步”去往目的地可能要花多少錢(qián)。這些都是互操作性的實(shí)例。但是不要忘記,讓不同系統(tǒng)互通的同時(shí),我們不得不去面對(duì)陷入復(fù)雜世界的巨大風(fēng)險(xiǎn)。我們現(xiàn)在不僅建成了互聯(lián)網(wǎng)絡(luò),比如由不同計(jì)算機(jī)和設(shè)備組成的互聯(lián)網(wǎng),而且還建成了擁有眾多子系統(tǒng)的大型互聯(lián)系統(tǒng)。除了互操作性之外,不同類(lèi)型的技術(shù)之間還會(huì)產(chǎn)生相互依賴性,例如互聯(lián)網(wǎng)與電網(wǎng)之間的相互依賴性。\h\h[40]研究者在研究了多種類(lèi)型的系統(tǒng),并了解了它們的優(yōu)缺點(diǎn)后指出,某些系統(tǒng)在多種條件下均可能會(huì)出現(xiàn)故障或崩潰。例如,某個(gè)規(guī)模相當(dāng)小的電網(wǎng)出現(xiàn)了故障,繼而引發(fā)了無(wú)法收拾的級(jí)聯(lián)效應(yīng)。對(duì)于這種風(fēng)險(xiǎn),有一種觀點(diǎn)是:將技術(shù)系統(tǒng)之間的相互聯(lián)系切斷。然而,這種想法的可操作性幾乎為零。互聯(lián)系統(tǒng)的構(gòu)建成本其實(shí)很低:在當(dāng)今這個(gè)充滿互操作性的時(shí)代,工程師和設(shè)計(jì)人員都在有意為各個(gè)系統(tǒng)創(chuàng)建接口,因此,不同的系統(tǒng)可以很容易被關(guān)聯(lián)起來(lái)。我們?cè)跇?gòu)建新事物時(shí),通常都會(huì)在故障成本和構(gòu)建成本之間進(jìn)行權(quán)衡。我們需要知道,如果出了故障,失敗的成本會(huì)有多大。\h\h[41]如果Word崩潰了,那么尚未保存下來(lái)的東西將會(huì)丟失。盡管沒(méi)有人希望看到這樣的結(jié)果,但這個(gè)故障的成本的確是相對(duì)較低的。如果電網(wǎng)出了故障,并導(dǎo)致美國(guó)很多地區(qū)停電,那么故障的成本就極其高昂了。例如,在2003年,美國(guó)東北部的大停電對(duì)5000萬(wàn)人的生活和工作造成了影響,并導(dǎo)致11人喪生,直接損失估計(jì)高達(dá)60億美元。\h\h[42]每一項(xiàng)故障成本都應(yīng)該拿來(lái)與系統(tǒng)的構(gòu)建成本進(jìn)行比較。縱觀歷史,我們所構(gòu)建的系統(tǒng)越重要,構(gòu)建成本就越高。例如,構(gòu)建銀行系統(tǒng)的基礎(chǔ)設(shè)施所耗費(fèi)的資源,比編寫(xiě)一個(gè)聊天程序多得多。因此,我們必須確保那些昂貴的系統(tǒng)不易發(fā)生故障,而這又意味著需要增加構(gòu)建成本。換句話說(shuō),在極高的構(gòu)建成本面前,通過(guò)大量檢查和測(cè)試來(lái)降低故障成本的做法,變得至關(guān)重要。在一個(gè)相當(dāng)長(zhǎng)的時(shí)期內(nèi),這種方法一直行之有效。因?yàn)閷?duì)構(gòu)建成本的重視程度超過(guò)了對(duì)故障成本的重視程度,所以我們所依賴的所有重要的社會(huì)保障系統(tǒng),都是花費(fèi)大量資源構(gòu)建起來(lái)的。\h\h[43]然而,現(xiàn)在事情已經(jīng)發(fā)生了變化。出于各種原因,例如,我們可以找到現(xiàn)成的工具和組件,同時(shí)“云”上面也存有很多可用資源,所以構(gòu)建成本已大幅下降。創(chuàng)立技術(shù)公司已不再需要太多啟動(dòng)資金:你可以快速地設(shè)計(jì)和生產(chǎn)出復(fù)雜的工具,并通過(guò)市場(chǎng)進(jìn)行測(cè)試,而你為此所付出的成本并不大。與此同時(shí),與互聯(lián)有關(guān)的故障成本也已出現(xiàn)持續(xù)上升的趨勢(shì)。盡管系統(tǒng)關(guān)聯(lián)技術(shù)相當(dāng)簡(jiǎn)單,而且成本很低,但是這種互聯(lián)系統(tǒng)的故障成本卻非常巨大。當(dāng)我們把數(shù)字地圖軟件與出行指導(dǎo)軟件關(guān)聯(lián)到一起時(shí),哪怕只是一個(gè)很小的錯(cuò)誤也有可能導(dǎo)致一場(chǎng)災(zāi)難。例如,蘋(píng)果地圖在首次發(fā)布時(shí)就曾將超市錯(cuò)標(biāo)為醫(yī)院。在當(dāng)今時(shí)代,利用互聯(lián)網(wǎng)信息人工合成微生物并不是一件不可思議的事情,但正因如此,爆發(fā)生物災(zāi)難的風(fēng)險(xiǎn)也比以往任何一個(gè)時(shí)代都高得多。例如,已經(jīng)有實(shí)驗(yàn)室通過(guò)使用電子郵購(gòu)的生物原料合成出了脊髓灰質(zhì)炎病毒?,F(xiàn)在,有不少初創(chuàng)公司正在努力實(shí)現(xiàn)生物學(xué)實(shí)驗(yàn)的遠(yuǎn)程操作。不難想象,在這個(gè)日益自動(dòng)化的世界中,軟件合成的生物因子\h\h[45]完全有可能會(huì)在不經(jīng)意間被釋放。當(dāng)構(gòu)建成本持續(xù)暴跌,而故障成本直線上升時(shí),我們便進(jìn)入了一個(gè)無(wú)比復(fù)雜的技術(shù)領(lǐng)域。是時(shí)候停下來(lái)想一想了。一般來(lái)說(shuō),隨著系統(tǒng)內(nèi)部及系統(tǒng)之間的交互增多,包括擁有子系統(tǒng)的大型系統(tǒng)在內(nèi)的所有系統(tǒng)的復(fù)雜性都會(huì)增加。有人認(rèn)為,互聯(lián)性的不斷提高,體現(xiàn)了技術(shù)的基本要求。\h\h[46]技術(shù)終究會(huì)產(chǎn)生交互和聚合,并在這種情況出現(xiàn)時(shí)進(jìn)一步推動(dòng)我們走向復(fù)雜化。盡管從開(kāi)始構(gòu)建大型技術(shù)系統(tǒng)的第一天起,這些趨勢(shì)就一直存在,但是近年來(lái),它們變得愈發(fā)強(qiáng)大了。正如我在本書(shū)導(dǎo)論中所提到的那樣,計(jì)算機(jī)科學(xué)家艾茲格·迪科斯徹對(duì)當(dāng)下的大型系統(tǒng),特別是計(jì)算機(jī)系統(tǒng)的激進(jìn)新穎性所進(jìn)行的分析發(fā)人深省。早在1988年,迪科斯徹就已指出,計(jì)算機(jī)程序的設(shè)計(jì)需要克服大量規(guī)模上的差異,當(dāng)然,在計(jì)算機(jī)問(wèn)世之前,沒(méi)有人需要去處理這樣的事情。\h\h[47]以智能導(dǎo)航系統(tǒng)為例,迪科斯徹很好地解釋了其跨度極大的層級(jí)結(jié)構(gòu)。從程序中的1個(gè)比特,到機(jī)器存儲(chǔ)空間里的幾百兆字節(jié),的確是從非常小到非常大的跨越。這種跨越涉及近10億次的跳轉(zhuǎn),極端的規(guī)模變化不但超乎想象,而且史無(wú)前例。事實(shí)上,這一切已經(jīng),并將繼續(xù)走向極端化,因?yàn)槿粘?yīng)用技術(shù)的普通用戶,現(xiàn)在已經(jīng)熟悉了千兆或萬(wàn)兆這樣的前綴,而這些前綴又意味著,我們要對(duì)龐大的規(guī)模差異負(fù)責(zé),而這種龐大系統(tǒng)的邊界已近乎天文意義上的邊界了。在過(guò)去的短短幾十年間,大型系統(tǒng)已變得異常龐大且錯(cuò)綜復(fù)雜,用迪科斯徹的話來(lái)說(shuō)即是“概念層級(jí)的深度,絕非人類(lèi)心智曾需面對(duì)的任何事物可比”。不僅如此,即使我們有能力阻止系統(tǒng)的吸積和交互,也還需面對(duì)另一個(gè)會(huì)使系統(tǒng)變得日益復(fù)雜的因素,而那將是更加難以解決的問(wèn)題。原因3:必須處理的例外情況假設(shè)你想創(chuàng)建一個(gè)日歷程序??瓷先ズ芎?jiǎn)單,是不是?從很多方面來(lái)看,的確如此。要想計(jì)算一年的天數(shù),相對(duì)來(lái)說(shuō)并不算困難。一般來(lái)說(shuō),一年有365天,遇到閏年就在2月底加上一天。怎樣計(jì)算閏年?也不難。只需要看一下年份即可。如果年份可以被4整除,但無(wú)法被100整除,或是能被400整除,那么這年便是閏年。也許你還希望這個(gè)應(yīng)用程序能夠處理時(shí)區(qū)問(wèn)題。這應(yīng)該也不算難。只需利用全球定位系統(tǒng)(GPS)中的地理坐標(biāo)來(lái)確定所在位置的時(shí)區(qū)即可。你還可以創(chuàng)建一個(gè)列表,將各州與時(shí)區(qū)對(duì)應(yīng)起來(lái)。當(dāng)然,時(shí)區(qū)并不是沿著州界劃分的?,F(xiàn)在你需要用更具體的、分辨率更高的信息來(lái)處理小區(qū)域。此外,你還不能忘記,亞利桑那州的大部分地區(qū)都是不使用夏令時(shí)的,它把自己置于一個(gè)“特殊的時(shí)空”當(dāng)中了。是不是還想讓日歷程序包含節(jié)假日的相關(guān)信息?當(dāng)然,節(jié)假日通常都有明確的時(shí)間安排,至少大部分節(jié)假日都是如此,把它們加上去應(yīng)該不會(huì)太困難。感恩節(jié)是11月的第4個(gè)周四,美國(guó)退伍軍人節(jié)被定在每年的11月11日。那么逾越節(jié)(Passover)呢?看來(lái),我們還需要將這個(gè)日歷程序與另一個(gè)基于希伯來(lái)歷的日歷程序整合到一起。因?yàn)橛庠焦?jié)是從希伯來(lái)歷一月的第15夜伊始的。因此,我們需要遠(yuǎn)超預(yù)期的更多信息。那么,你是否還希望這個(gè)日歷程序包含其他時(shí)間段,并且在過(guò)去時(shí)段和未來(lái)時(shí)段上都表現(xiàn)得準(zhǔn)確無(wú)誤呢?如果我們回到19世紀(jì),在那個(gè)時(shí)代,由于標(biāo)準(zhǔn)化時(shí)區(qū)制尚未被推行,所以各個(gè)城鎮(zhèn)都有自己的時(shí)間制度,而這些信息都需要“硬編碼”(hard-coded)\h\h(3)到我們的應(yīng)用程序中。與此類(lèi)似,在過(guò)去的幾個(gè)世紀(jì)里,雖然全球許多國(guó)家和地區(qū)都已放棄使用羅馬儒略歷(Juliancalendar),轉(zhuǎn)而使用格里高利歷(Gregoriancalendar),但是各國(guó)以及各地區(qū)所采用的具體時(shí)間制度并不全然相同。例如,俄羅斯“十月革命”的紀(jì)念日之所以是在11月,是因?yàn)樵诟锩l(fā)生時(shí),俄羅斯仍在使用羅馬儒略歷,其日期與西方許多地區(qū)所使用的格里高利歷相差一周多,而“十月革命”發(fā)生在儒略歷的10月底。如果希望日歷程序準(zhǔn)確且詳盡,那么就應(yīng)該將此類(lèi)信息也植入進(jìn)去。這個(gè)過(guò)程還將持續(xù)下去。以這種方式構(gòu)建起來(lái)的系統(tǒng)最終會(huì)變得復(fù)雜無(wú)比,因?yàn)樗从车氖挛铮旧砭褪菑?fù)雜的。\h\h[48]通過(guò)一個(gè)簡(jiǎn)單的模型來(lái)處理絕大多數(shù)復(fù)雜性,是相對(duì)直接的方法。比如,我們知道了一年有365天或366天,就可以通過(guò)簡(jiǎn)單的運(yùn)算來(lái)確定某一年到底有多少天。但是,如果你對(duì)準(zhǔn)確性有要求,無(wú)論是想確保永遠(yuǎn)不會(huì)錯(cuò)過(guò)任何一個(gè)約會(huì),還是想構(gòu)建一輛既不會(huì)迷路也不會(huì)撞傷人的自動(dòng)駕駛汽車(chē),事情就會(huì)變得非常復(fù)雜。\h\h[49]這種復(fù)雜的情況就是必須處理的例外情況,也就是所謂的“邊界情況”(edgecase),若不處理,技術(shù)系統(tǒng)就會(huì)出現(xiàn)漏洞。\h\h[50]邊界情況各種各樣,從閏年問(wèn)題,到如何編寫(xiě)數(shù)據(jù)庫(kù)軟件來(lái)處理特殊的人名,比如人名中帶有特殊符號(hào)的情況。我們不能說(shuō)邊界情況是普遍現(xiàn)象,但它們確實(shí)經(jīng)常出現(xiàn),所以我們必須加以識(shí)別和管控。但是與此同時(shí),技術(shù)的簡(jiǎn)單性也就漸漸消失了。邊界情況使技術(shù)變得復(fù)雜了。這一點(diǎn)在科學(xué)模型中尤為突顯,科學(xué)模型也是一種技術(shù),也會(huì)隨著時(shí)間的推移而發(fā)生變化。接下來(lái),我們就以社會(huì)科學(xué)中的語(yǔ)言學(xué)為例展開(kāi)討論。原因4:普遍的稀有事物在中學(xué)時(shí)期,英文老師教會(huì)了我語(yǔ)法,因此我很早就知道,不規(guī)則動(dòng)詞tobe的兩個(gè)單詞是必須連在一起用的;我還記住了很多介詞,并學(xué)會(huì)了造句。在那個(gè)時(shí)候,根據(jù)語(yǔ)法規(guī)則來(lái)分解句子,將句子的修飾成分去除,剝離出它的邏輯骨架,是一件很有趣的事情。你可以將語(yǔ)言簡(jiǎn)化到原子量級(jí),如名詞、動(dòng)詞和形容詞,然后再來(lái)看它們是如何關(guān)聯(lián)在一起的。盡管語(yǔ)言無(wú)法用方程式來(lái)表達(dá),但是語(yǔ)法確實(shí)擁有一種獨(dú)特的、有秩序的美感。然而,構(gòu)建一個(gè)語(yǔ)言處理系統(tǒng)并不是一件容易的事。任何一種語(yǔ)言都有很多習(xí)慣性表達(dá),而且其內(nèi)涵往往比我們想象的要豐富得多、“狡猾”得多。因?yàn)檎Z(yǔ)言具有非正式性,所以使用者在面對(duì)作為規(guī)則集合的語(yǔ)法時(shí),多半只會(huì)深表認(rèn)同,而不會(huì)嚴(yán)格遵從。所有這些都屬于同一類(lèi)邊界情況,它使下面這個(gè)簡(jiǎn)單規(guī)則無(wú)法成立:每個(gè)句子都必定是“主語(yǔ)-謂語(yǔ)-直接賓語(yǔ)”這種結(jié)構(gòu)的變形。為了更好地理解語(yǔ)言中的邊界情況,我們現(xiàn)在來(lái)討論一下所謂的罕用語(yǔ)(hapaxlegomena)。罕用語(yǔ)可謂“普遍的稀有事物”(commonrarities)。請(qǐng)問(wèn)你以前用過(guò)snowcrie這個(gè)單詞嗎?我想你應(yīng)該沒(méi)有用過(guò)。事實(shí)上,snowcrie這個(gè)詞是無(wú)意義的。據(jù)我所知,它可能是一個(gè)錯(cuò)詞。根據(jù)《牛津英語(yǔ)詞典》的解釋?zhuān)瑂nowcrie這個(gè)詞曾經(jīng)出現(xiàn)在1402年的一首詩(shī)中:“NotinGoddisgospel,butinSathanaspistile,wherofsoroweandofsnowcrienoonistoseken.”。有學(xué)者認(rèn)為它應(yīng)該是一個(gè)錯(cuò)詞,\h\h[51]正確的那個(gè)詞可能是sorcerie,意為巫師。不管有沒(méi)有意義,snowcrie這個(gè)詞就是所謂的罕用語(yǔ),或者說(shuō)“只用過(guò)一次的詞”。這個(gè)詞在《牛津英語(yǔ)詞典》的語(yǔ)料庫(kù)中只出現(xiàn)過(guò)一次。語(yǔ)料庫(kù)是大量的、通常是完整文本的合集,例如某種語(yǔ)言的全部文本,或某個(gè)時(shí)期的所有文本。《牛津英語(yǔ)詞典》的語(yǔ)料庫(kù)即是編寫(xiě)者可以使用的所有英語(yǔ)文本。不過(guò),語(yǔ)料庫(kù)的文本體量并不一定非常大。在莎士比亞文集這個(gè)語(yǔ)料庫(kù),也就是莎士比亞的全部著作中,經(jīng)常會(huì)碰到一些罕用語(yǔ),比如honorificabilitudinitatibus,含義可能就是“榮譽(yù)”(ofhonor)。當(dāng)一個(gè)語(yǔ)料庫(kù)擁有某種語(yǔ)言的全部,或近乎全部的文本時(shí),罕用語(yǔ)就會(huì)變得讓人頭疼,比如《希伯來(lái)圣經(jīng)》中的希伯來(lái)語(yǔ),人們對(duì)它們的意義知之甚少。但是,罕用語(yǔ)并不是離奇的統(tǒng)計(jì)錯(cuò)誤。它們不僅比想象中更加普遍,而且與語(yǔ)言學(xué)中特定的數(shù)學(xué)規(guī)則有關(guān)。語(yǔ)言中不同詞匯的使用頻率可以用冪律(powerlaw)\h\h(4)中的長(zhǎng)尾分布來(lái)進(jìn)行描述。\h\h[52]長(zhǎng)尾分布與用來(lái)描述人類(lèi)身高的鐘形曲線(bellcurve)\h\h(5),即正態(tài)分布,有所不同。在長(zhǎng)尾分布中,有一些值會(huì)延伸到更加深遠(yuǎn)的區(qū)域,以便容納普通詞匯,比如the,或一些極其罕見(jiàn)的詞匯,比如flother。一般來(lái)說(shuō),語(yǔ)料庫(kù)中有近一半的單詞都只出現(xiàn)過(guò)一次,也就是說(shuō),有一半的單詞都屬于罕用語(yǔ)。這些詞就是長(zhǎng)尾中“長(zhǎng)”的部分。\h\h[53]因此,雖然你遇到某個(gè)特定罕用語(yǔ)的概率很低,但是你遇到這類(lèi)詞的概率卻相當(dāng)高。在這里,我們不妨用看電影來(lái)做下類(lèi)比。相信并沒(méi)有太多人看過(guò)那部大名鼎鼎的經(jīng)典電影《天生愛(ài)神》(TheAdventuresofBuckarooBanzaiAcrossthe8thDimension),但是看過(guò)至少一部經(jīng)典科幻電影的人卻大有人在。因此,作為一個(gè)整體類(lèi)別,罕用語(yǔ)是非常重要的。它們深深地滲透在我們的語(yǔ)言之中。當(dāng)我們?cè)噲D編寫(xiě)一個(gè)計(jì)算機(jī)程序來(lái)模擬語(yǔ)言時(shí),可能會(huì)將罕用語(yǔ),或罕見(jiàn)的語(yǔ)法結(jié)構(gòu)抽象為異常值。但是,作為一個(gè)類(lèi)別,而非一個(gè)單詞,罕用語(yǔ)在語(yǔ)言中所占的比例其實(shí)是相當(dāng)大的。將它們抽象化會(huì)導(dǎo)致模型的嚴(yán)重缺失,從而使程序變得不完整。為了避免“遺漏”,\h\h[54]我們需要建構(gòu)出可以處理例外情況和邊界情況的復(fù)雜模型。在這個(gè)問(wèn)題上,谷歌公司研發(fā)主管彼得·諾維格(PeterNorvig)的話可謂一語(yǔ)中的:“形成一種語(yǔ)言的,并不是那種可以用幾個(gè)參數(shù)來(lái)代表的永恒的理想模型,而是復(fù)雜過(guò)程中的偶然結(jié)果?!盶h\h[55]因此,計(jì)算機(jī)語(yǔ)言學(xué)家應(yīng)該考慮邊界情況,并嘗試著針對(duì)這個(gè)復(fù)雜系統(tǒng)構(gòu)建一個(gè)穩(wěn)健的、豐富的技術(shù)模型。在這里,復(fù)雜系統(tǒng)指的就是語(yǔ)言。那么,他們最終會(huì)得到什么呢?毫無(wú)疑問(wèn),他們將會(huì)得到一個(gè)復(fù)雜的技術(shù)系統(tǒng)。和語(yǔ)言有關(guān)的計(jì)算機(jī)模型必定具有復(fù)雜性。要說(shuō)明這一點(diǎn),只需舉一個(gè)例子就夠了:計(jì)算機(jī)是如何將一種語(yǔ)言翻譯成另一種語(yǔ)言的。關(guān)于計(jì)算機(jī)的翻譯功能,有一個(gè)流傳已久但未經(jīng)證實(shí)的故事。\h\h[56]在冷戰(zhàn)期間,科學(xué)家們就已開(kāi)始研究英俄語(yǔ)互譯的運(yùn)算方法了。在測(cè)試計(jì)算機(jī)的翻譯程序時(shí),他們選擇了一個(gè)含義相當(dāng)微妙的句子“Thespiritiswilling,butthefleshisweak.”(靈固有所愿,肉卻軟弱不堪)。他們通過(guò)計(jì)算機(jī)將這句話翻譯成俄語(yǔ),然后再次翻譯成英語(yǔ),最終得到的是“Thewhiskeyisstrong,butthemeatisterrible.”(威士忌很有勁,但是肉卻很難吃)。顯然,通過(guò)運(yùn)算來(lái)實(shí)現(xiàn)機(jī)器翻譯功能并非易事。谷歌翻譯雖然有趣,但結(jié)果卻可能不夠準(zhǔn)確。不過(guò),專(zhuān)家在這方面已經(jīng)取得了很大的進(jìn)步。那么,機(jī)器翻譯專(zhuān)家使用的是哪些技術(shù)呢?\h\h[57]早期的一種方法是利用語(yǔ)言的結(jié)構(gòu)化語(yǔ)法,進(jìn)行模型搭建。計(jì)算機(jī)語(yǔ)言學(xué)家將每種語(yǔ)言的屬性硬編碼為軟件,然后讓計(jì)算機(jī)根據(jù)語(yǔ)法規(guī)則進(jìn)行翻譯。這種方法可以處理相對(duì)簡(jiǎn)單的句子,但無(wú)法應(yīng)對(duì)日常語(yǔ)言的多樣性。例如,一個(gè)用來(lái)處理“直接不定式”的規(guī)則,不一定能夠處理“分離不定式”,即無(wú)法處理“Toboldlygowherenoonehasgonebefore.”(勇敢地進(jìn)入前人未曾涉足之地)這樣的句子。另外,不定式的用法還具有一定的地域性,比如,匹茲堡人很喜歡省略掉tobe,直接說(shuō)“Thecarneedswashed.”(這車(chē)該洗了)。很顯然,面對(duì)這種形式靈活的“方言”,語(yǔ)法規(guī)則將束手無(wú)策。事實(shí)上,依賴上述語(yǔ)法模型的機(jī)器翻譯程序是不可能給出準(zhǔn)確結(jié)果的。語(yǔ)法規(guī)則看上去既優(yōu)雅又簡(jiǎn)潔,但無(wú)法應(yīng)對(duì)文本翻譯過(guò)程中所需處理的,復(fù)雜且古怪的語(yǔ)言現(xiàn)象。簡(jiǎn)而言之,邊界情況實(shí)在太多了。為了填補(bǔ)這道鴻溝,機(jī)器翻譯專(zhuān)家引入了機(jī)器學(xué)習(xí)領(lǐng)域的多種統(tǒng)計(jì)方法,他們讓計(jì)算機(jī)先攝取大量已經(jīng)翻譯好的文本,然后基于一組算法翻譯新文本。這樣一來(lái),計(jì)算機(jī)就不用理解句子的含義,也不必解析句子的語(yǔ)法結(jié)構(gòu)了。舉例來(lái)說(shuō),對(duì)于復(fù)數(shù)問(wèn)題,我們不再需要?jiǎng)?chuàng)建復(fù)數(shù)的語(yǔ)法規(guī)則,規(guī)定將后綴“-s”加在單詞末尾,就能夠使之變成復(fù)數(shù)形式;我們只需讓機(jī)器知道,“-s”這個(gè)后綴在99.9%的情況下意味著創(chuàng)建了一個(gè)復(fù)數(shù)形式的單詞,而在剩余0.1%的情況下并非如此。\h\h[58]例如sheep和deer,它們的單復(fù)數(shù)形式相同;此外,還有一些單詞的復(fù)數(shù)形式是不規(guī)則的,如men、feet和kine。對(duì)于語(yǔ)言系統(tǒng)中的其他例外情況,也都可以采用這種運(yùn)算方法。盡管擺脫混沌就能迎來(lái)秩序,但這不可能沒(méi)有代價(jià)。最終得到的最有效的翻譯程序肯定不是一個(gè)簡(jiǎn)單的模型,而會(huì)是一個(gè)擁有大量參數(shù)的龐大的計(jì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論