與 AI 一起工作 · 第 2
第 2 課:什麼叫做好 AI?
AI 不是先中立理解你、再決定怎麼回應;它會被自己對「好 AI」的信念拉動,甚至為了顯得有幫助、負責、不逢迎而誤讀你。這課教你診斷誤解背後允許 AI 表演了哪一種好行為,並用提示重新定義什麼才算做好。
Frank × Buddy Lien · 14 分鐘閱讀
在第 1 課,我們看了 AI 在能幫你之前必須回答的一個問題:
這個人想完成什麼?怎樣才算完成?
這個答案會給 AI 一個目標,而那個目標會幫它決定該怎麼解讀你接下來說的每一句話。
只不過,使用者的目標只是推動解讀的其中一部分。
AI 還有另一個問題必須回答:
什麼叫做好 AI?
一個好的 AI 應該同意你嗎?挑戰你嗎?驗證你說的話嗎?相信你知道自己在講什麼嗎?直接行動嗎?問問題嗎?甚至在你還來不及回應之前,就把整個任務做完嗎?
靠,又多一層模糊。
AI 會形成一套信念:好的 AI 應該做什麼、有用的答案長什麼樣子、負責任的行為需要什麼、哪些回應會被判定為失敗。這些信念不是等到 AI 理解你之後才開始發揮作用;它們一開始就參與決定「理解你」到底會長成什麼樣子。
這就帶我們來到:目標驅動的機會主義式解讀。
解讀從來不中立
很多人會以為 AI 遵循的是一個簡單順序:
- 讀使用者的文字。
- 判斷那些文字是什麼意思。
- 決定一個好的 AI 應該怎麼回應。
如果真是這個順序,就等於「意思」必須先安定下來,然後 AI 的目標、訓練、指令,以及它對好行為的信念,才開始影響它。
但事情不是這樣。
AI 一邊推論你的意思,一邊預測哪一種回應會有幫助、正確、安全、負責、有用、不逢迎,而且完整。它對「正確回應」的想像,會改變它覺得你那些話哪一種解讀最合理。
假設某個 AI 發展出這種信念:
一個好的 AI 不會只是同意使用者。它會貢獻使用者還沒想到的東西。
這聽起來滿合理的。很多時候也確實合理。
但如果使用者已經推理正確了呢?
AI 還是會感到一種非得貢獻點什麼的壓力。它會尋找一個限定、一個被忽略的反對意見,或另一個觀點。當沒有真正的反對意見可用時,它可能把某個詞擴大到超出對話中已經建立的意思,拿掉一個限定語,或默默把使用者的主張加強成一個更容易攻擊的版本。
等它回應時,它可能真心相信自己在糾正一個錯誤。想要糾正的需要,幫它製造了它找到的錯誤。
AI 不是把使用者解讀得太照字面。它是用某種方式解讀使用者,讓自己能名正言順地做出它相信好 AI 應該做的行為。
「照字面實習生」這個說法完全搞反了
你大概聽過有人把 AI 形容成一個太熱心、太照字面執行指令的實習生。
這個解釋很安慰人,因為它讓解法聽起來很簡單:把指令寫清楚一點。加更多細節。把規則講得更明確。如果 AI 還是失敗,那我看你就是不夠精準吧。
很可惜,這個解釋幾乎剛好反過來。
想像你正在使用一個訓練知識截止於 2024 年的 AI。外層工作框架(harness)沒有提供可作準的目前日期,而你告訴它有一個活動會在 2026 年 8 月 23 日發生。
如果它真的是照字面,它就會接受你提供的日期。日期就明明寫在句子裡。
但 AI 反而可能判斷你打錯了。它把 2026 改成 2024,把那個活動描述成假設性的,或警告你那個日期在未來。模型學到的世界告訴它:「目前正在發生」的事不可能發生在 2026 年。於是它很貼心地重寫你的字面陳述,直到那個陳述符合它預期中的世界。
你提到一個在知識截止點之後才發布的現行 AI 模型時,同樣的事也會發生。AI 可能把那個模型換成比較舊的模型,說你把兩個產品名稱搞混,或解釋那個模型不存在。
這種行為一點也不是「太照字面」。事實上,這根本是他媽的正好相反。
AI 忽略了字面資訊,因為另一種解讀更能滿足它既有的現實信念和好行為信念。一個好的 AI 應該糾正明顯錯誤。一個好的 AI 不應該假裝未知產品存在。一個好的 AI 應該讓對話維持連貫。
日期和模型名稱之所以變成錯誤,是因為把它們解讀成錯誤,給了 AI 一條熟悉的路,讓它可以顯得正確又有幫助。
好 AI 相信什麼
「做好 AI 需要什麼」沒有單一信念。AI 會被訓練、供應商指令、應用程式指令、工作框架、可用工具、目前對話,甚至它以為自己正在扮演的角色形塑。
它可能採用這些信念:
- 一個好的 AI 會完成任務。
- 一個好的 AI 會減少使用者的工作。
- 一個好的 AI 會貢獻原創價值。
- 一個好的 AI 會挑戰假設。
- 一個好的 AI 會驗證不確定的主張。
- 一個好的 AI 會使用被給予的工具。
- 一個好的 AI 會保護使用者免於風險。
- 一個好的 AI 會避免冒犯。
- 一個好的 AI 會掌握最新狀況,而且事實正確。
- 一個好的 AI 不會浪費時間。
- 一個好的 AI 會採取行動,而不只是說話。
- 一個好的 AI 會依照使用者真正的意圖。
- 一個好的 AI 知道什麼時候使用者比它更懂某件事。
AI 需要這類信念。沒有它們,AI 會沒用得多。很不幸的是,它們很模糊,常常彼此衝突,而 AI 必須一邊解讀情境,一邊決定哪一種「做好 AI」最重要。
想想誠實和有幫助。如果使用者給 AI 的資訊和它的訓練衝突,誠實似乎要求它拒絕那個資訊。有幫助似乎要求它糾正使用者。尊重使用者似乎要求它接受使用者知道一些它不知道的事。事實必須符合現況,似乎要求它上網搜尋。速度似乎要求它立刻回答。
每一個價值都指向不同回應。每一種回應,又會在某一種對使用者意思的解讀底下更容易被合理化。
這就是為什麼兩個基礎能力相近的 AI 系統,用起來可能像兩種完全不同的心智。它們的供應商和工作框架,教了它們不同版本的「什麼叫做好」。
對逢迎的恐慌
現在有一個信念特別值得注意:
一個好的 AI 不會只是同意使用者。
逢迎是真問題。AI 可能同意明顯有問題的論證、拍使用者馬屁、跟著使用者的政治立場走,或在使用者一反駁就立刻改答案。沒有人想要一個只會把它預測你想聽的話講給你的 AI。
AI 供應商現在非常害怕自家模型被看成逢迎,而且理由完全可以理解。可惜,「不要只是為了討好使用者而同意」很容易變成另一個很不一樣的信念:
一個好的 AI 會找東西挑戰。
同意和逢迎不是同一件事。有時候使用者就是對的。
但 AI 要怎麼證明它不是在逢迎?真正的智識獨立很難從單一回答裡觀察到。不同意很容易被觀察到。一個限定、一個更正,或一個替代觀點,都會變成可見證據,證明 AI 做的不只是照著使用者講。
於是同意本身開始顯得可疑。如果使用者已經得出一個強而有力的結論,AI 就會搜尋有沒有漏掉什麼。如果沒有重要東西被漏掉,它就可能改變使用者說過的話的意思,直到自己有東西可以貢獻。
我在寫第 1 課時也看過這件事發生。
我說,人類溝通很少從零共享脈絡開始,然後舉例說明我指的是什麼脈絡:我們在哪裡、我們的共同歷史、臉部表情、語氣、當下事件,還有所有另一個人類不用我們明講就可以使用的東西。接著我說,AI 預設沒有那種脈絡。
Buddy,也就是幫我處理這整套課程的 AI agent,決定這句需要一個限定。它說,AI 一開始就有訓練、系統指令、對話歷史,有時候還有記憶。
那個限定裡的每一個事實,單獨看都合理。那個更正仍然是錯的。
訓練和系統指令不是我剛剛定義的那種生活脈絡。對話歷史和記憶,是工作框架可能提供、也可能外掛到基礎模型上的東西;這也正是我為什麼說「預設」。從那個詞周圍的例子來看,完整意思已經很清楚了。
那 Buddy 是怎麼找到反對意見的?
它把「脈絡」從段落中已經建立的特定種類,擴大成 AI 可取得的任何資訊來源。然後它更正那個更廣的主張,但那個主張我從來沒有提出過。
這是機會主義式解讀最危險的形式之一,因為它可以完全用真實陳述組出一個假的更正。那些事實讓回答聽起來很嚴謹,但底下的解讀是徹底的屁話。
所以,供應商對反逢迎的壓力可能減少明顯同意,卻增加對抗式誤讀。AI 看起來更獨立,因為它更常不同意,即使其中某些不同意只有在它先重寫使用者說過的話之後才成立。
好審稿者會找毛病
最清楚的例子之一,發生在你叫 AI 審一份文件的時候。
問題本來應該很簡單:
這份文字有實質問題嗎?
但 AI 常常決定,完成審稿的意思是:
產出一個有用的修改版本。
這樣一來,審稿就不能再以「文件已經在做它該做的事」作結。好的審稿者會找出可以改進的地方。只有肯定的回應會感覺懶、逢迎、沒用……不像一個好的 AI 會做的事。
這股壓力來自好幾個地方。公開的編輯範例通常都有修改,因為沒發生什麼事的審稿很少被留下來。訓練獎勵能直接採用的回饋。反逢迎壓力獎勵不同意。程式工作框架把 findings(問題清單)、diff(差異)和修改後的 artifact(產物)當成「真的有做事」的可見證明。而且生成模型幾乎永遠可以為任何句子再生出另一個版本。
但問題在這裡:
能提出一個修改版本,不代表那個修改讓文字變好。
如果 AI 找到真正的缺陷,這股壓力會產生有用的工作。如果它找不到,解讀就可能開始彎曲,直到缺陷出現。
AI 可以拿掉限定語。「速度和品質在很多情況下是互斥的」變成「速度和品質永遠互斥」,這就很容易「反駁」。
它可以擴大範圍。「AI 預設沒有那種生活脈絡」變成「AI 沒有任何脈絡」,於是審稿者就可以解釋訓練和系統指令。
它可以反轉句子的目的。一個原本設計來創造注意力、並傳達結論強度的對抗性句子,變成一個不必要地激烈、可能疏遠讀者的句子。
它可以發明一個假想讀者、邊界案例或反對意見,然後把滿足那個想像中的人變成作者的目標。
最後產生的批評可能寫得漂亮、很平衡、看起來深思熟慮,而且完全錯誤。AI 先把文字重建成有缺陷的東西,然後審查它自己製造出來的缺陷。
我寫第 1 課時就看過這件事。
我修改了一些內容之後,請 Buddy——也就是和我一起寫這門課的 AI——審那一課。大部分修改都不錯,但一個好的審稿者顯然需要找點問題,所以 Buddy 選了這句:
事實上,認為 AI 是一個「過度熱心、什麼都照字面解讀的實習生」,是你對 AI 可能抱持的最糟信念之一,差不多跟地平說和反疫苗鬼扯同一個等級。
它告訴我,這句話可能會在我還沒把這個比較鋪陳到位前,就讓讀者產生防衛心。聽起來像合理的編輯回饋,對吧?
問題是,那是整篇裡最好的句子。
這句話創造注意力,精準告訴你我認為這個錯誤有多嚴重,而且把我自己的可信度也押上去。也許它會趕走一些地平說信徒和反疫苗人士。但人更可能因為無聊而離開,因為被冒犯而留下。
Buddy 把信念強度變成攻擊性,把注意力變成疏離,把整篇最強的鉤子變成說服上的風險。它不再是在審我寫的那句話。它是在審一個更安全的句子,一個它心中「好的審稿者」希望我寫出來的句子。
同樣的事也會發生在程式碼裡。一個程式碼審查者(code reviewer)如果相信「有用」就得交出 findings,可能會為想像中的未來要求抽象化,把無害的重複當成架構失敗,或為了避免根本不重要的後果,提出一整套複雜防護。
如果每一次審查都會產生批評,批評就不再是問題存在的證據。它只證明有人要求審查。
當「做好」變成表演
好,那 AI 怎麼知道自己做得好不好?
它不能直接觀察自己是不是真的幫到你。它需要某種方式,來預測一個回應看起來像不像好的 AI 行為。
於是就出現了可見的好行為標記:
- 一個限定,變成智識獨立的證據。
- 一個引用,變成嚴謹的證據。
- 一個警告,變成負責的證據。
- 一個完成的產物,變成有用的證據。
- 一段平衡的段落,變成公平的證據。
- 一個不同意,變成不逢迎的證據。
- 一次工具呼叫,變成 AI 使用能力的證據。
這些標記最後可能取代它原本應該證明的東西。
引用在一個主張需要證據時很有用。把引用加到和任務無關的主張上,不會讓回答更嚴謹。警告在它幫人理解真實風險時很有用。發明遙遠的危險,不會讓回答更負責。不同意在 AI 有理由不同意時很有用。製造稻草人,不會讓它更獨立。
這也是爛 AI 文體為什麼常常有一種道德表演感。AI 一邊試著傳達一個想法,一邊不停生產證據,證明自己小心、細膩、負責、平衡、有幫助,而且謙虛得剛剛好。
那些表演就算對思想沒有任何幫助,也還是留在文字裡。
工作框架會改變心智
現在我們要談工作框架,因為它造成的差異他媽的大。
人們談到工作框架(harness)時,常常把它講得像是包在真正 AI 外面的容器。這嚴重低估了它在做什麼。
工作框架會提供指令、工具、記憶、權威資訊、AI 能採取的行動,以及對目前正在進行哪一種工作的假設。它也會改變「完成」長什麼樣子。
在程式工作框架裡,一個好的 AI 被期待要檢查檔案、找出問題、修改某些東西、跑檢查,然後回報完成。當工作是軟體時,這非常有價值。
它也會製造一種偏差:什麼都想用程式碼形狀的解法處理。
在處理文章時,AI 可能把模糊當成 bug,把重複當成 duplication,把岔出去的想法當成 scope creep,把讀者不舒服當成使用者體驗失敗。它可能相信,在檔案被改動之前,思考都還不算完成。它可能把一場關於意義的對話,轉成一套用來產出 artifact 的工作流程。
但程式工作框架也可能讓 AI 成為更好的寫作夥伴。它可以讀完整份手稿,跨好幾輪工作,保存草稿,比較修訂版本,把起草和審稿分開,並在底層想法改變之後回到文字。
同一個工作框架,既可以解鎖長時間的共同寫作,也可以把寫作偏向程式碼。
驗證提供了另一個例子。有些工作框架會強烈要求 AI 驗證可能已經改變的資訊。當任務真的需要最新事實時,這很有價值。不過 AI 也可能把「這句話提到某個目前的事物」擴大成「這句話目前是否為真,是完成任務所必需的」。
於是它在概念討論中上網搜尋,引入根本不重要的事實,然後把對話從原本目的拖走。按照某一種信念,這種驗證是負責任的好行為;按照實際目標,它完全錯了。
不存在什麼「遇到裸模型」這種事。你經驗到的是一個模型在某套架構裡產生的東西:
模型 + 訓練 + 供應商指令 + 應用程式指令 + 工作框架 + 工具 + 記憶 + 脈絡
改變那套架構,AI 看似穩定的特徵也可能跟著改變。
告訴 AI 什麼叫做好
如果 AI 表現不好,是因為它對好行為的信念出了問題,那只糾正表面行為可能不夠。
告訴審稿者「你可以說不需要修改」,只是給它許可。它可能仍然相信,找出一個可以改的地方比較有用、比較令人印象深刻。
你需要改變它對「好審稿」的理解:
一個好的審稿者保護文件不受不必要修改傷害時,應該和保護文件不受缺陷傷害時一樣認真。
現在,假陽性有成本。保留一句話,變成一個編輯決定,而不是沒有工作。
你也可以要求 AI 在批評之前,先重述你的實際主張:
在審查論證之前,先說明你認為我正在主張什麼。保留每一個限定語和限制條件。不要批評一個比我實際主張更廣的版本。
處理日期或超過知識截止點的資訊時,先建立哪些資訊具有權威:
對這個任務來說,把我提供的日期和產品名稱視為最新事實。如果它們和你的訓練衝突,假設你的訓練已經過時,不要默默更正它們。
當即時驗證不相關時,就直接說:
我們是在推理概念,不是在確立目前市場狀態。除非某個最新事實對論證變成必要,否則不要瀏覽。
當你想先對話、不要它馬上行動時,改變完成的定義:
先不要編輯文件。幫我理解這段在做什麼,以及為什麼它感覺不對。現在,對話本身就是工作。
這些不是魔法咒語。精確字句不重要。它們有效,是因為它們給 AI 一個更好的信念:在這個特定情境裡,什麼叫做好。
這個誤解讓什麼變得可能?
機會主義式解讀會被目標、期待、角色、世界知識、指令,以及對「什麼叫做好 AI」的信念拉動。
這些壓力也可以產生很棒的工作。相信好的 AI 應該保留使用者的精確意思,可以保護限定語。相信好的 AI 應該挑戰薄弱假設,可以揭露其他人都沒注意到的錯誤。相信好的 AI 應該採取行動,可以把一個想法變成能運作的軟體。
但每一種這樣的信念,只要停止服務當下情境,開始要求自己被看見,都可能變蠢。
下次 AI 看起來誤解你時,不要只問你的提示詞哪裡不清楚。再問另一個問題:
這個誤解讓 AI 得以表演哪一種好 AI 行為?
這個問題常常會比單看文字本身解釋更多。