跟 AI 協作寫專欄大半年,這句話總是揮之不去
「不是……而是……」,大概是最容易被認出來的 AI 句型。隨便打開一篇疑似 AI 寫的稿子,十有八九能找到它的變體。張Sir大半年前開始用 AI 協作寫專欄,第一批稿子幾乎每段都有這個句型。一路加規則、加禁用詞清單,AI 味確實淡了不少,它卻換了幾種說法繼續出現。有個朋友讀出了規律,開玩笑說,只要看到先肯定、再轉折的句子,他就知道是 AI 寫的,懶得往下看。
這條句式早就寫進我的AI味禁用清單,提醒也重複了不止一次。清單管用的話,它理應絕跡,結果只是換個樣子又冒出來——「這個方向沒有錯,只是……」「出發點是好的,但是……」,跟「不是……而是……」骨架不同,家族相同:先擺一個說法,再用另一個說法換掉或推翻,都是靠對照或否定往下推進。
一整個家族的毛病,一條規則管不住。要弄清楚為甚麼,得往下鑽一層,看看 AI 到底怎樣生成一句話。
AI 每次只往下接一個字詞
生成式 AI 背後的大語言模型(LLM),靠一套叫「自回歸生成」的機制寫東西。它根據前面已經出現的文字,算出下一個候選字詞的機率分佈,再從中挑一個接下去。技術上,這個字詞單位叫 token,可能是一個字、一個詞的一部分,也可能是標點。為了方便理解,下面姑且稱作「字詞」。
挑法可以調整。有時直接選機率最高的,有時按機率抽樣,所以同一句話重新生成一次,字詞未必相同。不過,基本動作沒有變:挑完一個,把它連同前文再送進模型,計算下一個;下一個出來,再算下一個,一路寫到句子結束。
拿一句最基本的話走一遍,便看得更清楚。要它寫一句以「今天」開頭的話,接下來大概率會談「天氣」,很少突然跳到「香蕉」,因為在這個語境下,前者的機率高得多。寫到「今天天氣」,下一步很可能出現「很好」「不錯」「有點悶」這類詞,不會無緣無故轉去「發射衛星」。每一步都看着前面已經寫出的字詞,從機率分佈裡再挑一個。
這個例子當然簡化了實際運算,但有一點很重要:模型眼前最直接的路,往往是過去文字中走過很多次的路。前文一旦把方向帶到某個位置,後面的候選字詞也會跟着改變。
同一套機制,也可能把它帶回「先肯定、再轉折」這條老路。要它評一份會議紀要,普通寫法可能直接指出漏了甚麼;一旦要求「講得深入一點」,它可能先寫「這份紀要」。前文有「深入」這個要求,「記錄得」「寫得」這類評價詞便可能更容易出現,句子於是走到「這份紀要記錄得算清楚」。肯定鋪好了,後面也容易接上「問題是」「不過」「真正欠缺的是」。
最後出來的,便可能是:「這份紀要記錄得算清楚,問題是,它沒有交代誰負責跟進。」讀者看到的是完整句式;模型輸出時,字詞仍是一個接一個落下。這段示範只用來說明前文怎樣影響後面的選擇,並非模型後台的逐字實錄,也不能證明它事前完全沒有佈局。無論內部有沒有局部計劃,輸出仍按字詞順序生成。
這條路徑的一個來源,很可能是語料中常見的搭配;模型的後期訓練也可能把它進一步強化。許多模型在訓練後期會加入人類偏好資料;周全、有分寸、兼顧正反的答案,通常較容易得到肯定,模型因而可能更傾向採用先肯定、再轉折的寫法。這是一個合理推測,目前還不能當成已被單獨驗證的直接成因。
禁掉「問題是」只能避開一個詞,改不了整體偏好。它換成「不過」「然而」「真正關鍵在於」,一樣可以走完整個結構。語料中的常見搭配,加上後期訓練可能帶來的偏好,兩股力量很可能疊在一起。即使生成時帶有隨機性,這種句式仍會反覆出現。
模型也並非完全沒有提前佈局。Lindsey 等人(2025)研究 Claude 3.5 Haiku 的內部運算時,發現它寫押韻詩句之前,可能已在準備句尾的候選押韻字。這些候選字還會反過來影響整句怎樣鋪排;研究人員改動相關內部特徵後,模型甚至會重組句子,走向另一個句尾。
這項發現提醒我們,「模型只會想到一個字才算下一個」說得太死。它可以做局部預先佈局,但這跟人先形成一個較完整的意思,再挑詞落筆,仍有差別。研究觀察到的是特定模型、特定任務下的內部路徑,也不能直接推成所有模型、所有寫作都會如此。
另一個差別,是模型在同一次生成裡只能往前走,已經輸出的字詞不能回頭撤銷。有人會問,叫它重寫一遍,不就等於回頭改了嗎?重寫仍是把原文和新指令當成前文,從頭再算一遍。人改稿則會停在某一句,對照前後意思,換一個詞、挪一個位置,再回頭看整段是否成立。兩個過程看起來都產生了新版本,走法並不相同。
禁用詞清單再詳細,也補不上這個差距。它可以改變下一個字詞的機率,卻沒有替模型加上一位會停筆、回看、猶豫和取捨的編輯。
叫它自查,其實是再寫一次
模型缺少這種人類式的預先構思和回看修訂。叫它檢查一遍剛寫的東西,指令連同原文會一起變成新的前文,它再接着往下算,生成一段評語。這跟人回頭核對「我剛才為甚麼這樣寫」,是兩件事。
舉個更貼近日常的例子。兩公婆吵完架,誰都不先開口,各自滑手機,晚飯也沒吃。這是人會寫的句子。AI 常常會把它改成:「兩人的沉默,映照的是彼此在情緒表達上的落差。」
叫它檢查「映照」這句順不順,它會怎樣做?它會把原文、檢查指令和前後語境一起重新處理,再生成一段評語。模型可能從語義、上下文關係和過往見過的寫法中,判斷「映照」過於書面,或者「情緒表達上的落差」離生活太遠。類似句子曾經怎樣被批評和改寫,也會成為判斷線索,但不等於它只看句子的表面長相。
這個判斷多數時候是準的。準確的來源,包括模型對語義和上下文的內部表徵,也包括大量文字中累積下來的統計規律。判斷得準,不代表它以人的方式讀懂了你,更不表示它能回到第一次生成時,完整追查自己為甚麼選了「映照」。
這也解釋了,為甚麼「請再檢查一次」有時有效,有時原地打轉。新一輪生成可能剛好走到較自然的路,也可能換掉一個詞,保留原來那副骨架;甚至會把「不是……而是……」改成「問題不在……關鍵在……」,表面不同,熟悉的味道仍在。
把規則清單放進提示詞,它會成為模型生成時的上下文。系統指令、用戶要求和正文通常帶有不同角色與位置,對輸出的影響也不一定相同;不過,規則本身仍然是一項文字指示,沒有程式過濾器那種逐字攔截的強制力。規則寫得越抽象,「行文要自然」這五個字能提供的線索越少。模型知道這是一項要求,卻未必知道你口中的「自然」究竟長甚麼樣。
一句具體的「原句這樣寫,後來改成這樣」,情況便不同。前後兩句直接把差異擺出來:哪個抽象名詞被拿掉,哪個評論句改成生活動作,哪個轉折被拆開。模型可以在眼前模仿這些變化,效果通常比再加一句「不要有 AI 味」實在得多。
清單只能抓到看得見的 AI 味
AI 味大致可分成三類,清單對它們的作用並不一樣。

第一類:詞語/套語痕跡。「值得注意的是」「總體而言」「原因很簡單,也很現實」這類固定說法,逐字搜尋便能找到,是清單最容易處理的部分。這些話單獨出現沒有問題;同一篇文章密集而規律地重複,AI 味才會冒出來。
詞語清單的好處是明確。搜到「總體而言」,可以直接判斷要留、要改還是要刪。問題也在這裡:處理得太順手,很容易讓人把全部注意力放在幾個顯眼的詞上,以為換掉它們,文章便乾淨了。
第二類:句式套路 。前面「先肯定、再轉折」便屬於這一類。它不靠某個詞存在,靠的是一整套組合方式。「不是 A,而是 B」「A 沒有錯,只是 B」「問題不在 A,關鍵在 B」,字面各有不同,推進方法幾乎一樣。
逐字比對抓不到這一類,只能靠人細讀。讀的人能否察覺整段文章總在先擺一邊、再推向另一邊,決定了這個套路會不會被抓出來。同一份禁用清單交給不同的人核稿,結果差很遠,原因就在這裡。
第三類:寫作旁白。「這一段要處理的問題是」「接下來我們將深入探討」「以下分三點說明」這類話,全在談文章準備怎樣寫,沒有繼續講事情本身。偶爾一句可以帶路,句句都替讀者報幕,文章便像有人站在旁邊不停解說。
三類問題混在一份規範裡,詞語/套語和寫作旁白較容易辨認,清乾淨後,人便可能以為整份稿子都乾淨了。句式套路原封不動,讀起來還是怪,只是一時說不出怪在哪裡。
句式套路帶來的代價,也不只是一點彆扭。讀者說不出哪裡不對,第一反應往往是懷疑「這篇是不是敷衍了事」,作者的可信度跟着打折。放大到整個內容生態,越來越多人用同一批模型工具寫東西,如果都停在詞語/套語清單這一步,大量內容便會共享相近的句式框架,寫作原本該有的聲音差異,也會慢慢被磨平。
提供範例,比再加規則有用
句式套路不能靠逐字比對清走,具體例子卻能把差異直接放到模型眼前。前面的兩公婆,便可以存成一組對照:
改前:兩人的沉默,映照的是彼此在情緒表達上的落差。改後:兩公婆吵完架,誰都不先開口,各自滑手機,晚飯也沒吃。
「不要抽象」「寫得自然一點」只是要求;這組例子則把改法攤了出來:拿掉「映照」「情緒表達」「落差」,換成不開口、滑手機、沒吃飯三個看得見的動作。模型未必知道你怎樣定義「自然」,卻能模仿這個改動方向。
挑一句上次寫得生硬的話,連同改法一起存起來,攢到十幾條,再交給模型作範例,通常比累積幾十條抽象規則管用。例子也要持續更新;同一批改法反覆放進提示詞,模型可能受範例制約,把新句式套成另一種固定格式。這是目前處理句式套路最實用的辦法之一,仍然需要人一路看、一路換。
這也是【學習智人】常說的雙向筆記:把自己讀出的「哪裡怪」記下來,反過來餵給 AI。人負責判斷和取捨,AI 根據具體對照再試一次;下一次哪裡仍然生硬,又變成人的新筆記。兩邊的工作接起來,協作才會真的向前走。
這篇稿子本來就是張Sir跟 AI 一句一句核對和改出來的。讀者看到的張Sir味道、裡面的判斷和想法,價值遠比殘留的一點 AI 味重要。那點 AI 味,也隨着這份雙向筆記一次次累積和修正,慢慢淡了下來。
下一篇,就從詞語/套語痕跡、句式套路和寫作旁白這三類 AI 味開始,一句一句拆,一種一種治。
協作者:張Sir和AI
後記
這篇文章動筆前,張Sir先跟 AI 來回討論約24輪;初稿面世後,前後累積超過40輪對話、至少10個完整版本及多次局部修改,期間還加入另一個 AI 交叉審讀,逐項核對技術表述、行文和標題。人負責辨認問題和作出取捨,AI 提供解釋與改法,一段一段磨成現在的樣子,也把人機協作真正費工夫的地方示範了一遍。
參考資料
Lindsey, J., Gurnee, W., Ameisen, E., Chen, B., Pearce, A., Turner, N. L., Citro, C., Abrahams, D., Carter, S., Hosmer, B., Marcus, J., Sklar, M., Templeton, A., Bricken, T., McDougall, C., Cunningham, H., Henighan, T., Jermyn, A., Jones, A., … Batson, J. (2025, March 27). On the biology of a large language model. Transformer Circuits. https://transformer-circuits.pub/2025/attribution-graphs/biology.html


