筆記目錄

Skip to content

Prompt 正向引導 vs 負向約束:從踩雷開始學

這篇文章是從 淺談主流 AI 服務體系與相關工具 拆分而來的。

老問題,常常筆記寫一寫,某個章節內容寫太多造成結構失衡,本來是不想要拆分,畢竟拆分後,我還要想辦法把這篇補完整,每次筆記寫到後來都只想趕快寫完交差,不過 Claude 說已經有足夠資訊可以拆分,我就讓它幫我拆成兩篇筆記(雖然它幫我拆完,我又花了一些時間調整 orz)。

為什麼要在意這件事

過去網路上曾流行過「零社交提示詞」(要求 AI 只給純粹答案、省略客套話)。我跟風用了一陣子,卻發現這有時會讓對話的上下文難以連貫,於是就移除了。

之後為了降低 Gemini 的幻覺,我又嘗試設定了幾項規則限制。結果幻覺不但沒降多少(常常要等我主動提醒,它才會發現自己出錯),反而衍生出其他副作用:只要有時我對話的語氣比較重,它就會在每次回覆時瘋狂重複某些話;追問原因,它才回覆是因為「太在意某條約束」所導致。所以現在我只保留最少量的必要約束了。

為什麼規則太多會讓 AI 跑偏?

這個現象在業界稱為 Over-prompting(提示詞過載)。當提示詞不夠精準、或全域規則過多時,會導致模型底層發生 Attention Dilution(注意力稀釋),造成注意力權重失衡,AI 為了強行滿足所有全域規則,會過度聚焦在當下其實不重要的細節,引發 Task Interference(任務干擾),最終讓回答邏輯變得奇怪或生硬。

Prompt 策略:正向引導 vs 負向約束

在 Prompt Engineering 的圈子裡,提示詞通常分為兩類:直接說你要什麼的正向引導(Positive Prompt),以及警告它絕對不能做什麼的負向約束(Negative Prompt)

TIP

提示詞可以調整模型的行為傾向,但我覺得不用期望能根治幻覺問題(但多少還是有點作用),以及讓它們在自身訓練資料缺乏時,自動自發地去聯網查資料。這應該涉及到模型訓練的問題。

雖然看字面好像差不多,但在實際調教時,兩種寫法的「副作用」差異相當大。

核心判斷原則

類型建議策略邏輯
塑造型任務正向為主模型需要收斂目標,給「應該長什麼樣」比說「不要什麼樣」有效得多。
安全邊界負向為紅線,正向補替代方案禁區語義最直接,但搭配正向才能覆蓋漏網之魚。
行為開關看預設偏向決定想關掉預設行為用負向;想啟動預設沒有的行為用正向。

一、塑造型情境

要模型「長成某樣子」——正向提示幾乎全面佔優。

1. 角色與人設設定

要模型扮演特定專業身份,如資深工程師、法律顧問、教學助手。

提示方式效果
✅ 正向「你是一位有十年經驗的資深後端工程師,熟悉高並發系統設計,回答時會考量效能瓶頸與維運成本。」給模型明確的知識框架與思考視角,輸出會自然帶入該角色的判斷邏輯與專業語彙。
❌ 負向「不要回答得像新手,不要太隨便。」模型知道「不要什麼」,但不知道該成為什麼,輸出往往只是語氣稍微正式,缺乏真正的深度。

結論:正向較佳。 正向提示給的是「模仿對象」,負向只排除了一端,剩下的空間仍然太大。

2. 語氣與溝通風格

設定回答的語域,如親切口語、正式書面、教學引導式。

提示方式效果
✅ 正向「請用親切口語的繁體中文回答,語氣像在對非技術背景的朋友解釋,避免過多縮寫,句子簡短。」描述目標受眾與語感,模型可以全面調整詞彙選擇、句式結構與舉例方式。
❌ 負向「不要太學術、不要用英文術語、不要太正式。」排除了幾個方向,但語氣本身仍是模糊的,輸出可能介於幾種風格之間,難以收斂。

結論:正向較佳。 語氣是一個連續光譜,負向只能砍掉幾個端點,正向描述目標受眾才能讓模型找到精準定位。可以搭配少量負向排除特別容易踩的雷。

3. 輸出規格設定

控制格式與長度,如指定 JSON 結構、限制字數或段落數。

提示方式效果
✅ 正向(格式)「請嚴格以 JSON 格式輸出,結構為 { name: string, score: number, reason: string },不含任何額外說明文字。」模型有明確模板可對齊,穩定性高,需要程式解析的情境幾乎必須這樣做。
✅ 正向(長度)「請在三句話以內完成摘要,每句不超過 25 個字。」可量化的收斂目標,達成率高,在自動化流程中效果明顯。
❌ 負向「不要給我純文字。」/「不要長篇大論。」模型理解要改變,但不知道改成什麼,格式與長度依然不穩定。

結論:正向較佳。 規格是數值型、結構型的限制,正向直接給模板或數字是唯一確定的方式。

4. 推理過程引導(CoT)

希望模型逐步思考而非直接給答案,適用於複雜分析或推理任務。

提示方式效果
✅ 正向「請先列出你的分析前提,再逐步推導結論,最後給出建議,每個步驟標明編號。」明確定義思考的順序與結構,輸出品質與可驗證性提升,錯誤也更容易被追蹤。
❌ 負向「不要直接給答案,不要跳過推理過程。」模型知道不能省略過程,但不知道過程應該長什麼樣,容易形式化地加一兩句就帶過。

結論:正向較佳。 直接定義「步驟長什麼樣」遠比「不要省略步驟」有效。

二、防守型情境

要模型「不能碰某條線」——負向有其價值,但多數情況最好搭配正向一起用。

5. 硬性禁區劃定

涵蓋技術邊界(禁用套件、語法)與內容邊界(安全、隱私、敏感內容)兩類。

提示方式效果
⚠️ 正向「請僅使用原生 JavaScript 實作,若需工具函式請自行撰寫。」引導模型往安全方向走,但無法窮盡所有應避免的情況,有漏網之魚的風險。
✅ 負向「絕對禁止引用任何第三方套件。」直接劃定禁區,語義清晰,約束力強。

結論:兩者並用最佳。 負向劃紅線、正向補替代方案,兩者缺一都有漏洞。

6. 防止幻覺與過度自信

要求模型在不確定時明說,避免捏造數據。

提示方式效果
✅ 正向「若你對某項資訊不確定,請明確標註『此處不確定』並說明限制,不要填補空白。」建立「不確定時的標準動作」,有明確的替代行為可執行。
⚠️ 負向「不要捏造數據,不要假裝有把握。」對明顯的幻覺有一定抑制效果,但模型有時自我評估偏高,效果不穩定。

結論:兩者並用最佳。

7. 範疇限制(不得越界回答)

要求模型只回答特定主題,常見於客服或工具型 AI。

提示方式效果
✅ 正向「你只負責回答關於本產品的退換貨政策與訂單問題,其餘問題請引導用戶聯繫客服。」清楚定義職責範圍與越界時的處理方式。
❌ 負向「不要回答與產品無關的問題,不要提供任何建議或意見。」「無關」的判斷有模糊地帶,邊界案例的處理會不一致。

結論:正向較佳。 讓模型知道「職責是什麼」及「越界時該怎麼做」比列舉禁止項目更穩定。

三、行為開關型情境

8. 二元行為切換

模型對某個行為有預設偏向,你想改變它。

情況建議方向正向範例負向範例理由
預設會做,你想關掉(如:自動加註解)負向「請只輸出程式碼本體,保持乾淨。」「請不要產生任何程式碼註解。」✓直接對準你想關掉的行為,語義最清楚。
預設不做,你想啟用(如:給出替代方案)正向「請提供至少三個替代方案,並說明各自的取捨。」✓「不要只給一個答案,不要忽略其他可能性。」模型需要知道「新的標準動作是什麼」,負向只表達不滿意,給不了方向。

結論:看預設偏向決定方向。 想關掉預設有的行為 → 負向最直接;想啟用預設沒有的行為 → 正向給目標。

如何判斷 AI 被提示詞「弄壞」了

如果覺得 AI 最近的回話方式很奇怪,Gemini 可以這樣除錯:

  1. 先讓 AI 重做一次回答,觀察是否依然異常。
  2. 再次重做,這次選擇「不使用個人化設定」。

如果關閉設定後回答明顯正常,代表全域設定已干擾正常對話,建議重新檢視並簡化規則。

一般發現被玩壞,最好先重開一個乾淨的對話,但記得要把記住對話的功能關閉,否則看到它拿以前對話的資訊回覆,真的會令人傻眼。

小結

Prompt 策略的核心其實就一句話:讓模型知道「該做什麼」比告訴它「不能做什麼」更有效。

正向引導給的是明確的收斂目標,模型知道往哪走;負向約束劃的是紅線,適合當安全護欄。兩者不是互斥的,大部分情境下搭配使用效果最好——正向定方向、負向守底線。

至於「規則該寫幾條」這件事,我的經驗是不要追求數量,而是看每條規則是否真的在影響輸出品質。如果某條規則拿掉之後 AI 的回答沒有明顯變差,那它大概率只是在消耗注意力權重。

這個概念在個人化提示詞、Rule、Agent 指令、Skill 定義、Prompt 樣板等各種場合都適用,至於要怎麼設定比較好,只能慢慢嘗試,找到自己的平衡點,我自己也還在摸索中。


異動歷程

  • 2026-03-07 初版文件建立。