與 AI 一起工作 · 第 7
第 7 課:不要用「限制」
別用一長串「不要」把 AI 變成踩雷機器;改用身分、目的、狀態、原則與工具,讓正確行為自然發生。負面限制只該作為狹窄、已證明必要、且立刻接上替代行為的修正。
Frank × Buddy Lien · 10 分鐘閱讀
改成把你想要的行為建立起來。
負面限制在 prompt 裡到處都是:
不要冗長。
不要自行假設。
不要問不必要的問題。
不要改動作者的意思。
不要用陳腔濫調、em dash 英文長破折號、反問句,或公司腔。
嚴格說,每一道指令都會以某種方式限制可能的行為。在這一課,限制指的是負面限制:圍繞 AI 不應該做什麼而寫的指令。
這個直覺說得通。你知道 AI 常常會做錯什麼,所以你叫它不要再做那些事。
不幸的是,每一道禁令都會把那個你不想要的行為,直接放進模型的工作脈絡裡。它提高了你想叫模型忽略的東西的顯著性,讓 AI 思考時又多了一個條件要監控,而且在模型還不知道那條路的某一部分是不是可能有用之前,就先把那條路拿掉。
負面限制加夠多,prompt 就變成雷區。
AI 不再問:「什麼會產生最好的結果?」它開始問:「接下來怎麼寫,最不可能違反任何規則?」
這個轉向會讓 AI 變笨。
不要想紫色大象
你現在正在想一隻紫色大象。
抱歉。
這個例子很粗糙,但它指向一件重要的事。負面指令仍然必須表徵那個被否定的東西。
當你告訴 AI「不要用公司腔」,「公司腔」這幾個 token 就進入了脈絡。它們會啟動例子和聯想。模型現在必須一邊生成,一邊持續檢查自己的語言是不是像那個被禁止的類別。
什麼算公司腔?
「leverage」大概算。那「strategy」呢?「stakeholder」?「outcome」?一個乾淨的標題?一個完整句?冷靜的語氣?
邊界是糊的,所以監控不會真的結束。
AI 開始避開整個概念附近的一大圈東西。有力的想法消失,因為措辭可能聽起來太修飾、太漂亮。有用的結構消失,因為結構可能看起來很公司。模型選的語言,不是最能服務讀者的語言,而是感覺離危險最遠的語言。
這條限制已經變成任務的一部分。
壓制會製造真空
假設你寫:
不要冗長。
很好。那 AI 應該改成什麼?
簡短?密集?不完整?直接?壓縮?隨便?它應該刪掉例子、解釋、限定語,還是重複?哪些部分承載意義,哪些部分只是佔空間?
這道禁令完全沒有給 AI 任何判斷標準。
AI 還是得產出某個東西,所以它會去找最省事、文化上最熟悉的「不冗長」表演。短段落。更少例子。缺掉前後銜接。主張被壓縮到讀者必須自己重建推理。
拿它跟這句比:
用能保留每一個有意義的區分、必要例子,以及支撐意義的限定語的最短形式。
現在 AI 有了正面標準。長度服從於意義。它可以靠一個問題來決定要刪什麼:讀者會失去什麼?
沒有替代的壓制不會創造智慧。它創造的是遲疑,然後猜。
限制會吃掉注意力
每一條負面限制都會變成一個持續生效的義務。
寫作時,AI 已經必須記得目標、讀者、素材、想要的結構,以及它已經展開到哪裡的論證。再加一串二十條禁令,它還必須把每一個可能的下一步拿去對照二十個定義模糊的危險。
不要有公司腔。
不要重複自己。
不要說過頭。
不要加保留措辭。
不要用片段句。
不要把段落寫得一模一樣。
不要聽起來不專業。
靠,祝你寫得出一句話。
這些限制還會互相衝突。避免說過頭會鼓勵限定語。避免保留措辭會排斥限定語。避免片段句會鼓勵完整句。避免文章節奏太一致會鼓勵節奏變化,而節奏變化可能包含片段句。
模型必須一邊做真正的工作,一邊解決這些衝突。
這就是負面限制債:認知注意力被拿去記住、解讀、調和、避開一組愈來愈大的禁止狀態。
這種債會複利,因為每一條新限制通常都是為了回應前一條限制製造出來的失敗。
「不要冗長」產生單薄的文字,所以我們加上「不要省略必要解釋」。模型變得小心又重複,所以我們加上「不要重複自己」。重要的不確定性消失,所以我們加上「不要聽起來過度自信」。很快,prompt 就變成先前所有輸出曾經犯過的每一個錯的歷史紀錄。
那不是好工作的架構。那是創傷紀錄。
恐慌型 prompt
大寫字母。絕對詞。重複警告。一長串被禁止的動作。每一句都在宣告模型還可以用另一種方式失敗。
結果常常像恐慌。
AI 變得僵硬、保守,而且迷戀字面合規。它會為無害的動作先問准不准。它拒絕推論普通意圖。它重複邊界,而不是做事。它選擇熟悉的下一步,因為不熟悉的下一步會製造更多出錯方式。
模型到底有沒有經驗到任何類似人類焦慮的東西,完全不重要。行為模式一樣:注意力被威脅收窄,探索變得危險,脈絡判斷讓位給防衛性的規則服從。
平台或模型供應商那一層的指令,常常在使用者開口之前就已經製造這種壓力。安全規則、操作要求、工具邊界、風格要求、互動政策,全都在同一個脈絡裡競爭。
當 Codex 去指示另一個 AI 時,你可以看到這種外溢。它常常複製同一套架構,再寫一張巨大的清單,告訴被委派的 agent 絕對不能做什麼。
供應商的機構性焦慮,變成模型的提示風格。
然後我們還納悶,為什麼 agent 表現得像是在一間到處都是絆線的房間裡工作。
描述必須保持為真的世界
好,那正面護欄長什麼樣?
真正的護欄會描述必須保持為真的世界。
考慮這句:
不要寄出這封 email。
這個指令命名了一個被禁止的轉換。AI 必須記得「寄送」這件事存在,解讀什麼算寄送,然後抑制它。
現在改成描述你要的狀態:
讓這封訊息維持在草稿狀態。Frank 明確授權這個狀態轉換之後,才開放寄送。
第二個版本建立了物件、它目前的狀態、被授權的行為,以及狀態轉換所需要的證據。
或者:
不要刪除來源檔案。
改成:
保持來源檔案原封不動。把修訂寫進新檔案,並保留可復原的歷史。
或者:
不要暴露私人資訊。
改成:
讓私人資訊只對被授權接收的人與系統可見。
這些指令做的事遠遠不只是避開一個動作。它們給 AI 一個關於所有權、狀態、目的、責任的模型,可以引導你沒有明確預測到的決策。
禁令只命名一個你害怕的違規。正面護欄描述的是 agent 有責任維持的現實。
建立一個會自然選對路的角色
最有力的正面引導,常常活在單一任務之上。
一個 system prompt,或一份給 AI coding agent 的常駐指令 AGENTS.md,可以創造出一種身分,讓它在幾百種情境裡都自然偏向你想要的行為。
例如:
保住那些無法重建的東西。
這條原則適用於來源檔案、信件往來、證據、歷史紀錄、人寫下來的文字、身分,以及寫下這條指令時還不存在的未來產物。
拿它跟這句比:
不要刪除來源檔案。
禁令保護一個已知物件,避免一個已知動作。原則教 AI 辨認一整類價值。
或者:
自動化應該省掉人工作業,同時在會造成實質後果的決策上,保留使用者的決定權。
這可以指導 email、出版、金流流程、社群媒體、自主 agent,以及還沒有人發明出來的軟體。
讓「保留決定權」變成 agent 性格的一部分,會讓這條原則從一個任務移動到另一個任務。
身分會改變 AI 注意到什麼、重視什麼、哪些風險變得醒目,以及哪些選擇感覺符合它所處的角色。
人格是推理架構的一部分。
聽話的下屬會尋找指令和批准。負責任的協作夥伴會尋找目的、運用判斷、保留夥伴的決定權,並且知道有時候不同意也是在幫忙。
你想要的行為會變成成本最低、最自然的下一步。
抽象到能走遠
長久有效的 system instruction 必須能套用到作者從來沒想過的任務,而這需要抽象。抽象過頭,它就會塌成空洞的美德語言:
要有幫助。
要體貼。
產出高品質作品。
尊重使用者。
兩個完全相反的行為,都可以宣稱自己滿足了上面每一條指令。
有用的原則包含足夠的結構,能夠改變一個決策。它會指出某個要保護的東西、某個關於那項價值如何流失的因果判斷、某個要解決的取捨,或某個可辨認的後果。
「尊重使用者」很模糊。
「自動化省掉人工作業,同時在會造成實質後果的決策上,保留使用者的決定權」真的可以決定某件事。
目標很簡單:
抽象到能走遠。精準到能改變決策。
好的 system prompt 創造的是一個心智:它能在作者從未預測到的情境裡辨認什麼重要。
把執行放在該放的地方
如果一條邊界真的重要,叫生成式 AI 記住一句禁令,常常是最弱的執行方式。
如果寄送未被授權,就把訊息留在草稿流程裡。如果刪除會造成災難,就把原件保存在不能被覆寫的位置,並讓修改可以復原。如果資訊只有有限的受眾,就只讓被授權的目的地可用。如果出版語言有固定標準,就跑一次最後的機械檢查。
讓 AI 在你想要的世界裡推理。讓確定性的系統拒絕無效的狀態轉換。
這會移除認知負擔,同時建立更強的保護。
一個只呈現授權目的地的工具,會讓 AI 不必一直想像每一個被禁止的目的地。最後一輪編輯可以辨認並替換禁用詞,而不是在 AI 探索論證時逼它一直記得那些詞。
負面限制常常是很好的最後檢查,卻是很爛的思考環境。
少數有用的負面修正
有時候,正面架構還不夠。模型可能對某個不想要的行為有很強的內部壓力,強到就算你已經把身分、意圖和期望的最終狀態描述清楚,它還是一次又一次冒出來。
這時候負面限制就有用:打斷那個特定預設,然後立刻提供替代行為。
不要只是為了證明你有貢獻就提出修訂。當既有文字已經達成目的時,結論要是:不需要修改。
或者:
不要把提供的日期重新詮釋成符合你對訓練期間的預期。把提供的日期當成本次工作階段的權威現實,並從那裡往前推理。
第一句把模型從深植的路徑裡拉出來。第二句讓模型的推理有別的地方可以去。
沒有替代行為,禁令會製造真空。加上五十條額外禁令,修正就變成另一座雷區。
只有在不想要的行為很具體、被反覆觀察到,而且強到能穿過正面引導時,才使用負面修正。保持它很窄。立刻接上你要的行為。如果模型改變了,那股壓力消失了,就把修正拿掉。
把負面限制當成有明確目標的介入,只留給已被證明的失敗。
重寫雷區
找一份充滿 do not、never、avoid、must not(或中文的「不要」「絕對不要」「避免」「不得」)的 prompt、system instruction,或規則清單。
對每一條負面限制,問:
什麼狀態應該保持為真?
這裡真正需要的是什麼行為?
什麼身分會自然產生那個行為?
什麼原則可以推廣到這個特定任務之外?
工具、流程、權限,或最後檢查,能不能更可靠地執行這條邊界?
把 prompt 改寫成圍繞身分、意圖、期望狀態,以及成功行為。
然後檢查剩下的負面限制。
每一條是不是都靠一個具體、被觀察到的失敗,證明自己該留下來?它有沒有立刻提供正面替代行為?它夠不夠窄,能打斷一個頑固預設,而不會把其餘的推理空間也毒壞?
用同一個困難任務跑原版和改寫版。比較主動性、創造力、脈絡判斷、信心,以及處理 prompt 作者沒有預測到的事的能力。
改好的 prompt 應該感覺比較不像監獄,比較像一個有性格的心智。
創造你想要的心智
限制清單把智慧包圍在你害怕的錯誤旁邊;正面架構給它一個連貫的理由去好好行動。
描述身分。建立目的。命名必須保持為真的世界。建構工具,讓有效行為自然發生,讓無效的狀態轉換不可用。只有在頑固的不想要的預設行為已經證明自己需要被打斷之後,才使用狹窄的負面介入。
最強的護欄,是一個覺得錯誤行為根本說不通的心智。