讀書心得 — 為什麼需要生物學思維

Vincent Chen-WS
Vincent Chen
Published in
47 min readMay 12, 2024

Overcomplicated: Technology at the Limits of Comprehension

作者:塞繆爾·阿貝斯曼 Samuel Arbesman,出版社: 四川人民出版社,出版日期: 2019年5月,Copyright © 2016

作者介紹: Samuel Arbesman,複雜性科學研究專家、應用數學家、計算生物學家。 2008 年獲得康奈爾大學計算生物學博士學位,現為哈佛大學醫學院研究員,考夫曼基金會高級學者。《紐約時報》《華爾街日報》《連線》《大西洋月刊》等特約撰稿人。

本書英文書名: Overcomplicated: Technology at the Limits of Comprehension,意為”過度複雜: 理解極限下的技術”,中文書名: “為什麼需要生物學思維-洞悉複雜世界的思考方式”。“龐雜”(complicated)和“複雜”(complex)本是有差異的(請參考: https://medium.com/vincent-chen/complex-and-complicated%E8%AA%9E%E6%84%8F%E6%9C%89%E4%BD%95%E5%B7%AE%E5%88%A5-b6fae7f8519b),,例如complex 是「天生的複雜」,而 complicated 是「人為的複雜」,但本書並未明確做出區別,並以"Overcomplicated"為書名,書中內容概以「複雜系統」稱之。 本書旨在說明為什麼系統會逐漸自然的成長到過於複雜,以及我們應該怎樣理解和掌控過於複雜的系統,本書可以提供應對複雜系統的正確觀念

在這個越來越複雜的世界上,我們已經無法理解自己創造出來的系統了。技術系統、經濟系統、政治系統、法律系統,莫不如是。這是一個悖論。這些過於複雜的系統,在使我們的生活更加便利的同時,本身卻變得無法把控了;更加嚴重的問題是,我們無法預知,這些系統會在什麼時候突然崩潰,造成不可承受的損失。

任何一個人造系統,哪怕最初是根據清晰的數學模型構建,用於非常明確的用途,只要一直被使用,就肯定會成為一個補丁加補丁的拼湊起來的系統。這是一個進化過程,讓人造系統越來越遠離確定性。

那麼應該怎麼辦呢?本書作者 塞繆爾·阿貝斯曼 告訴我們,雖然我們應該努力去理解人類無法理解的複雜系統,但首先必須接受混亂。只有這樣,我們才能靜下心去觀察各種意想不到的事件,獲得關於我們所用的演算法是怎樣真正起作用的線索。他強調,要認識世界的複雜性,必須要結合物理學和生物學:用生物學思維處理個例,用物理學思維提取規律。總之,要承認複雜性的存在,同時不要放棄理解系統的原理,而且要從簡單的元件開始。

塞繆爾·阿貝斯曼在這本書中給我們提供了應對超複雜這個難題的一些方法,但是並沒有提供終極答案。說到底,思考和應對複雜問題,需要的是思維,以及思維的多樣性。

本書容易閱讀,也值得研讀。

認識複雜系統

人類的技術,從網站到交易系統,從城市基礎設施到科學模型,甚至是為大型企業提供配套服務的供應鏈系統和物流系統,都已變得過於複雜且相互交錯。在很多情況下,就連當初構建、每天使用和維護它們的人也無法完全理解了。技術的複雜性一直在增加。

電腦的出現又給環境平添了許多激進新穎性(radical novelty),這是電腦科學家艾茲格·迪科斯徹(Edsger Dijkstra)提出的一個術語。電腦的硬體和軟體比之前的任何事物都要複雜得多:一個程式可能包含數百萬行電腦代碼,微晶片內集成微型元件的尺寸也已經小到接近原子量級。

近年來,科學家們甚至還逐漸認識到,技術已與自然密不可分。研究地球岩層的地質學家已經在正式考慮這樣一個問題:是否有足夠的證據支撐我們把當下這個時代命名為“人類世”(Anthropocene),也就是人類的時代。

從整體上看,技術和基礎設施已經變成了極其複雜的、物理化和數位化的系統。面對這種複雜性,我們往往會情不自禁地發出心難兩用的感慨。一方面,我們構建出了這些令人難以置信的複雜系統,這無疑是值得自豪的,儘管它們也許永遠無法如預期那般正常運行,但是它們作為無比複雜的大型系統,本身就是值得讚歎的。另一方面,我們在技術領域所付出的所有努力,幾乎都在使我們遠離優雅和簡單,並且讓我們無法抗拒地一步步走向某個極度複雜、完全無法預料的世界。

這段“旅途”的終點,其實已隱約可見,那是一個幾乎可以自成一體的技術生態系統,一個超越了人類認知和理解能力的極限世界。

例如在股票市場上,各種機器通過各種形式進行著交互,從根本上說,這與利用不同演算法進行交易沒什麼兩樣,而人類則成了局外人。

本書的觀點是,如今存在著這樣一種趨勢和力量:無論人們做什麼,都會使技術日趨複雜且變得難以理解。

在巨大的複雜性面前,普通人一般會做出兩種反應,這兩種反應都因各自的極端化而有失偏頗:

(1) 第一種反應是對技術所導致的複雜世界滿懷恐懼

(2) 第二種反應是對技術過度崇敬且深信不疑

這種“演算法厭惡”現象反映出了許多人共有的一種情緒,而這種情緒其實就是“技術恐懼”的表現之一,只是不那麼嚴重而已。

技術無處不在,既不古老也不深奧,說到底,它源自某些完美的無限遐想。縱然技術是十分混亂且不完美的,但它卻很“平易近人”。我們所需要的是應對各種情況的策略。

幫助人們在上述兩個極端反應,也就是恐懼和崇敬之間找到一條正路,並為接近技術、理解技術和掌控技術探索出方向。

正如即將看到的那樣,除了其他方面,我們在探索這個方向時,還需要借鑒科學家研究生物複雜性時所採用的方法。儘管人類過於依賴技術系統,而這些系統又過於複雜,但我仍然相信,人類終有希望掌控自己所構建的系統。

很多人都相信,只要徹底核查複雜系統,將其分解開來,確定每個部件如何工作,在什麼情況下會出故障,我們就應該能夠理解它們。這無疑是一種過於自信的想法,其根源在於:人類的思想擁有無限潛力。人們總認為,只要足夠努力,就可以完美地理解身邊的一切事物,特別是人類自己所構建的那些東西。

什麼是複雜系統

“龐雜”(complicated)和“複雜”(complex)系統的含義。儘管在文中,以及書名中使用這兩個術語時所指含義與它們在口語中的意義大致相同,但實際上,它們的準確含義和日常意義存在著一些重要區別。

水中的浮標形成了一個複雜的系統。那麼碼頭上的浮標呢?它們的排列也許看上去很巧妙,但其所構成的系統最多只能說是龐雜的。任何一個系統,要想成為一個複雜的系統,僅僅包含很多組成部分是不夠的,各部分之間還必須相互關聯,並在“嘈雜的舞蹈”中相互作用才行。在這種情況下,我們可以觀察到某些行為特徵,那是複雜系統的標誌:微小的變化通過網路被級聯式放大,並引發回饋過程,同時敏感地依賴於系統的初始狀態。這些特徵,與其他一些特徵一起,使系統從“龐雜的”變成了“複雜的”。

生命是運動和相互作用的“狂暴之流”,極其複雜精妙,在有生命的機體中,再小的變化都會被級聯式(cascade)放大,進而引發大量行為。

如果將技術定義為人類為特定目的而設計和構建的各種類型的系統,那麼就不難注意到當今最先進的技術幾乎都是複雜的系統:動態、功能複雜、規模龐大,而且擁有近乎有機生命體般的複雜性。這些複雜的系統遍佈我們周圍,從汽車軟體到電腦設備,再到城市基礎設施。那些龐大的、高度互聯的軟體,其規模足以與百科全書相比。據估計,微軟的辦公軟體就有數千萬行電腦程式代碼。

截至2014年,美國聯邦稅法的總頁數已經超過了74 000頁。這個龐大的法律網路非常複雜,擁有無數個關聯點,會對納稅人產生級聯式的影響,可以說幾乎沒有人能從整體上完全理解其功能。

在這種龐大的複雜性中,我們發現了驚人的彈性,也就是復原力這些系統通常擁有許多功能各異的工具箱和故障保險箱,可以説明人們完成任何“想要”完成的事情。

無論是分析一個現象,還是瞭解一個系統,都不是非此即彼的二元選擇。這種理解其實是一條內涵豐富的光譜。換句話說:

(1) 你可以只從整體上去理解一個系統,掌握它的全域情況,而不一定非得理解其各個組成部分的細節情況;

(2) 你也可以只理解它的所有組成部分,而不太關注其整體功能;

(3) 你還可以只瞭解各部分是如何相互關聯的,或者只探究這種關聯的最終效應。

此外,所有的“理解”都會涉及一些具體活動:描述事物是如何運行的,在不同層面上預測其未來的行為,並在時間充足和資源豐富的情況下通過構建模型來複製它。因此,學習專業知識並接受一定的訓練確實可以從根本上改變我們對世界的看法和理解方式。

從“啟蒙時代”到“糾纏時代”

大型的、複雜的代碼總會包含一些不祥的“暗碼”(dark code)。沒有人能完全理解這種代碼,它的存在也沒有明確的目的。然而,想要讓應用程式按照預期正常地運行,這種代碼又是不可或缺的。你不想去碰它,所以會傾向於繞過它。暗碼是會逆轉的。應用程式具有防止實際代碼被追溯的功能,它會莫名其妙地做出一些程式之外的事。

近幾十年來,在人類一手打造的“創世界”中,異常龐雜、難以理解的事物越來越多。

電腦科學家丹尼爾·希利斯(Daniel Hillis)認為,我們的世界已經從“啟蒙”(enlightenment)轉向了“糾纏”(entanglement),至少技術領域肯定如此:“技術已經變得如此複雜,以致我們無法完全理解它,也無法完全控制它。我們已經進入了‘糾纏時代’……每個專家都只瞭解難題的片段,卻無法把握難題的整體。”就連作為技術創造者的專家都無法完全瞭解技術了。

抽象的局限

在創建複雜的技術時,最強大的方法就是人們常說的“抽象”(abstraction)。從根本上說,抽象其實就是:將系統中某些不必要的元件細節隱藏起來,同時保留元件與系統進行高效交互的方式和能力。

這種抽象方法在技術中無處不在。在與某個介面友好的網站進行互動時,對於網站的內部技術細節,我們並不關心;抽象給人們帶來的最大好處是專業化。即使系統擁有數百萬量級的交互,系統的構建者和維護者也不是必須知道它到底是如何工作的。抽象使他們只需瞭解自身關注的某個具體部分,而其他部分的細節會被再次抽象化。

在當今的金融市場上,“參與者”早就不僅限於人類了,大量以各種資訊為基礎的電腦程式也參與了交易,而且速度比人類手動執行快了無數倍。這些電腦程式以異常複雜的方式相互聯繫著,並通過巨大的交易網路對決策進行級聯式放大和傳播。那麼,它們究竟是如何做出交易決策的呢?某些電腦程式能從海量的資料中總結出有意義的參數。

在充滿交互的網路中,常常會出現被複雜性科學反復提及的“湧現”(emergence),也就是某種層次上的交互最終導致其他層次上的交互出現了預料之外的現象。湧現,在所有類型的複雜系統中都很常見。

例如,昆蟲的集體飛行便是一種湧現行為。另外,在金融系統中,湧現也很常見。金融系統的運行所涉及的因素多種多樣,上至全球範圍內的演算法交互,下至每條網路線的傳送速率。要想真正搞清楚哪些細節應該被抽象化,是一個太過繁雜的問題。人們簡單地認為,對於那些複雜的系統,只需要明白如何使用即可,它們的具體機制是什麼則無關緊要。

不過,對於一個新工具的工作原理,有人搞不懂是一回事,所有人都搞不懂又是另一回事。許多人還在自欺欺人地以為,專家們終會把我們從這種龐大的複雜性中拯救出來,因為他們理解我們所不理解的東西。但是事實並非如此,專家也不一定理解,依賴專家的時代早就一去不復返了。

雖然對人類而言糾纏時代的到來是一場嚴峻的挑戰,但我仍然滿懷希望,並堅信:我們定能學會如何處理這些系統,至少在某種程度上。但是,要想真正理解這個由人類一手創造的時代,我們就需要先退而求其次,將迫使我們陷入複雜性、阻礙我們理解複雜性的各種因素找出來。

複雜系統形成的4個原因

技術系統變得越來越複雜的主要原因是“吸積” (accretion)和“交互”。隨著時間的推移,系統中不斷加入更多的組成部分,部分之間也增加了越來越多的連接。“必須處理的例外情況”和“普遍的稀有事物”也讓技術系統變得愈加複雜。

在電腦學和工程學中,有一個術語kluge,指的是拼湊起來的系統,也就是將許多不同的東西混合在一起,以求解決問題的系統。這種系統肯定是不精緻、不優雅的,而且很多時候龐雜得毫無必要。雖然這種拼湊起來的系統是有效的,但遠遠稱不上完美。有些東西的第一代設計可能是相當優雅的,但是隨著時間的推移,它們的結構變得越來越複雜,最終變成了雜亂式的應急之物。

我們還發現,一般來說,當一個複雜的系統龐大到一定程度時,無論其具體形式如何,都會變成一個拼湊起來的系統。

儘管我們已盡了最大努力,但技術系統還是變得越來越複雜、越來越龐大。這絕非偶然,技術發展過程中某些固有的力量,使我們在“複雜性”中越陷越深。和萬有引力之類的物理定律截然不同,這些力量強大到能讓系統變得越來越複雜。不管時代如何變遷,它們總能壓制住人們對簡單的渴求,以致在人們心中,它們已如物理規律般不可抗拒。可是,為什麼會這樣呢?

各種技術系統皆會隨著時間的推移而越來越複雜,究其首要原因,也是最顯而易見的原因是系統內部存在著雙重力量:吸積(accretion)和交互(interaction),也就是說,隨著時間的推移,系統的組成部分越來越多,同時組成部分之間的關聯也越來越多。

原因1:吸積(accretion)

1975年出版的《人月神話》(The Mythical Man-Month)一書中,電腦科學家小弗雷德里克·布魯克斯(Frederick P.Brooks Jr.)討論了有關軟體設計和專案程式設計的管理問題。在這本書中,他引用了業內的一句俗語:“每次加一點,每次加一點,最後就有了一大堆”(Add little to little and there will be a big pile)。每一個獨立設計,無論是為了修復,還是用來提供新功能,看上去都不過是一次獨立的選擇,而且都很合理:要麼解決了問題,要麼為用戶創造了新的令人興奮的功能。然而,日積月累下,它們終會變成“一大堆”。

真正的問題是,當我們創造的“一大堆”引發出意料之外的狀況時,我們就會遭遇“雪崩”。不幸的是,我們不斷地往技術系統中加入一個又一個片段,“雪崩”在所難免。“一大堆”不僅變得更大,而且變得更難琢磨了。

最早是在一些討論“行星系如何形成”的文章中看到“吸積”這個術語的。行星系由一團旋轉的塵埃和氣體凝聚而成,這種星星點點的累積過程,就是“吸積”的過程。這個用來描述行星系如何形成的概念由來已久,而在技術的增長過程中也是類似的吸積作用。

吸積過程的結果之一就是形成了人們常說的遺留代碼(legacy code)或遺留系統(legacy systems),即過時的機器和技術,也就是開發出來之後使用至今的機器和技術,譬如美國國稅局所使用的報稅系統。

在這裡,不妨引用《全球概覽》(Whole Earth Catalog)的創始人斯圖爾特·布蘭德(Stewart Brand)在《萬年鐘傳奇》(The Clock of the Long Now)一書中的說法:

通常,這些已經過時的遺留系統,在過去的許多年裡,一直都扮演著十分重要的角色,若是替換掉它們,必定會‘傷筋動骨’,恐怕沒有人能夠承擔這樣的後果。此外,它們也是無法被完全修復的,一是因為問題過於複雜,二是因為沒有人完全瞭解整個系統。”

Typically, outdated legacy systems make themselves so essential over the years that no one can contemplate the prolonged trauma of replacing them, and they cannot be fixed completely because the problems are too complexly embedded and there is no one left who understands the whole system.”

那麼,當我們面對一個仍在緩慢增大、小故障不斷的遺留系統時,又該怎麼辦呢?我們只能小心翼翼地對待它,因為設計它的人可能早就“杳無音訊”了。這個遺留系統可能已經完全嵌入了其他系統,徹底移除它的後果,可能遠比容忍它的小故障更加糟糕。這種系統實在難以處理,有時甚至會被稱為“恐怖爬行獸”(crawling horrors),也就是美國恐怖、科幻小說作家霍華德·菲力浦斯·洛夫克拉夫特(H. P. Lovecraft)小說中那種無法形容的怪物。

20世紀50年代,《經濟學人》雜誌中有一篇文章提到了帕金森定律(Parkinson’s Law),並定量地描述了行政人員數量的增長規律。雖然這篇文章的觀點還不太完善,但帕金森定律畢竟有資料的支援,其結論到今天仍基本成立:政府部門的行政人員數量以每年5%至6%的速度在增長。毫無疑問,隨著行政機構的規模越來越大,機構的管理問題只會越來越複雜。

帕金森定律(Parkinson’s Law): 在工作能夠完成的時限內,工作量會一直增加,直到所有可用的時間都被填充為止(Work expands to fill the time available for its completion)。意即人會不斷拖延、分心、增加任務複雜度,直到時間用盡。

事實上,軟體界已經將吸積和積累奉為普適規則。就發展而言,軟體系統的規模勢必會與日俱增,除非有人積極地嘗試簡化它們。

那麼,為什麼我們不能對複雜的系統進行定期清理並從頭開始呢?這和實際操作有關。

(1) 當時間、精力和金錢都有限,且不得不進行權衡時,我們通常會選擇對系統進行修改,讓它“足夠好”就行了。這意味著,我們需要不斷對系統進行調試和修正,就像立法者對美國法律體系所做的那樣,也就是說,我們需要在以往的基礎上加上一層又一層的東西。我們的城市擁有一個多世紀之前埋設的燃氣管道、20世紀30年代建成的運輸網路,以及廢棄的地鐵站。它們都隱藏在城市的地下。

(2) 不過,更多的時候,我們之所以放棄從頭開始的想法,是因為那樣做不僅太困難,而且太危險。沒有人能夠完全理解一個系統所依賴的所有舊的組成部分的全部作用,所以重新設計一個未經檢驗的系統不僅是愚蠢的行為,更是危險的行為。總而言之,我們必須接受這樣一個普遍規則,那就是:無論何種技術系統,終將變得日益複雜。

但是,當仔細觀察技術系統中的遺留代碼時,無論是在一個軟體中,還是在一個法律體系中,我們都會發現,真正的複雜性絕不僅僅只體現在日益擴大的系統規模上。畢竟,只有和另一個因素結合起來,吸積才能使技術系統變得複雜,這個因素就是交互。

原因2:交互 (Interaction)

在一個小程式中,使用GOTO語句實現跳轉,既容易又無傷大雅。但是,隨著程式變得越來越大,GOTO語句最終會將代碼綁定到某些龐雜的節點上,但即使是最熟練的程式師也無法解開這些龐雜的節點。最終,你得到的將是所謂的“義大利麵條”式的代碼(spaghetti code),因為所有東西都糾纏在了一起,既難解開,又難理解。在這種情況下,要想搞清楚程式指令執行的次序幾乎是不可能的,這也是為什麼這樣的電腦程式特別容易出現令人意想不到和無法理解的行為。

我們不僅越來越多地將某項技術的各個組成部分關聯起來,而且還越來越多地將不同的軟體和技術關聯起來。後者是一種高階互聯模式,也就是互通性(interoperability)。能讓各項技術互通,也就是讓不同系統進行交互,相互傳遞資訊通常是一件好事。例如,互聯網之所以擁有如此強大的功能,就是因為其連接的機器數量極其龐大,而且可以在無數機器之間傳遞資訊。

一般來說,隨著系統內部及系統之間的交互增多,包括擁有子系統的大型系統在內的所有系統的複雜性都會增加。有人認為,互聯性的不斷提高,體現了技術的基本要求。技術終究會產生交互和聚合,並在這種情況出現時進一步推動我們走向複雜化。儘管從開始構建大型技術系統的第一天起,這些趨勢就一直存在,但是近年來,它們變得愈發強大了。

原因3:必須處理的例外情況 (edge case)

這種複雜的情況就是必須處理的例外情況,也就是所謂的“邊界情況”(edge case),若不處理,技術系統就會出現漏洞。邊界情況各種各樣,從閏年問題,到如何編寫資料庫軟體來處理特殊的人名,比如人名中帶有特殊符號的情況。我們不能說邊界情況是普遍現象,但它們確實經常出現,所以我們必須加以識別和管控。但是與此同時,技術的簡單性也就漸漸消失了。邊界情況使技術變得複雜了。

原因4:普遍的稀有事物 (Common Rarities)

邊界會隨著時間的推移而不斷伸縮、折疊,變得凹凸不平或糾纏不清,所以邊界不可能是一條明確的界限。

例如,最終,法律體系看上去會是一個分形結構(fractal)無論你將一個小的圖形放大多少倍,依然會發現很多的不均勻,依然有更多的細節需要進一步觀測。任何的一般性規則最終都必須應對例外情況,而後者又會裂解成更多的例外和規則,從而形成越來越複雜的分支結構。

我們所觀察的技術系統,無論是法律、軟體、設備,還是科學模型,都會在例外情況和邊界情況的驅動下,在吸積和交互的雙重助力下,變得越來越複雜,越來越混亂。

越來越多的複雜系統

怎樣才能讓一個大型系統的互通性達到最佳水準(optimal levels of interoperability for a large system)? 這裡所說的最佳水準是指,系統既能運行良好,又不會因高度的不可預測性而產生負面效應;也就是說,我們的目標應該是創造最佳水準的互通性,而不是最大限度的互通性(Optimal interoperability, then, rather than maximum interoperability)。當然,這個目標不是那麼容易就能實現的。想到是一回事,做到又是另一回事。實現這個目標的方法之一是堅持使用特定的設計原則,將可理解性和模組化(understandability and modularity)內置於我們的設計中。

當一個系統具有高度的互聯性時,我們便很難將其拆解,也就很難探究其內部發生的一切。但是,在大型系統中,確實可能存在這樣的情況:某些部分之間的互聯性遠強於它們與其他部分之間的互聯性。換句話說,系統中存在若干模組,而每個模組由若干“部分”緊密互聯而成,並在一定程度上保持獨立。

我們常在生物學中見到這樣的模組,它們皆包含了若干“行動一致”的“部分”。植物的線粒體和人體的心臟皆是如此。當然,這些模組通過別的身體器官和化學信號,以及其他方式,和系統其他部分保持著緊密的聯繫,所以我絕不建議人們進行心臟摘除手術。

模組化遵循了抽象的原則,實質是通過將系統拆解為若干部分,從而在一定程度上實現對複雜性的管理。

由於潛在的、不同的相互作用太多,模組數量很快就會超出我們的處理能力。例如,假設系統中的每個模組都分別具有6個不同的輸入路徑和輸出路徑,同時這個系統擁有10個模組,那麼將所有這些模組關聯到一起的方法將比整個宇宙中的恒星還要多。

接下來,我們將討論人類理解能力的社會極限和生物極限:無論有多麼努力,我們的大腦和社會在面對這些複雜系統時的表現都不會太好。

為什麼複雜系統越來越難以理解了

對於大多數人來說,記住一個7位數就相當不容易了。當複雜系統的組成部分和連接數量猛增時,即便是專家也會望而生畏。我們個人的知識儲備,與理解複雜系統所需要的知識相比,存在著根本性的衝突。

在新的技術系統中,對問題的診斷的確已經變得越來越困難了。無論我們多麼努力地構建和設計符合邏輯的技術系統,系統中總會有某些部分是我們無法完全理解的。原因很簡單:

我們是人。人類的思維方式與複雜系統的運行方式是完全不匹配的。複雜系統的構建方式決定了它們很難被理解,甚至不可能被理解。

人類世界以“1”為始,而電腦則從“0”開始計數。這個事實意味著:人類的思維方式與大型系統的構建及運行方式之間的裂痕,將會越來越大。我們無法一一跟蹤大型系統中的所有過程,以及每一次交互所導致的一系列後果。人類的大腦並不具備解析這種複雜性的能力。在大型系統的構建方式和人類的思維方式之間,我們看到了諸多複雜因素,而這些複雜因素不僅會降低系統的可理解性,還會導致出人意料的後果和問題。

在糾纏世界中,我們是因為以下兩種相互關聯的原因失去控制權的:

(1) 第一種,無法完全把握龐大而複雜的系統結構和動態,即無法把握系統的不同部分以整體的形式相互作用;

(2) 第二種,無法獲取足夠多的必需的、用以理解這些系統運行方式的專業知識。

接下來,我們將再一次以語言學為例,力求更清晰地說明,人類的思維方式為什麼無法適用於複雜的技術系統。

力不從心的大腦

在電腦科學中,“遞迴”(recursion)這個術語本意為自我引用,它描述了一部分需要引用回自身的電腦代碼。這個概念催生了不少程式化幽默。在搜尋引擎上查找“遞迴”這個術語時,它可能會反問你:“你的意思是遞迴嗎?”這對許多人來說無疑是很有趣的。

遞迴也潛藏在語言結構中。換句話說,語言具有遞迴能力。事實上,語言在理論上是無限遞迴的。你可以說“他說狗是棕色的”,也可以說“她認為他說狗是棕色的”。你在第二句話中嵌入了第一句話。更大膽一些,你甚至可以說“我記得她認為他說狗是棕色的”。基於不同的句型結構,在一個句子中嵌入另一個句子的現象,可以出現在句首、句中或句末,而且還可以一遍又一遍地嵌入。當然,除了在面對遞迴以及其他某些語法技巧時,我們會顯得無力之外,人類認知能力的局限性還體現在其他諸多方面。

事實證明,許多機器能夠輕鬆完成的任務,人類卻無法勝任。例如,你有沒有想過,你能瞬間記住的數字有多長?對於大多數人來說,只能記住7個數字左右,也就是說,你很難記住比電話號碼更長的數字,而且這裡所說的電話號碼是不包含區號的。

人類的大腦最終能不能克服其局限性呢?通過對人類認知的研究,我們得到的答案並不如意。就像可以加快電腦轉速,讓電腦超頻運行一樣,我們偶爾也可以利用藥物來“提神醒腦”。但是研究表明,大腦在“超頻”時也會權衡利弊,做出取捨。正如超頻運行的電腦可能會發熱一樣,超極限運轉的大腦也會受到傷害。從現有的證據來看,人類的大腦在進化過程中已經微妙地實現了優化,所以隨意“超頻”可能會致使它出現嚴重的問題。

認知的極限

換句話說,絕大多數電腦程式都是永遠不可能被任何人完全理解的。這個結論適用于筆記型電腦中的應用程式、廚房設備中的電腦代碼,以及用來調度全球飛機的航空軟體……。當然,在某種程度上,電腦程式也具有一定的可理解性,而且不需要我們手動遍歷所有潛在路徑。這正是抽象的主要特點之一。在抽象的基礎上,對軟體進行各種嚴格的測試和糾錯,並遵循軟體“衛生準則(software hygiene)”,比如,禁止使用GOTO語句或某種類型的變數,就可以有效緩解理解無力的狀況。

但是我們仍然無法確定,我們是否真的瞭解所有的影響和結果。無論是使用某個科學模型的科學家,還是操作大型機器的技術人員,或是駕駛最先進汽車的駕駛員,都不得不適應這種“不完全理解”的狀態。這是生活在糾纏世界中必須付出的代價。通過大資料分析,我們可以發現龐大和互聯所帶來的影響。大資料分析就是用特定演算法對海量資料進行處理,以增強預測能力,但有時會以犧牲可理解性為代價。

在美洲大發現之後,人們意識到,任何一個博物館都不再可能包羅世界萬象了,譬如不可能包含所有的物種。自那之後,人們不得不承認,這個世界實在太多樣、太複雜了。於是,人們開始做起選擇題:哪些東西應該收藏進博物館?哪些東西可以忽略?

然而在今天,任何人都不可能擁有全部知識。這也就意味著,無論對誰來說,這些系統在整體上都是不可理解的。

解決方案之一是推進多學科和跨學科的團隊合作:將不同領域的專家組織到一起,這樣就有可能在前沿地帶取得突破,進而構建出特別強大的複雜系統。

專業化無疑是一個成功的進程,它給我們帶來了大量的、令人印象深刻的技術,但同時也將我們帶入了糾纏世界。在糾纏時代裡,我們不得不依賴于生而為人終無法擁有的、複雜的技術系統知識。事實上,沒有人能擁有這種知識。

在個體所能處理的知識體量,與其需要瞭解的、與生活息息相關的系統知識體量之間,存在著一條無法逾越的鴻溝。

有些系統會做出一些離奇的行為,這些行為甚至連設計者本人都不曾預料到,這樣的系統被稱為“技術狼人(technological werewolves)”。在電腦科學家小弗雷德里克·布魯克斯眼中,大型軟體專案自帶難以控制的“狼人”傾向:“在我們的民間傳說中,有很多令人噩夢連連的怪物,其中最恐怖的就是狼人,因為他們會出其不意地從熟人變身為恐怖的怪物。”當今時代,“狼人”就是我們自己所構建的系統突然出現的意外行為。它是所有使系統變得複雜難解的邪惡力量的集中體現。

令人費解的Bug

bug並不都是能夠找到確切起因的那些錯誤,在以連接和交互為特徵的複雜系統中,經常會出現一些令人費解的bug。儘管我們對這些bug沒什麼好感,但它們卻是這個糾纏時代中無法回避的存在。

錯誤和故障是系統複雜性的不良產物,是超預期的、不被接受的東西。

為了能更好地理解這種特殊情況,人們開發出了一個數學模型,即高度最優化容限(highly optimized tolerance)模型。雖然系統在經過優化後可以適應各種各樣的情況,但是任何“新異事物”都有可能讓它們出現災難性的故障,甚至崩潰。以波音777為例,這種大型飛機是一台極其龐大的機器,包含了150 000多個子系統模組,所有模組指向的目標都是:確保正常飛行,並應對各種情況。但是很顯然,它無法應對所有的意外情況。據業內專家稱:“波音777在應對大規模的氣流干擾、載重和燃料的變化、邊界層的湍流流動,以及材料的老化與不均勻等情況時,具有很強的穩定性,但這種穩定性可能會因少數超大規模的集成晶片的細微變化,或者某些軟體故障而失效,從而導致災難。換句話說,隨著系統變得越來越複雜,再細微的刺激都有可能引發災難。其實我們根本不知道未來可能會發生什麼。

事實上,這些意想不到的後果與邊界情況和例外情況有關。世界很大很複雜,所以需要一個更大更複雜的系統來管理它。很多情況雖然都具有偶發性,非常罕見,但是卻極有可能導致技術故障,因為總體數量實在太多,而且無法被一一測試。

並不是所有bug都能被消除

在開源軟體發展行業,“林納斯定律”(Linus’s Law)被許多人奉為真理。這個定律是以Linux系統的創始人林納斯·托瓦茲(Linus Torvalds)的名字命名的,意思是“只要給予足夠的關注,所有的bug都不是問題”。換句話說,如果能有足夠多的人去檢驗某種技術,那麼任何故障,無論它有多麼複雜,看上去有多麼難以處理,都是可以修復的,因為總會有人能找到解決辦法。

但是,隨著系統變得越來越複雜,這個“真理”似乎不再成立了。並不是所有的bug都可以消除:當我們面對複雜的充滿交互的系統時,發現並消除每一個bug的可能性微乎其微,並且每一次修復都會引發新的問題。這聽起來非常令人沮喪,但在某種程度上來說確實是這樣的。幸運的是,我們至少還有一絲擺脫部分困境的希望。

“技術狼人”不僅是人類跨入新時代的標誌,同時也為人類指出了管理複雜系統的新方向。不斷地檢測bug是我們瞭解這個糾纏時代的性質,並保證自身在此間繁衍生息的有限選擇之一。

像生物學家一樣思考(Naturalists for Technology)

生活中,總有些地方是雜亂的。“雜項(miscellaneous)”意味著,即使是混亂無序,也可以構成一個類別或一種組織方式。“雜項”的存在本就是一種肯定:無論有多麼不規則、多麼雜亂,混亂的“秩序”是有可能被容忍和接受的。

在自然界中,也唯有通過研究生物進化中的錯誤和故障,譬如突變和疾病,我們才有可能瞭解生命系統的奧秘。

對於技術系統,我們也需要採用同樣的方法。“數字世界”是技術史學家喬治·戴森(George Dyson)提出的一個術語,這個世界正在超越人類的控制範圍。雖然無法理解所有技術系統之間的所有交互,但這並不妨礙我們成為“技術博物學家(technological naturalists)”我們可以將系統及其各部分的多樣性記錄下來,並加以分類。即使無法完全理解整個系統,我們也可以通過考察異常情況和分析故障等方式,獲得卓越的見識。

為甚麼需要生物學思維? (The Need For Biological Thinking)

複雜的技術系統更接近生物學系統,因此,用生物學思維思考複雜技術是個不錯的選擇。為了從整體上理解系統,我們也會忽略掉一些細節,這時,物理學思維才是首選。我們真正需要的是經過物理學思維錘煉的生物學思維

科學家湯瑪斯·亨利·赫胥黎(Thomas Henry Huxley)有一句名言,“科學的巨大悲劇(great tragedy of Science)”是“一個醜陋的事實往往會殺死一個美麗的假說(the slaying of a beautiful hypothesis by an ugly fact)”。他的意思是,優雅的理論是科學的目標,當某個事物與優雅的理論相悖,或令理論複雜化時,科學便會遭遇最大的悲劇。

博物學家不可能贊同赫胥黎的抱怨,因為在他們看來,根本不存在所謂的“醜陋的事實”。所有的事實和知識都為我們提供了與這個奇妙世界有關的新資訊,向我們展示著世界的複雜性和多樣性。當事實不符合我們的心智模式時,完全不必為此而感到沮喪;相反,還應該為這種“意外”而感到由衷的高興,然後去尋找能夠解釋這些“意外”的新方法。

物理學家弗裡曼·戴森(Freeman Dyson)將牛頓的方法描述為古雅典時期的科學思維方式,並認為這種思維方式“強調思想和理論……試圖找到可以將宇宙萬物聯繫在一起的統一理論”。至於關注多樣性的方法,戴森則認為,可以將它描述為工業革命時代的科學思維方式,“強調事實和事物,試圖探索和拓展人類對自然多樣性的認知”。例如,起源於曼徹斯特的英國工業革命。

戴森還進一步指出:這兩種方法還有另一個不同之處,即生物學是多樣性理論者的“領地”,而物理學則是統一理論者的“主場”。

作者在這裡把這兩種方法分別稱為生物學思維(biological thinking)物理學思維(physics thinking)。在物理學中,人們通過統一和簡化去觀察各種現象的明顯趨勢,無論是在愛因斯坦、牛頓,還是麥克斯韋身上,都能看到這一點。眾所周知,麥克斯韋給出了能解釋電磁原理的公式。簡化,甚至極簡化,是物理學領域內廣受尊崇的方法之一(Simplification, even oversimplification, is revered within the realm of physics)。

生物學家通常更願意接受多樣性(diversity),並傾向于陳列大量事實,而不在意這些事實是否能用某個統一理論來解釋。事實上,他們只需要有一個合適的小模型就可以了。當然,生物學理論也並非總是如此。例如達爾文的進化論,顯然就是生物學中的一股統一力量;許多分子生物學家、以數理生物學為專業方向的應用數學家,以及許多研究其他領域的生物學家都傾心於此。

上述兩種方法都是在探求具有普遍性的、有預測能力的理論。但是,這兩種思維方式的推進方向是不同的,這種不同主要反映在它們對抽象化的相對容忍度上,而相對容忍度又取決於所研究系統的特性和複雜性。例如,利用數學公式抽象掉宏觀層面上的細節,這種做法在物理學中幾乎無處不在,但在生物學中卻難覓蹤影。

從下面這個古老的科學笑話中,我們可以清楚地看出這種區別。

一位奶農為了提高產奶量雇用了兩個顧問,一位元是生物學家,另一位元是物理學家。生物學家在考察了一周後,提交了一份詳細的長達300多頁的報告,寫明瞭每頭奶牛的產奶量具體取決於什麼,例如天氣情況、奶牛的大小和品種等。而且這位元生物學家還向奶農保證,只要嚴格按照建議執行,奶牛的平均產奶量可增加3%至5%。而物理學家只考察了3個小時就回來了,然後宣稱自己已經找到了一個能夠適用所有奶牛的高效解決方案,並且可以將產奶量提高50%以上。奶農問:“那麼,你說應該怎麼做呢?”“好吧,”那個物理學家回答道,“首先,假設你有一頭身體為球形的奶牛……”

抽象化方法當然是有用的,但我們不能做出存在“球形奶牛”這種假設。當你把生物學層面上的細節都抽象掉之後,你不僅會丟失大量資訊,而且最終還會對某些重要組成部分,比如邊界情況,感到束手無策。

生物學思維和物理學思維是解釋世界的兩種不同方法,適用於不同的系統,而且通常是互補的。

複雜的技術系統需要生物學思維的3個原因

那麼,我們應該如何對待複雜的技術系統呢?它們是生物系統還是物理系統?理解技術系統應該採用哪種思維方式?現在我們就來探索生物系統和物理系統的特徵,並與我們所瞭解的技術系統特徵進行比較。

複雜的技術系統需要生物學思維有以下3個原因:

(1) 第一,生物系統通常比物理系統更複雜。

在生物學中,系統的組成部分不僅類型繁多,而且涉及很多層級。例如,細胞中的蛋白質具有多樣性;生物個體內部的組織器官也功能各異。要研究藍鯨的交配行為,海洋生物學家就不得不考慮一切與之相關的事情,比如它們的去氧核糖核酸,以及海水的溫度等。生物系統中的每個組成部分不但各不相同,而且還很難從整體中被單獨拆解出來。

(2) 第二,生物系統有別於物理系統的一個重要因素是,生物系統是有歷史的。

生物會隨著時間的推移而進化。生物系統更容易受到進化的影響。實際上,這正是生物系統的根本特性之一。生物系統之所以會呈現出如此複雜的結構,正是因為系統中存在極為複雜的歷史路徑,而且,在漫長的進化進程中,歷史路徑還會受到眾多因素的影響。因為生命體的形式很複雜,所以任何微小的變化都有可能會帶來意想不到的後果。隨著時間的推移而發生的變化,一直在做著修補工作:以零敲碎打的方式修整著系統,使之適應新的環境化。

生物學上的遺留代碼有時可能是完全未經修改過的,但是通常來說,在進化進程中,生物系統也會被修補、被改變。站在生命體的宏觀角度上來看,這種情況意味著新功能通常是層層疊加在舊功能上的。這種分層有時會導致一些問題。

生物系統是進化而來的“足夠好”的系統,而不是設計出來的精緻優雅的系統。換句話說,生物系統是拼湊而成的系統。與技術系統一樣,生物系統的進化也會留下遺留代碼。

在生命體的基因組中存在著許多“多餘物質”,這些物質也被稱為“垃圾去氧核糖核酸”片段。它們在進化進程中被積累起來並留存至今,卻沒有任何特定的生物學功能。許多複雜的技術系統,例如軟體系統等,都包含著這類不會再被使用的功能,這些功能甚至可能已完全過時。與此類似,在許多生物系統中也存在不少這樣的退化性狀,它們原有的功能已不復存在。

(3) 第三,生物系統與技術系統的相似性還包括微小變異產生巨大災難之特性。

某個看上去很強大的技術系統,可能會因為一些很小的干擾就出現災難性的故障。在生物系統中也會發生同樣的事情。例如,總的來說,人類具有很強的環境適應能力,但是人類基因組中的某個微小突變卻會導致侏儒症,而且受到影響的兩個基因副本是具有致死性的。

技術領域的”生物學家”(Field Biologists for Technology)

理解複雜系統通常不適合採用直接的、大規模的抽象化方法,因為這些系統實在太混亂、太龐雜了。因此,注重細節、強調多樣性的生物學思維,為理解雜亂的進化系統提供了一個至關重要的視角。只有通過大量的刺激和檢驗,複雜的進化系統才有可能被完全理解。因此,生物學家,特別是野外生物學家,在研究生命體的複雜性和多樣性時,都必定會考慮它們的進化軌跡。這種方法特別適合用來理解技術系統。

野外生物學家經常要扮演博物學家的角色,非常注意收集和記錄在各地發現的各種事物,並加以分類和編目。除此之外,在面對一個極其複雜的生態系統時,野外生物學家也不會即刻就想要徹底理解它。他們很清楚,一次只能研究這個系統的一小部分,而且即使是針對某一部分的研究,也未必會完美無缺。例如,他們只研究少數物種之間的相互作用,鮮少會去考察某個地區的完整的物種網路。野外生物學家對自己的判斷非常堅定,而且明白,在任何時刻都只能觀察周遭複雜情況的一個片段。

與此類似,在面對一團亂麻般的技術系統,譬如一個軟體、某個國家的法律體系,或是整個互聯網時,如果我們硬要將物理學思維中的優雅和簡潔附加在其整體性之上,那麼我們就不可能走太遠。要想從真正意義上理解技術系統,並對其行為做出有效的預測,我們就需要成為技術領域的野外生物學家

在思考一個系統的不同交互層級時,我們要記住,那些看上去毫不起眼的底層細節有可能會升至頂層,從而變得對整個系統至關重要。我們需要技術領域的野外生物學家,需要他們來對複雜系統的細節和各個組成部分及其失敗和錯誤進行編目和研究。這種生物學思維不僅可以帶來新的思想,而且完全有可能成為我們探索互聯性越來越強,而可理解性越來越弱的技術世界的主要路徑。

我們可以在技術系統的錯誤中學習,就像生物學家在遺傳錯誤中進步一樣。但是,生物學家所做的並不僅限於此。為了更好地向生物學家靠攏,我們必須更加深入地瞭解生物學的一般研究方法。

要將生物學思維應用到對技術系統的研究中,我們就必須認識到,“修修補補”是構建系統和理解系統的一種重要方法。正如斯圖爾特·布蘭德在討論遺留系統時所指出的那樣:“要從遺留系統中汲取新功能,不是簡單地下一個命令就能實現的,而要通過一系列謹慎的實驗,在‘運氣’的幫助下,才有可能得到我們想要的結果。”這就是技術領域的生物學方法。

對於技術系統,我們也要認識到,問題以及系統對問題所做出的各種反應,在積累到一定程度時,可能會導致同樣的級聯式失敗。這就意味著,我們必須像生物學家那樣思考問題。在一座核電站中,不斷累積的細小問題最終會引發嚴重問題。

當物理學遇見生物學

如前所述,技術具有諸多“生物學性質”。它不僅“笨拙”,而且會在進化進程中因為修補而生長變化,同時還擁有許多繁雜的細節。那麼,這是不是意味著,我們應該放棄探尋複雜性背後的規律呢?絕對不是!在理解技術系統時,物理學思維也能發揮重要作用。

有時,我們必須向物理學靠攏,通過抽象掉部分細節來理解整個系統;有時,細節又特別重要,譬如我們在前文中討論過的罕見詞和邊界情況,在這種情況下,我們必須更多地依賴生物學思維。

這就意味著,我們必須越來越多地把物理學思維和生物學思維結合起來,在探尋秩序的同時,也不能忽略粗糙的邊緣。在將生物學思維與物理學思維結合到一起後,我們便能更加瞭解周圍各種拼湊起來的系統了。

特效領域有一個耐人尋味的術語:“小東西”(Greeblies)。每當聽到這個術語,我就會想起小精靈,或者伶牙俐齒的小丑。“小東西”指的是被添加到某個場景中或某個物件上的小物件,目的是讓場景或物件看起來更可信。

對於為什麼要不斷加入小物件,著名數學家、“分形”的創造者本華·曼德博(Benoit Mandelbrot)的一段名言給了我們很好的解釋:“為什麼有人會說那些基本的幾何形狀是‘冷冰冰的’和‘乾巴巴的’?其中一個原因就在於,它們無法被用來描述雲、山、海岸線或樹的形狀。雲不是球形;山不是圓錐體;海岸線不是圓形;樹皮不是光滑的平面;雷電也不是按直線行進的。”

技術系統也是如此。一旦嵌入了真實世界,技術系統就失去了如直線、三角形般純淨的邏輯結構;相反,隨著時間流逝,它將因吸積而充滿各種雜項,就像生物系統中因積累而出現的“進化大雜燴”一樣。故事要以細節和複雜性為基礎,系統也一樣。事實上,我們之所以會認為某些東西更加“現實”,正是因為它們是複雜的,充滿了細微的“鋸齒”和各種細節,儘管這些“鋸齒”和細節常常是我們一時無法理解的。說到底,我們需要這種混亂,需要這些小物件,即使它們在解析度水準較低的解決方案中會被全部抽象掉。

生物學思維必須與物理學思維“和諧共處”。事實上,生物學家的最終目標同樣是創建模型,並識別出規律,只不過這個目標所涉及的範圍可能較小。在對系統各個部分進行仔細研究的同時,還能清醒地認識到它們只是一個更大的、高度互聯的整體的組成部分。

複雜性科學的視角

複雜性科學,是管理和理解複雜系統的一條自然路徑。它能夠定量地研究龐大且複雜的互聯系統,無論是生物個體,還是生態系統;大到萬維網,小到電影演員的合作網路。例如六度分隔理論、滲流理論模型、擴散限制凝聚模型等。

擴散限制凝聚模型(diffusion-limited aggregation model): 稱為DLA模型,其原理是:先在巨型網格的中心設定一個點,然後讓其他點在網格上隨機移動;在某個點擊中初始點之後,那兩個點就形成了一個聚合體;接下來,讓剩餘的點繼續移動,直到它們中的某個點又擊中聚合體。因為加入聚合體的點越來越多,所以聚合體緩慢地“長大”了。聚合體最終會變成一個形狀怪異的東西,不能被稱為“團”(blob),也不能被稱為“畸形的圈”,也不是普通的結晶體,而是一種更加“有機”的東西,如同生物中的徒長(spindly growth)。事實上,它的“模樣”取決於模型的類型,有時候會像珊瑚,有時候會像閃電,甚至會像城市。由此可見,一個簡單的、無足輕重的電腦模型,可以生成非常複雜的圖形圖像。

我們可以通過非常簡單的模型來複製各種複雜系統,當然,具體細節是不一樣的。這些小型“玩具模型”具有某種“波特金複雜性”(Potemkin complexity)。“波特金複雜性”是指,某些系統看上去很複雜,但本質上卻很簡單。

對複雜系統的抽象化和簡化,不僅可以説明我們理解系統行為的總體情況,還可以告訴我們系統的回饋機制、互聯性,以及對初始條件的深刻依賴性,甚至可以告訴我們系統會對變化做何反應,並在此基礎上幫助我們設置邊界。

但是,複雜性科學的一般化模型也是具有局限性的。在試圖瞭解不同系統的特殊情況時,簡單模型就不夠用了。在這一點上,菲力浦·鮑爾說得非常到位:“河道網路的互聯模式與視網膜神經的互聯模式,既有相同的地方,又有不同的地方。將它們統稱為分形模式是不夠準確的,它們各自的分形維數也是不夠精准的”。

一方面,我們希望技術世界擁有簡單和優雅,希望那些混沌不明的東西消失;但是另一方面,我們必須承認,有些事物既是龐雜的,又是微妙難解的,還會隨著時間的推移發展和進化,這便是心智成熟的標誌。在成長為獨立的個體之後,我們會認識到人際關係的複雜性,認識到人際交往的很多精緻微妙之處。與此類似,當我們所處的社會逐漸成熟起來之後,人們必定會認識到社會結構中固有的複雜性和不規則性。

複雜性科學,儘管絕非“萬妙靈丹”,但確實可以幫助我們實現這種平衡:既能突出需要特別關注的細節,又能為知識範疇和關注程度設定恰當的邊界。

這是一種融合了物理學思維的生物學思維。我們必須把這種思維方式引入到技術領域中。對於這項工作,從一定程度上來說,人人都可以參與其中。此外,我們還需要技術領域的野外生物學家,需要他們在複雜的技術大廈中挖掘“意外之物”,並與難以理解的事物“做遊戲”。那麼,這些人會是誰?在當下這個專業化時代,我們需要一些通才,他們有能力識別並牢牢抓住系統的各種細節,以及未被理解的邊界情況和關鍵節點。

我們需要通才(Generalist)

因為各種系統會以多種不同的方式相互關聯,所以人類越來越需要將某個知識領域與另一個知識領域聯繫起來。例如,在編寫遊戲《危險邊緣》(Jeopardy!)的電腦程式時,你需要運用從語言學到電腦硬體領域的相關知識。在這種情況下,僅靠專業化是行不通的,我們還需要依賴相當廣泛的知識。但是,如前所述,我們的知識體量很快就會觸及上限。是的,人類大腦的生理特性決定了人們無法掌握所有知識。

為了克服這種困難,我們需要培養通才。在這裡,通才是指既能看到“土地的地形地貌”,即擁有抽象的物理學思維;又能在尚未理解整個系統的情況下便懂得欣賞系統細節,也就是擁有複雜的生物學思維的人。

毫無疑問,在構建複雜系統時,通才是最適合成為博物學家和野外生物學家的人,而且必不可少。他們可以從一個片段跳到另一個片段,檢查出那些沒有意義的部分,並在巨大的技術系統中挖掘出正在發生事件的線索。

或許有人會問:既然知識量增長得如此迅猛,那麼當今世界是否還有通才存在?第一步是要先培養出一大批“T型人才”。

“T型人才”這個術語最早出現在電腦教育領域,而後泛指在某個領域內既擁有高深的專業知識,也就是擁有T型中的“主幹”那一豎;又擁有廣泛知識,也就是擁有T型中的那一橫的人。通才既擁有專業知識,又樂於探索諸多不同的領域。但是,要想培養出T型人才並不是一件簡單的事。他們先要將專業化與普遍性結合起來,才能著手去解決那些日益複雜的問題。

通才並不僅僅是T型人才。T型人才只是比一般的專業人士擁有更廣的知識面;但作為通才,還必須有意識地將多個有實質性區別的領域聯繫在一起,儘管這樣做有可能會失敗。最優秀的通才,能夠將如編年體般的歷史細節與建模思維完美地結合起來。擁有建模思維能力的人,不會是那些只擅長抽象化和一般化的人,而是那些善於創建聯繫和類比的人。在高度複雜的系統中,對各部分相互關係和交互作用的洞察是非常重要的。因而,擁有建模思維的人,通過直覺和生物學思維相結合的方法,便能夠理解,至少是部分理解這些系統。

在面對某個完全無法理解的事物時,可以暫且先關注該系統中的細節,嘗試著去理解整體中的某些特定部分。說到底,我們在研究系統時所採用的生物學方法,其實就是反覆運算和修補。也就是說,細節和意外情況不但能夠説明我們更加深入地理解系統,還能不斷提高我們的洞察力。

生物學思維是理解複雜世界的一把金鑰匙

認識複雜系統的正確態度是:對於難以理解的事物,要努力克服我們的無知;一旦理解了某個事物,也不會認為它是理所當然的。謙卑之心,加上反覆運算的生物學思維,就是洞悉複雜世界的正確方式。

隨著技術變得越來越複雜,我們漸漸失去了理解它們的能力,在這種情況下,我們的反應會趨於兩個極端:要麼恐懼,要麼崇敬。

雖然技術推動了社會發展,但它的構建過程並不完美。技術是拼湊而成的系統,這就是說,技術是在時間的長河中,由許多碎片積累、層疊而成的系統。因此,儘管技術擁有令人振奮的力量,但它並不值得我們毫無保留地卑躬屈膝、讚歎不止。當然,我們也不必因技術的存在而感覺自身受到了威脅。

恐懼和崇敬都不是生產性的反應。這兩種反應都阻斷了我們提出質疑的機會,磨滅了理解技術系統的可能性。在上述兩種極端反應之間,我們還有第三條路可以走,那就是謙卑。我們必須保持謙卑,而不應盲目崇拜;必須滿懷好奇,而不應心懷恐懼。

即使我們能夠消除心智上的各種偏差,或者大幅度地增強智力,我們的生命也是有限的。面對這種終極的有限性,我們必須心存謙卑。謙卑既不是桀驁不馴,也不是委曲求全,而是承認自己的局限性,同時不會因這種局限性而陷入無為,也不會將這種局限性奉為神祇。

我們心懷謙卑,並對複雜系統的細節充滿濃厚興趣時,就能做到那些滿懷恐懼或崇拜之心的人無法做到的事情。謙卑和興趣能夠説明我們不斷探尋系統背後的奧秘,即使永遠無法完全理解系統也沒有關係。

事實上,在面對複雜的技術系統時,謙卑和包容是非常值得尊重的選擇研究生命基因組的科學家就是這方面的典範。在基因組中充斥著無數無“目的”的片段,它們是在奇異的吸積過程中形成的。在技術系統中也有類似的過程和片段,而科學家卻認為這是“光榮的混亂”。不難看出,用“光榮”來形容“混亂”,完全是生物學思維,滿含謙卑與欽佩。技術系統是混亂的,是永遠無法被完全理解的,但我們必須認識到,這就是“光榮的混亂”。

約翰·蓋爾(John Gall)是一位退休兒科醫生,也是暢銷書《系統聖經》(The Systems Bible)的作者。這本書原名為《一般系統滑稽論》(General Systemantics),於1975年首次出版這本書對“如何處理複雜系統”做出了妙趣橫生的探索,不過蓋爾所指的“系統”具有更加寬泛的意義,涵蓋了所有的社會系統和人類所構建的技術系統。書中金句連連,比如,“舊系統的幽靈會不斷騷擾新系統”“系統總是會反擊”。無意識定理(Unawareness Theorem):“如果你壓根不知道你已經出了問題,又怎麼可能會尋求幫助?”蓋爾總結的定理以及對系統的分析都非常有見地且非常有趣。系統很容易做出一些古怪的行為和出人意料的事情,比如對我們“反咬一口”等,而我們不可能根除這種行為。透過那些金句,我們可以看到,蓋爾提出的許多觀點,與我們在本書中所闡述的思想類似。例如,系統會吸積、會擴張、會發展,並最終“超越人類的評判能力”,做出意想不到的行為。

蓋爾提出的金句和定理可以歸結為一點:在面對很難從頭開始設計或構建的系統時,務必要保持謙卑。無論這些系統的起源或功能如何,它們最終都會變成笨拙的拼湊而成的系統。同時,在試圖理解和控制它們的過程中,我們必須容忍許多混亂之物。只有在充分認識到“系統總會變得複雜”的時候,我們才能更好地構建系統,才能在複雜系統出現各種情況時,不至於被它們“反咬一口”,並且能夠應對自如,甚至歡欣鼓舞。

不要被表像迷惑

不妨回想一下,上次安裝新軟體的時候,你真的知道電腦內部發生了什麼事情嗎?你是否瞭解各種套裝軟體被存儲在硬碟驅動器上的哪些資料夾中?你知道軟體安裝程式根據電腦硬體和作業系統的不同性能,修改了電腦的哪些資訊嗎?

不太可能。你眼中只有一個長條狀的東西,你只能通過觀察它被逐漸填滿的過程,來瞭解安裝的進度。它就是進度條。這種小型的介面創新程式,出自電腦科學家布拉德·A.邁爾斯(Brad A. Myers)之手。在讀研究生時,邁爾斯開發出了這個程式,並將其稱為“進度完成指示器”。進度條給不透明的過程提供了一個小視窗,並以此來撫慰用戶。那麼,進度條是不是完全準確的?很可能不是。在某些情況下,進度條幾乎完全脫離了底層的運行過程。但是在大多數情況下,進度條和其他討巧的設計,例如描述軟體安裝過程中所發生之事的文字方塊一樣,可以讓人們對一個龐大且複雜的過程投去“放心的一瞥”。

我們在構建使用者介面時會越來越多地有意地將複雜性抽象掉,或者,至少讓部分複雜性與使用者隔離。這種做法使複雜性科學和使用者介面設計學這兩個領域產生了交集。無論是在電腦中,還是在汽車中,抑或是在電器中,技術系統都會在使用者與程式運行之間設置一道屏障。

簡化直覺是由複雜性科學家發展起來的一般模型,它為啟發式方法奠定了基礎。啟發式方法可以使我們得以理解系統,同時又不會被其複雜性壓倒,並能與“包容性的將就”相結合,這也是約翰·蓋爾的“一般系統滑稽論”所採用的視角。這些用來窺探大規模複雜系統的小視窗,體現了我們對待技術的謙卑之心。

謙卑之心+反覆運算的生物學思維

對於複雜的技術系統中的神秘性,人們通常會有兩種潛在的極端反應:

(1) 第一種反應是有意且極力地削弱它的重要性,認為系統中根本不存在任何神秘的東西。對於系統的運行方式,這些人會編織出一些簡單的故事。這些故事也許很吸引人,但都嚴重削弱了系統的複雜性。他們認為,自己對正在使用的技術瞭若指掌,任何問題都是能解決的小問題。

(2) 另一種極端反應則來自那些醉心於尋找神秘和未知事物的人。這些人並不在乎這種事物是否真的存在。他們通常都是技術的門外漢,總是把設備或系統的內部運行神秘化,並以此為榮;他們對蘋果手機或電網的工作方式讚不絕口,並稱其為魔術。

不過,大多數人的反應都處於上述兩種極端反應之間。他們可能會承認,在系統中存在一定程度的神秘性,但同時又希望自己可以理解這個世界。

那麼,我們在面對自己所構建的大型系統時,又該如何平衡其間的神秘和奇跡呢?特別是對於那些無論我們多麼努力都無法完全理解的系統。

如果我們能明白,罕見的故障和無法解釋的錯誤都是複雜性的衍生物;如果我們能知道,即使是最警覺的設計師也無法預測全部故障和錯誤,那麼在遇到這種狀況時,我們就能從容不迫,而不會手足無措了。

在構建和使用複雜的技術系統時,我們試圖瞭解它們如何運行以及如何失敗,但是這種瞭解確實存在著極限。不過,這並不意味著我們要停止創造;恰恰相反,它只是意味著,當我們繼續構建這類系統時,要明白它們還會不斷成長,會變得更加奇異、更加複雜。因此,我們必須重新調整期望值。

從現在起,承認自己無法完全理解這些系統吧。這種做法將會改變我們理解和應對系統的方式。如果你參與了構建,那麼在組裝系統時,你就會意識到自己的理解能力是有限的;如果你與系統進行了交互,那麼你會認識到繁雜和意外是常態,而不是例外;如果你試圖徹底消除這種常態,那麼你不但會失敗,還會讓事情變得更糟。

延伸閱讀

1. 《技術的本質》經典版 — 萊恩·亞瑟的經典作品。

2. 《複雜經濟學》- 布萊恩·亞瑟在本書中彙集了多年對複雜經濟學的研究。

3. 《多樣性紅利》- 廣受歡迎的“模型思維課”主講人斯科特·佩奇經典名作。

--

--

Vincent Chen-WS
Vincent Chen

喜歡閱讀科普、心理、網路治理、哲學宗教等書籍