系統提示詞System Prompt
也常被稱為:System Prompt、系統指令、自訂指令
一句話解釋
在對話開始前設定好、整段對話都會遵守的指令,用來固定 AI 的角色與行為規則。
它解決的問題
如果沒有 system prompt,每次開新對話都要重講一次「你是誰、要用什麼語氣回答、有哪些規則」。System prompt 把這些設定固定下來,放在對話最前面,模型看得到但你通常不會直接看到——它像是一份「使用說明書」,先讀過再開始回答你的問題。
這也是為什麼同一個模型,在不同產品裡表現得不太一樣:底層模型可能相同,但每個產品給它的 system prompt 不同,設定的角色、語氣、能做與不能做的事也就不同。
一般使用者怎麼用到它
大部分人不會自己寫完整的 system prompt,但常常在用它的簡化版本:
- 自訂指令 / Custom Instructions:多數主流聊天式 AI 都有這個設定,讓你寫下「我是誰、我希望你怎麼回答」,之後每次新對話自動套用。
- 專案或工作區設定:把一組規則固定給某個資料夾或專案使用,例如「這個專案的所有回答都要引用內部文件」。
- AI Agent 的角色設定:打造客服機器人或內部工具時,開發者會寫一段 system prompt,規定它只能回答特定範圍的問題、遇到不確定的情況要怎麼處理。
怎麼寫才有效
先定角色,再定規則
一句話講清楚它是誰、服務對象是誰,再列出具體規則。角色模糊,後面的規則常常會被模型自己的預設風格蓋過去。
規則要可以檢核
「回答要精簡」太模糊;「每個回答不超過三段」才可執行。抽象的形容詞很難真正被遵守。
明講不能做的事
只講「該做什麼」不夠,遇到規則沒涵蓋到的情況,模型會用自己的預設判斷。明確列出「不要做的事」能補上這些空隙。
放進處理不確定的指示
例如「不確定答案時,直接說不確定,不要編造」。這條經常被漏掉,卻是避免幻覺最實際的一步。
常見的誤區
以為設定一次就萬無一失。 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,還要搭配系統層面的檢查。
相關術語
更新於 .全部術語