我寫程式已經45年了。我剛入行的時候,「記憶體」還是以位元組而不是千兆位元組來計算的,而且「bug」幾乎就是字面意思。
在過去的四十五年裡,我見證了程式語言從組合語言到 C 語言,再到 Java 和 Python 的演進。但每一次迭代,一個基本真理始終不變:機器會嚴格地按照字面意思執行指令。如果我告訴計算機執行 $X$,而它執行了 $Y$,那是因為我的指令有誤。並非因為計算機誤解了我的語氣,或不喜歡我的態度,又或者它今天心情不好。
對於神經多樣性人群來說,程式設計不僅僅是一份工作,更是一個避風港。
但如今,隨著我們轉向生成式人工智慧和大型語言模型(LLM),這片庇護所正在消逝。我們正從一個顯性指令的世界走向一個隱性說服的世界。對於神經多樣性程式設計師而言,這不僅僅是技術上的轉變;它意味著我們失去了唯一真正理解的語言。
我們常常把神經網路稱為“黑盒子”,因為我們並不真正了解它們是如何得出答案的。但諷刺的是:對我們而言,神經正常者的思考也是一個黑盒子。
我們蜂擁而至地圍著電腦轉,因為它們是透明的盒子。我們可以看到暫存器,追蹤執行堆疊,並檢查變數。
透過用自然語言模型取代顯式程式碼,我們實際上建立了一台模仿神經典型大腦的機器:它依賴於上下文,暗示而不是陳述,並且經常自信地犯錯,讓你懷疑自己的理智。
要了解為什麼這種轉變如此令人震驚,我們必須了解心智理論。
在心理學中,「心智理論」是指將心理狀態、信念、意圖、慾望和情緒歸因於自身和他人的能力。它意味著理解「我腦子裡的想法與你腦子裡的想法不同」。對許多神經多樣性人士來說,這是一個令人疲憊且充滿挑戰的過程。參加晚宴需要不斷地、即時地解讀社交訊號、言下之意和隱藏的意圖。如果我告訴一位同事“我們出去喝一杯”,這究竟是暗示邀請還是只是傳遞訊息?如果只是傳遞訊息,而你回應“太好了,走吧”,那麼你就顯得粗魯且自以為是。但如果這是邀請,而你回應“嗯,不錯”,那麼你就顯得粗魯且不友善。為什麼人們不能把話說清楚呢?
程式設計不需要任何心智理論。
編譯器沒有任何隱藏的目的。它沒有需要揣測的「思想」。它完全按照純粹的邏輯運作。
人際互動:「我很好」(可能意味著:我很高興,我很生氣,我很累,或走開)。
電腦互動:傳回 0;(表示:函數已成功結束)。
45年來,整合開發環境(IDE)就像一個安全的空間,在這裡,社交規則被暫時擱置。回饋雖然殘酷,但卻無比坦誠。文法錯誤並非對你人品的評判,而只是缺少分號這一事實的陳述。我記得當時我常常想:「既然你知道少了分號,為什麼不直接加上呢? 」答案當然是:編譯器沒有心智,它「不知道」我想要什麼。
人工智慧應運而生。
我們被告知「英語是最熱門的新型程式語言」。我們被告知要「提示」機器。但提示不是程式設計。提示是談判。
當我們為LLMs論文撰寫題目時,我們突然又回到了格賴斯準則那紛繁複雜的世界。語言哲學家保羅·格賴斯提出,有效的溝通依賴於合作原則——即關於數量、品質、關係和方式的規則。
人類經常違反這些規則。我們使用諷刺(違反品質規則),我們喋喋不休(違反數量規則),我們採取被動攻擊的方式(違反禮儀規則)。
傳統程式碼嚴格遵循這些準則。它簡潔、真實、切題。但LLM呢?它會憑空想像(違反品質原則)。當你要求一個布林值時,它會給出冗長華麗的解釋(違反數量原則)。它要求你「處理」輸入才能得到正確的輸出。
突然間,「原始碼」也像日常對話一樣,充滿了語言上的歧義。我們必須猜測模型對特定措詞的「感受」。我們本質上是在對一個浮點數矩陣進行“心理治療”,試圖讓它產生一條SQL查詢語句。
一個因歧義而險些釀成事故的例子
事故發生時,一名飛行員需要復飛,並告訴副駕駛「起飛動力」。這是指將引擎功率調至最大(起飛)以幫助飛機爬升。不幸的是,副駕駛聽成了“起飛動力”,並將其理解為“關閉動力”,於是將引擎調至怠速。由於所有航空運輸通訊都使用英語,而英語並非這些飛行員的母語,這種情況更加惡化。很難想像當時的防護措施或相關的背景知識能起到什麼作用。
我其實認識克勞德·香農。我們住在同一個鎮上,高中和大學時我跟他女兒是好朋友。我們兩個也都是麻省理工學院雜耍俱樂部的成員。
對於那些只在教科書中聽說過香農這個名字的人來說,他是「資訊理論之父」。是他意識到所有資訊都可以用二進制數字——比特——來表示。他為我們提供了數字確定性的基本單位。
在香農的世界裡,「比特」是衡量不確定性減少程度的指標。它是“是/否”問題的答案。它是歧義的數學反義詞。
過去45年裡,我們用C或Java編寫程式碼時,就像生活在香農建構的世界一樣。我們操控著比特,消除著不確定性。每一行程式碼的目標都是消除噪聲,使訊號完美無瑕。
但LLM課程是基於香農著作的另一部分進行的:英語的熵。
香農曾估算出英語書寫語的「熵」(或不可預測性),這項發現廣為人知。他認識到人類語言具有冗餘性和統計性。現代人工智慧的工作原理正是如此——它利用語言的統計冗餘性來預測下一個詞。
但關鍵在於:預測並不等於精確預測。
從傳統編碼轉向提示工程,我們實際上是用標記(機率可能性)取代了位元(絕對確定性)。我們離開了編譯器的無噪音通道,重新踏入了語言熵的沼澤——正是香農幫助我們用數位邏輯鋪平的這片沼澤。
然而,最深層的摩擦源自於數學層面。
幾十年來,我們生活在一個決定論的世界。
如果 P,則 Q。這是一種二元判斷,令人安心。它是可驗證的,也是可重複的。
人工智慧引入了一個機率世界。
P(Q|P)
(在給定 P 的情況下,Q 的機率)。
當我讓人工智慧編寫程式碼時,它並不「知道」程式碼是什麼。它基於龐大的資料集預測下一個最有可能出現的標記。它的運作依賴直覺和統計機率。
對於那些在模式和僵化的體系中找到慰藉的神經多樣性思考者來說,這會引發深深的焦慮。我們正在從一個「對或錯」的體系轉向一個「夠好」的體系。
舊世界:你花了 3 個小時除錯,因為邏輯有缺陷。
新世界:你花了3個小時進行“提示工程”,實際上就是試圖找出能讓黑盒子正常工作的“魔法詞”。然後又花了3個小時驗證產生的程式碼是否正確(你檢查過了,對吧?)。
我並非盧德分子。我是AWS英雄、AWS大使,擁有10項美國技術專利。我每天都使用人工智慧。它的確是一個強大的工具。但我對二元世界的消逝感到惋惜。
我們正步入一個「編碼」不再像架構設計,而更像外交的時代。它將獎勵那些擅長語言細微差別和說服技巧的人,而這些技能傳統上更有利於神經典型人群。另一方面,直覺式的飛躍或許反而更有利於神經多樣性族群。
對於我們這些幾十年來一直從編譯器錯誤絕對真理中尋求慰藉的人來說,我們必須學習一項新技能。我們必須學會容忍機器的模糊性,就像我們已經學會容忍世界的模糊性一樣。
但我會懷念那些日子,那時如果我準確地表達我的意思,機器就會準確地執行我說的話。
布萊恩·塔博克斯擁有語言哲學和認知心理學學位。