跳到主要內容
Foxyko

系統提示詞System Prompt

也常被稱為:System Prompt、系統指令、自訂指令

一句話解釋

在對話開始前設定好、整段對話都會遵守的指令,用來固定 AI 的角色與行為規則。

它解決的問題

如果沒有 system prompt,每次開新對話都要重講一次「你是誰、要用什麼語氣回答、有哪些規則」。System prompt 把這些設定固定下來,放在對話最前面,模型看得到但你通常不會直接看到——它像是一份「使用說明書」,先讀過再開始回答你的問題。

這也是為什麼同一個模型,在不同產品裡表現得不太一樣:底層模型可能相同,但每個產品給它的 system prompt 不同,設定的角色、語氣、能做與不能做的事也就不同。

一般使用者怎麼用到它

大部分人不會自己寫完整的 system prompt,但常常在用它的簡化版本:

  • 自訂指令 / Custom Instructions:多數主流聊天式 AI 都有這個設定,讓你寫下「我是誰、我希望你怎麼回答」,之後每次新對話自動套用。
  • 專案或工作區設定:把一組規則固定給某個資料夾或專案使用,例如「這個專案的所有回答都要引用內部文件」。
  • AI Agent 的角色設定:打造客服機器人或內部工具時,開發者會寫一段 system prompt,規定它只能回答特定範圍的問題、遇到不確定的情況要怎麼處理。

怎麼寫才有效

  1. 先定角色,再定規則

    一句話講清楚它是誰、服務對象是誰,再列出具體規則。角色模糊,後面的規則常常會被模型自己的預設風格蓋過去。

  2. 規則要可以檢核

    「回答要精簡」太模糊;「每個回答不超過三段」才可執行。抽象的形容詞很難真正被遵守。

  3. 明講不能做的事

    只講「該做什麼」不夠,遇到規則沒涵蓋到的情況,模型會用自己的預設判斷。明確列出「不要做的事」能補上這些空隙。

  4. 放進處理不確定的指示

    例如「不確定答案時,直接說不確定,不要編造」。這條經常被漏掉,卻是避免幻覺最實際的一步。

常見的誤區

以為設定一次就萬無一失。 System prompt 會提高模型遵守規則的機率,不是寫死的程式邏輯。對話拉長、或使用者刻意引導,模型仍可能偏離設定,這也是為什麼真正重要的把關(例如不能外流的資訊)不該只靠它。

塞進太多規則。 規則一多,彼此容易互相牽制,模型反而抓不到重點。與其列二十條規則,不如挑出最重要的五條,寫得具體。

忘記它也佔用 context window 的額度。 System prompt 跟一般對話內容一樣會被算進模型能看到的範圍,寫得太長反而擠壓掉留給實際對話的空間。

常見問題

System Prompt 跟一般 Prompt 差在哪?
一般 prompt 是你每次輸入的內容,只影響當下這一輪的回答。System prompt 是在對話一開始就設定好的規則,之後每一輪回答都要遵守,除非你中途改掉它。可以把它想成「整場對話的預設角色設定」,而一般 prompt 是「這一次要它做的事」。
一般使用者也能設定 System Prompt 嗎?
可以。多數主流聊天式 AI 都有「自訂指令」「Custom Instructions」這類設定,本質上就是讓使用者自己寫一段 system prompt,例如「回答一律用繁體中文」「不要用條列式,用完整段落」。設定一次之後,之後每次新對話都會套用,不用每次重講一遍。
System Prompt 可以完全限制住模型嗎?
不能保證百分之百。System prompt 會大幅提高模型遵守規則的機率,但不是寫死的程式邏輯——遇到夠刻意的追問,模型仍可能被引導說出違反設定的內容。真正需要強制把關的規則(例如絕不能洩漏的資訊),不該只靠 system prompt,還要搭配系統層面的檢查。

更新於 .全部術語