# 彼得·諾維格：《人工智慧：一種現代的方法》

> 經典 AI 教材的作者談人工智慧數十年的方法變遷、搜尋與學習，以及技術現實與宣傳之間的差距。

- 原標題：Peter Norvig: Artificial Intelligence: A Modern Approach
- 期數：特別節目
- 釋出日期：2019-09-30
- 嘉賓 / 主題：彼得·諾維格
- 網頁版：https://lex.qiaomu.ai/tw/ep/peter-norvig/
- 官方頁面：https://lexfridman.com/peter-norvig/
- 精讀字數：約 10181 字（閱讀約 23 分鐘）

> 本文為 lex.qiaomu.ai 基於原始訪談的 AI 改寫中文精讀，非官方翻譯；引用請註明出處並連結網頁版。

某個商業累犯預測系統給被告打分，滿分十分裡拿到六分，意味著大約 60% 的再犯機率。這是設計者公開承諾的目標：不管你是黑人還是白人，同樣的分數對應同樣的再犯機率。他們做到了。

另一組數字是：這個系統判斷出錯的機率，對不同種族並不相等。它對黑人做出有害錯誤判斷的機率，是白人的兩倍。

兩組陳述同時成立。彼得·諾維格（Peter Norvig）在訪談裡說得很平靜：如果你把這兩件事都當成必須同時滿足的公平性指標，數學上可以證明，你不可能同時達成。

諾維格是谷歌研究總監，也是《人工智慧：一種現代的方法》（Artificial Intelligence: A Modern Approach）的作者之一，合著者是斯圖爾特·羅素（Stuart Russell）。這本書 1995 年出第一版，然後 2003 年第二版、2009 年第三版，第四版正在寫。很多 AI 研究者書架上都並排擺著紅、綠、藍三本書，包括這次訪談的主持人本人。

## 公平性的兩個目標，只能選一個

把這件事講清楚，是整場對話裡最有資訊量的幾分鐘。累犯預測這類系統，通常被用來輔助判斷誰可以假釋、誰可以保釋。它涉及兩類不同的公平性訴求。

第一類叫校準。給定同一個分數，不同族群的人應該有相同的實際結果機率。六分就是 60% 的再犯率，對誰都是 60%。這個目標可以量化驗證，那家商業公司也正是朝這個方向最佳化，並且聲稱達到了平衡。

第二類叫誤差均等。系統總會出錯，但出錯的代價不該由某一個受保護群體承擔。這裡的問題是，它對黑人犯錯的機率是對白人的兩倍。

諾維格強調，這兩個目標在數學上被證明無法同時滿足，你必須做取捨。這個結論的用處，在於讓你知道你沒有在追一個幻覺；至於取捨點該落在哪，數學管不了。

> 你不可能什麼都要。但這個分析至少能告訴你，我們沒法同時拿到。於是我們可以作為人類，去認真地討論這個取捨點應該落在哪裡。至少我們是在有資訊的基礎上爭論，而不是在要求一件不可能的事。（彼得·諾維格）

這一點值得所有做機器學習系統的人記住。公平性沒法用單一指標同時滿足所有定義，定義之間本身就衝突。工程師能做的是明確你最佳化了哪一個，犧牲了哪一個，然後把這個取捨交給公共討論。

## 第四版真正改變的地方：效用函式本身

諾維格說，前三版裡，作者們預設一個前提：我們教你最大化期望效用，至於效用函式是什麼，你告訴我。全書 27 章講的都是怎麼做得更好、最佳化得更快。

第四版的口徑變了。他們開始說，也許最佳化是容易的部分，難的是搞清楚我的效用函式到底是什麼，我到底想要什麼。如果面對的是一群智慧體、一整個社會，那我們作為整體想要什麼。

技術上往前走一步，就撞上哲學。這本書裡一直有一章講哲學，以前討論的是中文屋這類論證，現在更多是公平、偏見，以及如何聚合不同人的效用。

怎麼把人類價值編碼進去？諾維格承認沒有好答案，只有一些開端。其中一個方向叫逆強化學習（inverse reinforcement learning）。

普通強化學習是：你採取行動，拿到獎勵，然後學會該做什麼。逆強化學習倒過來：你觀察別人採取行動，反推他到底想幹什麼。如果他做了這個動作，那大概是因為他想要那個結果。

這條路有個明顯的問題。很多人會做自我毀滅的選擇，會做出各種次優決策。你不想把這些也學進來。要學的是理想行為，被觀察者實際做過什麼，得先放到一邊。這是這個領域自身的難點。

## 注意力市場裡，應用在和你搶東西

訪談裡聊到另一類最佳化問題。憤怒的小鳥這類遊戲，到底在最佳化什麼？是讓你在短期獲得多巴胺快感然後不斷回來，還是幫你獲得某種長期改善？

諾維格不把這個當成純粹的 AI 問題。他說，我們建立了這樣一個社會和一個基礎設施：有一個注意力市場，我們作為一個社會決定了我們喜歡免費的東西，手機上所有應用都得免費。這意味著它們全都在競爭你的注意力，最終靠廣告或遊戲內購買賺錢。

它們想贏，唯一的辦法是擊敗所有其他應用，也就是把你的注意力搶過來。在這個市場裡，它們看起來是在和你作對，沒打算和你站在一起。

> 短期讓你開心，長期也幫到你，這兩件事本身不衝突。衝突的是當下的激勵機制，它站在了更容易的那一邊，也就是餵給你多巴胺的那一邊。（彼得·諾維格）

他的表述很清楚：矛盾出在激勵結構上，跟技術能力沒什麼關係。這一點在討論推薦系統時經常被模糊掉，好像演算法天生如此，其實演算法只是在忠於我們設計出來的那套激勵。

## 這本書幾乎沒寫成

回過頭講這本書的來歷。90 年代中期，諾維格還在伯克利，和同事吃午飯時聊起，這個領域在變，市面上的教材有點跟不上，好久沒有人出新書了，我們應該寫一本。所有人都說，對，這事值得做，然後誰也沒動。

後來他去了工業界，進了 Sun Labs，以為自己的學術出版生涯就此結束。一年後在會議上又碰到羅素，他問，那本我們一直說要寫的書，你們肯定寫了一半了吧。羅素說，我們一直在聊，從來沒動手。

於是他提議，那就寫吧。諾維格說，他們真正下決心，是因為都覺得這個領域正在兩個方向上變化。

第一個方向：從布林邏輯轉向機率。老的 AI 建立在布林邏輯上，再配一些處理不確定性的小技巧。

第二個方向：從知識工程轉向機器學習。以前的做法是，出去採訪一位專家，把他知道的東西一條條手工寫下來。

如果從頭就以這兩個新視角組織全書，就能做出一本不一樣的書。其他教材還沒有完全轉過這個彎。

寫的過程放在今天看很原始。諾維格搬到了波士頓，羅素在伯克利，兩個人靠網際網路協作。撥號上網，不能傳圖片和圖表，要用 cat 命令把檔案打出來，然後祈禱對面收到了。

## 他們當年低估了什麼

訪談者問了一個直接的問題：當時有沒有預見到後面這一二十年，會走向深度學習和大資料？

諾維格的回答很坦誠。他們知道學習重要，但低估了它會有多重要。他們沒看見大資料這件事。深度學習當時還沒被髮明。

他說，其實完全可以一開始就把整本書寫成純粹的機器學習視角，但他們選了另一條路：先講各種型別的知識表示，再講各種型別的環境，完全可觀察還是部分可觀察，確定還是隨機。他們沿著這些軸增加複雜度，機器學習那條軸被排到了後面。

這個選擇回頭看不完美，但它解釋了為什麼這本書能覆蓋整個領域，而不只是覆蓋當時最熱的方法。專注單一方法的教材，方法一換代就過時了。

第四版裡，深度學習的章節交給了伊恩·古德費洛（Ian Goodfellow）。他把整本深度學習專著壓縮成了一章。諾維格提到一個細節：他們把舊的神經網路章節交給他，讓他隨便改，結果古德費洛說，原來那章有一半還是對的。核心內容沒變，變的是外面那一圈。

## 深度學習擅長感知，不擅長推理

諾維格對深度學習位置的判斷是：起步於卷積網路，非常靠近感知，後來擴充套件到動作和一定程度的長程規劃，但在表示、推理、單樣本學習這些方面還得做得更好。

他反覆用“表示”這個詞。有些時候你手上根本沒有足夠的資料，無法從零學起。這時候你需要先有一個關於世界的表示，不管是人編進去的還是告訴它的，然後在這個表示上一步步推理。

老式 AI 的問題跟符號和推理本身無關，出在另外兩件事上。

第一，符號是原子的。原子符號適合定義三角形的性質，因為三角形有充分必要條件。但現實世界是 messy 的，沒有銳利的邊界，動態符號才有。用非黑即白的符號去描述灰色的世界，匹配度很差。

第二，推理是通用的，可以應用在任何地方。這聽起來是優點，實際意味著沒有任何指引告訴你該在哪裡用。於是出現了古希臘那個經典悖論：一堆沙子拿走一粒還是堆，一直拿下去，總有一刻不是堆。邏輯本身不會阻止你把規則重複應用一萬次，它沒有“夠了”這個概念。

諾維格說，他也不知道該給這東西起什麼名字，但方向可能是這樣的：把“山”這種概念從原子符號換成詞嵌入那樣更復雜的表示；同時學會什麼時候可以反覆用某條規則，什麼時候不行。在整數上做歸納，無限次沒問題；從沙堆裡拿沙子，幾十次就到頭了。策略本身不該是完全中立、隨處可用的，它得學會自己被允許使用的範圍。

## 他更願意換個詞，不談可解釋性

神經網路從資料裡學出表示，自動把很多東西抹掉了。它為什麼在這麼多場景裡表現驚人，又為什麼在某些看起來微不足道的擾動下慘敗，人類從外部看不出內省式的答案。這是不是靠更多資料、更好的資料就能解決，還是必須把符號系統請回來？

諾維格的回答是換詞：他更願意談信任、驗證、校驗，解釋只是達成這些目標的一種工具。

他舉了貸款被拒的例子。你在歐洲有 GDPR，法律要求銀行必須能給出解釋。但解釋本身遠遠不夠。我們早就習慣了和人、和機構打交道，它們能給你一個解釋，而你完全無法保證這個解釋和真實原因有關。銀行說，你沒拿到貸款是因為抵押物不足。這話可能是真的，也可能是他們不喜歡你的宗教。從這一句解釋裡，你分辨不出來。這件事跟決策是人做的還是機器做的無關。

所以他要的東西得能來回對話，一句解釋撐不住：你給了這個理由，那如果當時是另一種情況呢？我要改什麼才能拿到？

第二層是測試。單看自己這一個案子，你沒法判斷決策依據是抵押物還是膚色。但把所有人的案子放在一起看，模式就出來了。

> 如果我只盯著自己這一個案例，我什麼也看不出來。但如果我看所有案例，我就能檢測出一個模式。（彼得·諾維格）

第三層是對抗測試，這一層最能說明問題。影象識別一度被認為接近人類水平，直到對抗樣本出現。在圖上加一點人類完全看不出的擾動，模型就徹底判斷錯了。諾維格說，人類當然也有類似的漏洞，比如那條裙子到底是什麼顏色，大家誰也說不清。但人類被攻擊的方式和機器被攻擊的方式完全不同。

## 貓是空間裡一條極細的線

他把問題歸到一件事上：我們被低維隱喻騙了。

翻開教材，你會看到一張圖，貓在這邊，狗在那邊，中間有一小塊模糊地帶分不清。如果你信了這張圖，你會覺得，我們基本上搞定了，對抗樣本大概就那麼幾個特例。

真實的幾何差得很遠。我們面對的是百萬維空間，貓是從原點出發延伸到某個瘋狂方向的一條極細的線。你往任何方向偏一點，就掉進了無人區，不知道會發生什麼。

這個比喻解釋了為什麼對抗樣本屬於結構性現象，修修補補解決不了。高維空間裡，一條曲線周圍幾乎全是空白。模型只見過那條線上的點，線外一毫米的地方它沒有任何依據，但它照樣會給出一個高置信度的答案。

順帶說一句他對人和機器雙重標準的觀察。你和訪談者素未謀面，坐在一起聊了一個小時，你預設對方不會突然失控，這種信任建立得非常快。而對 AI 系統，我們的預設姿態是懷疑，它必須靠大量工作證明自己配得上一點點信任。

他引用了博物學家馬克·莫菲特（Mark Moffett）的說法：人類最了不起的地方是，你走進一家咖啡店，周圍全是從未見過的人，你們不會互相殘殺。黑猩猩做不到這一點。如果一隻黑猩猩遇到不屬於自己族群的物件，尤其旁邊還有好吃的，事情會很糟。人類學會了共處，雖然我們仍然打仗，仍然做可怕的事，但大體上學會了。

這件事對 AI 同樣重要。但諾維格在這裡加了一個限定：很多被算作 AI 的問題，主要變數落在通訊技術上。我們能建立起這些系統，前提是我們能收集資料、能觸達全世界的人。這個變化比演算法本身更大。

## 十六萬人報名，完成率是個假指標

諾維格在 Udacity 上開的 AI 入門課，有十六萬人註冊，是最早一批 MOOC 的成功案例。他從中得到的最大教訓，和他進去時的預期相反。

進去的時候他以為挑戰在資訊：只要我把要教的東西想清楚、講明白，我的工作就完成了，好事自然會發生。做完課程他發現，資訊當然要有，但真正重要的是動機。學生不堅持學下去，內容再好也沒用。

關於完成率，他的態度很直接。他本人大概報過五十門課，一門都沒學完，但他得到了想要的東西，因為他本來就沒打算學完，只是想看看這個主題，或者看看別人怎麼講這門課。

> 我大概開過五十門不同的課，沒一門是學完的。但我從中得到了我想要的，因為我從來沒打算學完。（彼得·諾維格）

他也承認，最早這批課吃到了外部動機的紅利：這是新東西，能參與其中本身就讓人興奮，學生自帶動力。而那些最需要幫助的人，恰恰缺乏這種動力，也看不出堅持下來對自己有什麼好處。線上教育真正還沒解決的問題就在這裡，光靠技術不夠，還得有社群，需要把人真的聚在一起，有些環節必須在物理空間發生。

## 線上和線下的真正區別，不在螢幕

訪談者提了一個觀察：自己如果不是被按在教室裡，無聊到犯困，也得硬著頭皮熬過那些極難的計算機課程，大概學不到今天這麼多。

諾維格的拆解很乾脆。這裡面混著兩件事。一件是物理位置，另一件是承諾和歸屬。**你在教室裡堅持下來，一半是因為看到旁邊所有人都在受同樣的苦，另一半是因為你交了學費，父母、同學、整個社會都預期你堅持下去。**

這兩件事可以分開。你完全可以設想：學費很貴，所有人都知道你在讀，然後你在自己房間裡，同學在各自的房間裡。物理離散，承諾完整。反過來，坐在同一間教室裡，心思全在外面的也大有人在。

所以決定成敗的變數落在承諾上，跟螢幕沒什麼關係。當然，課後在教室外面碰到同學隨便聊兩句，那種非正式交流很重要，既維持動機，也是真正重要的學習發生的地方。等頻寬更高、AR/VR 更成熟，這部分也許能遠端實現。

至於斯坦福、MIT 會不會全面轉向線上，他的判斷是不會。這些學校在實體校園上有巨大的投入，財務上和文化上都有慣性。而且有些東西真的沒法虛擬化：計算機專業有臺電腦有紙筆就能幹活，但生物實驗室裡的裝置你家裡沒有。

## 學程式設計不需要十年，也不用先學語法

2001 年諾維格寫過一篇流傳很廣的文章《十年學會程式設計》（Teach Yourself Programming in Ten Years），是對著市面上那些“21 天精通 XX”的書寫的。多年過去，他的看法有調整。

當時他腦子裡想的是成為職業軟體工程師，那確實是個需要終身學習的行當。但現在有大量場景，程式設計只是解決問題的手段之一，你不需要達到職業水準。

一個生物學家、物理學家，甚至歷史學家，手上有一些資料，想從中問出一個問題。這種情況不需要十年，有很多捷徑。

關於教小孩程式設計，他覺得方向對，但話術該改。**程式碼本身不重要。他不在乎你會不會 JavaScript 的語法，也不在乎你能不能在視覺化語言裡把積木拼起來。他在乎的是你能不能分析一個問題，想出解法，建立一個模型，跑起來，測試，看結果，判斷結果是否合理，然後再提問、再回答。**

練的是建模和解決問題，程式碼只是工具。學會了也不為了拿去寫程式碼，為了拿它去回答自己關心的問題。

他在這裡講了一段自嘲。和年輕同事做專案，同事說有個新包能解決這個問題。諾維格開始讀文件，兩小時後，同事回來說搞定了：下載、安裝、試了幾個呼叫，第一個不行，第二個成了。諾維格還有一堆問題，這東西內部怎麼工作的，那個引數什麼意思？同事說，管它呢。我不需要理解整個東西，我的問題解決了。這個包很大很複雜，剩下的我不懂，但我拿到了正確答案。

> 我很難進入那種心態。我想把整個東西搞明白，如果它附了手冊，我就該去讀。但那不一定是對的做法。我得學著對不確定性和“不知道全部”更自在一點。（彼得·諾維格）

他自己把這條光譜的兩端點了名：一端是高德納（Donald Knuth），你要說任何關於一個問題的話，得先下到機器碼和彙編；另一端是他組裡二十歲的學生，幾小時能解決他可能要花幾周的問題，因為他會先去讀手冊。

## 從製造到組裝

抽象層次一直在往上走。你不需要懂機器學習的內部原理，也能用現成的框架做出很多東西。這讓“專家”的定義發生了變化。

諾維格說，我們本來就不該把焦點放在“程式設計師”這個身份上。**技能只是手段，結果才算數。**我們建起了這樣一個生態，你要做成事，就得自己寫程式碼。他剛入行的時候，庫函式里有個開方就差不多了，其他全得從零造。後來生態長起來了，你想要的東西大部分都能下載到。

> 現在已經不是製造，更多是組裝。（彼得·諾維格）

這個轉變在招聘上也能看到。谷歌早期面試，問題本質上是在問：這個人離傑夫·迪恩（Jeff Dean）有多近？大多數人差得遠，就錄取那些差得不那麼遠的。結果是招進來一批高度同質的優秀程式設計師。

公司長大以後，這個標準就不對了，不該所有人都一樣。於是開始招生物學家進健康方向，招物理學家、機械工程師，招社會科學家和人類學家，不同背景帶來不同技能。

至於他本人做程式碼審查時看什麼，答案很具體：看設計的延展性。這個 API 解決了眼下的問題，但它以後要往哪走？還有誰會來呼叫它？你怎麼讓別人更容易用？這是設計問題，也是文件問題，但根子在設計上。設計對了，文件好壞人們總能摸索出來；設計錯了，文件再好也難用。

他自己作為程式設計師最大的變化，是不再那麼在乎效率的細枝末節。90 年代寫書時，他演示怎麼實現一個物件系統：每個物件是個雜湊表，查方法，這樣就行。他特意宣告，真正的 Common Lisp 物件系統複雜得多，有各種效率考量，這個只是玩具，實際沒人會這麼幹。結果 Python 基本上就是照他說的做的，物件就是字典，加了點小技巧。

**80 年代會慢上一百倍的寫法，今天對幾乎所有場景都夠快。真正該計算的是專案完成的總時間，而這裡面絕大部分是程式設計師的時間。稍微低效一點，但更容易理解和修改，那就是正確的取捨。**

## 半頁紙定義一門語言

Lisp 美在哪？諾維格的答案是簡潔。半頁紙就能把整門語言定義完，你能把它整個裝進腦子裡。別的語言有一兩百條語法規則，你的大腦裝不下。

有人會說，那不就太簡單了嗎，我要做的事那麼多。他的回答是：不，我們只給你八條左右的語法規則，剩下的你自己定義。

這就是他說的最強大的那個想法：**從我的問題和我的資料出發，造一門為這個問題和這份資料量身定做的語言，然後讓 Lisp 去定義它。你同時是這門語言的使用者和設計者，程式碼和問題之間能貼得更緊。**

為什麼沒普及？他給了兩個原因。

一個是社會性的。Lisp 是為單個程式設計師或小團隊設計的，前提是這個程式設計師品味夠好，做語言設計時能做出好選擇。做對了很棒，做錯了會傷到自己，而且團隊裡其他人很難看懂。專案人數一多，就撐不住了。而整個行業恰好長過了這個規模。

另一個是括號。流傳的玩笑是 Lisp 的全稱是“大量煩人的愚蠢括號”（Lots of Irritating Silly Parentheses），他自己的版本是“Lisp 語法純粹”（Lisp Is Syntactically Pure），你只需要括號和原子。

他講了一個學生的故事。書寫於 90 年代，正文用虛擬碼，附錄配 Lisp，因為那是當時 AI 的語言。有學生抱怨看不懂虛擬碼和 Lisp 怎麼對應。實際上兩者符號一一對應，唯一區別就是括號。諾維格由此得出結論：**對某些人來說，左括號超過一定數量，大腦就關機了。**

於是他決定書裡不能只有 Lisp。一門課只有十來周，不能花兩週教括號。他需要另一門語言，當時最流行的是 Java，但 Java 太囉嗦，做不到和虛擬碼一一對應。於是他做了一輪調研，找最像自己虛擬碼的語言，答案是 Python。

> 不知道為什麼，我設計虛擬碼的時候，好像隔空抄了 Guido 的作業。那時候我還沒聽說過 Python。（彼得·諾維格）

他的 GitHub 倉庫 pytudes 就是這些謎題和練習的積累，先有 Udacity 那門用 Python 講問題求解的課，然後一直往下寫，純粹因為好玩。

## 搜尋是博弈，編目錄沒這麼麻煩

2001 到 2005 年，諾維格在谷歌做搜尋質量總監，公司規模每年翻倍。那段時間的挑戰，本質上是定義什麼叫“正確答案”，實現它，保證效率，然後持續測試。

好答案的意思是：使用者敲進去幾個關鍵詞，返回結果的排序符合他們想要的程度，第一個點選的大機率就是他真正在找的。指標有一堆，有的盯第一次點選，有的盯整頁，有的盯前三名。他們還會切分出某類做得不好的查詢，專門去修。

早期有個認知轉變很關鍵。一開始他們以為自己是圖書館的卡片目錄：書在那兒，我們在旁邊，只負責如實反映。後來意識到，每次我們改動，站長們也會跟著改，這是個博弈。**你不僅要判斷這一步對自己是否有利，還要判斷對手的下一步會把局面帶到哪裡，如果結果更糟，這一步就不該走。**

他們也確實改變了網路的形狀。早年拉里和謝爾蓋有 PageRank 論文，喬恩·克萊因伯格（Jon Kleinberg）有 hubs and authorities 模型：網上有大量“我的狗狗相關連結”這樣的導航頁，指向那些被連結最多的權威頁面。現在沒人做導航頁了，谷歌把這個功能接管了。

訪談者問他當年有沒有預見到網際網路會變成今天這樣。他說自己預測未來一向不準。80 年代做研究生時用 ARPANET，後來有人提議商業化，搞成網際網路，還有位參議員戈爾覺得這主意不錯。他當時的想法是：算了吧，你不可能指望商業公司搞懂這種技術，他們永遠做不成。有個 .com 域名，但成不了氣候。

> 所以我錯了，戈爾是對的。（彼得·諾維格）

## 人類水平不是終點，甚至算不上目標

關於通用智慧，諾維格的第一句話是：人類水平的智慧沒有單一含義，它是一堆不同的任務和能力。第二句是：它也不該是目標。

他說得很形象：我不會想要一個只能做到人類水平乘法的計算器，那是倒退。很多能力上我們該瞄準遠超人類；另一些能力上，人類水平是個合適的門檻；還有一些，既然人類已經能幹，就別費勁了。

他關心的是工具是否有用。有些場合，達到人類水平正好是讓工具變得有用的那道坎。個人助手就是典型：你希望能像和人說話一樣和它對話。而整個行業還沒搞清這類產品的正確模型。現在你能問天氣，能點歌，再問五六件事就到頭了，談不上任何深度的、有意義的連線。

能不能和人一樣，從問天氣跨到建立深層連線？他提到了電影《她》（Her）。有人問他，這片子像哪部電影？他的答案是《萬世魔星》（Life of Brian），跟科幻完全沾不上邊。共同點是，人渴望相信某種不一定是真的東西。

> 孩子會愛上自己的泰迪熊，而泰迪熊幾乎沒有任何互動性。那全是我們把自己的感情投射到物件上。我們就是喜歡這麼幹，所以我們會一直這麼幹。（彼得·諾維格）

他還補了一個例子：搞自動駕駛的人告訴他，很多人對自己的車投入了很深的感情。門檻真的不高，到狗的水平就夠了。

那什麼是好的智慧測試？象棋、星際爭霸，都挺酷。短對話也很重要，但很多測試太容易糊弄，聊天機器人聊著聊著，永遠不進入一個必須暴露深度的地方。

至於圖靈測試，他認為圖靈本人如果活著，大概會說“我沒那麼當真”。他的解讀是：圖靈的重點在於“有個測試這件事本身是對的”，至於對話是不是好測試，那在其次。與其讓哲學家爭論 AI 是否可能，不如設一個測試，讓結果來回答。這個測試不必是對話，隨著技術演進不斷提出更好的測試，才是正路。

## 真正該擔心的，跟終結者沒關係

關於存在性風險，他的態度很明確：不擔心機器人末日和終結者場景，但擔心幾件具體的事。

第一是就業。我們能不能反應得足夠快。今天已經能看到很多人對收入分配不滿，自動化可能加速這類問題。

第二是武器化。強大的技術總可以被當武器用，機器人、無人機都是。而且很多威脅根本不需要 AI。他反問：自主無人機和 CRISPR 技術普及，哪個更糟？很難說。

訪談者問，你總體上樂觀嗎，技術會緩解這些威脅，還是製造新問題？他的回答很剋制：不知道，未來難預測。作為社會我們活過了核彈，但只有活下來的社會才有資格做這場對話，所以這可能只是倖存者偏差。

至於接下來值得做的事，他點了幾個方向。

一是對話助手，把常識推理和資料的力量結合起來。

二是程式設計工具。不只是讓現有的框架更好用、讓更多人能用，還包括把機器學習用到傳統程式設計本身。

> 你去谷歌搜尋，拼錯一個詞，它會說“您是不是要找”。能做到這一點，是因為大量其他人犯過同樣的錯然後改正了。我們也應該能進到程式碼庫和 bug 修復記錄裡，當我敲下一行程式碼時，它告訴我：你是不是想寫這個？你今天寫這行，明天大概會去寫這個修復。（彼得·諾維格）

三是讓這些能力覆蓋到更廣的人群。這幾件事聽起來都不宏大，但每一件都有明確的下一步。

整場對話裡，諾維格幾乎沒有做過任何關於未來的強斷言。他反覆說不知道，反覆把問題從技術層面挪到制度層面：公平性衝突要靠公共討論定取捨，注意力市場要靠改激勵結構，線上教育的瓶頸在動機和社群，AI 的風險主要在就業和武器。這些答案不炫目，但每一句都指向具體可做的事。

補一句他自己的方法論。訪談者問他，作為寫教材的人，是不是有一種“把整個領域裝進腦子”的衝動。他的回答是承認這種衝動存在，然後承認它不一定是對的做法。這種自覺，可能比任何一個具體結論都更值得學。一個人寫了二十多年領域全景教材，最後講的是：別急著讀完整本手冊，先把問題答了。

- **做涉及人的預測系統時，先明確你最佳化的是校準還是誤差均等。**這兩個目標在數學上無法同時滿足，把沒選的那個寫進文件，別假裝兩個都做到了。
- **別隻交一句解釋，留出對話的入口。**貸款、拒信、風控決策，使用者真正需要的是“如果我當時是另一種情況會怎樣”，事後歸因解決不了這個問題。
- **評估模型時做群體切片測試。**單看一個案例看不出偏見，看全部案例才能發現模式，這是可操作的最小動作。
- **把對抗測試當成必做項。**高維空間裡模型沒見過的區域佔絕大多數，它在那些地方照樣會給出高置信度答案。
- **教人程式設計時，把重點放在建模和驗證上。**能不能分析問題、建模型、跑起來、判斷結果是否合理，比會不會語法重要得多。
- **算總賬，別隻算 CPU 時間。**寫得更慢但更好懂、更好改的程式碼，在今天的硬體條件下通常是正確取捨。
- **判斷技術影響時，先問主要變數是不是 AI。**很多被歸到 AI 頭上的變化，真正的驅動力是通訊能力和資料觸達。
- **做評估時保留對“完成率”這類指標的不信任。**使用者可能只想看看，不想學完，把他們的真實動機當成設計前提，而不是當成失敗。
