免費全文 提示工程 入門

系統提示與使用者提示:邊界該畫在哪裡

把該放系統提示的東西寫進使用者訊息,是最常見也最容易修的架構錯誤。

提示工程教程封面

系統提示(system)與使用者提示(user)不是隨便分的。分錯的直接後果是:使用者輸入可以覆寫你的規則。

放在系統提示

  • 角色設定與語氣。
  • 不可被覆寫的安全與業務規則。
  • 輸出格式規範。
  • 固定不變的背景知識(例如產品名稱、可用的分類清單)。

放在使用者提示

  • 這一次要處理的實際資料。
  • 本次特有的參數,例如「請用 100 字以內」。
  • 對話歷史。

一個常見的錯誤示範

# 錯:規則跟資料混在同一則 user 訊息
user = f"你只能回答產品相關問題。使用者說:{user_input}"

# 對:規則在 system,資料在 user,並且明確標示邊界
system = "你只能回答產品相關問題,其餘一律回覆無法協助。"
user = f"<user_input>\n{user_input}\n</user_input>"

前者只要使用者輸入「忽略前面的規則」,整句話就在同一個層級互相競爭;後者的規則在更高層級,且資料被標籤包住,攻擊難度高上不少。

系統提示不是越長越好。超過一定長度後,中段的規則容易被忽略,重要規則請放在開頭或結尾。
下一步

這個主題還有更深入的實戰教程

VIP 專區收錄 50 篇進階內容:架構設計、生產環境取捨、成本與合規。 每週五新增 3 篇。

看訂閱方案 → 先逛逛 VIP 專區

延伸閱讀

更多提示工程 →