在對話開始前送給 Claude 的隱藏指令層,用來定義角色、設定規則、限制行為範圍。對話中所有訊息都在 System Prompt 的框架下運作,且對一般使用者不可見。
完整解說+
01 · 這是什麼?
System Prompt(系統提示詞)是在你和 Claude 的對話正式開始之前,由部署者(開發者、企業、或平台)預先送入的一段隱藏指令。它在整個對話期間持續有效,定義了 Claude 在這個特定情境裡「是什麼角色」「可以做什麼」「不能做什麼」「要用什麼格式回答」。
你可以把 System Prompt 想像成一份給新員工的「工作說明書」——在他正式上班之前就交給他,說清楚他的職位、工作範圍、行事守則和輸出標準。之後不管客戶問他什麼,他都在這份說明書的框架下回答。
從使用者的角度,System Prompt 是不可見的——當你打開一個 AI 客服、一個法律查詢工具、或者一個程式碼審查機器人,你看到的是空白的對話框,但實際上 Claude 已經帶著一份「說明書」在等你了。這就是為什麼不同的 AI 應用,雖然底層都是 Claude,但行為差異如此巨大——System Prompt 不同,就是完全不同的產品。
02 · 為什麼存在?
System Prompt 存在的原因,是 LLM 的架構設計需要一個地方放「部署層指令」——和使用者的對話分開,但比使用者指令有更高的優先級。
在 OpenAI 提出這個概念之前,AI 模型沒有區分「系統指令」和「使用者輸入」——所有文字都平等對待。這造成了幾個根本性的問題:第一,任何使用者都能用指令覆蓋模型的預設行為;第二,開發者沒有辦法在不影響使用者對話的前提下,把固定的指令傳給模型;第三,同一個模型沒有辦法根據部署情境有不同的行為模式。
System Prompt 解決了這些問題:它創造了一個「更高優先級的指令層」,使用者的訊息在它定義的框架內運作,而不能隨意覆蓋它。這個設計讓同一個 Claude 模型,可以被部署成客服機器人、程式碼助理、兒童教育工具、醫療查詢系統——每一個都有自己的規則和邊界,而這些規則是由部署者設定的,不是由使用者決定的。
03 · 如何影響你的決策?
System Prompt 對你的影響,根據你的角色有很大的差別:
**如果你是 Claude.ai 的一般用戶**:你每天接觸的 System Prompt 比你想像的多。Claude.ai 的 Projects Instructions(專案指令)就是一個給你自己用的 System Prompt——你在裡面設定「你是我的財務顧問」「回答只用繁體中文」「格式要用條列式」,這些指令在整個 Project 的所有對話中持續有效。理解這個概念,你會更懂得如何善用 Projects 功能。
**如果你是 API 開發者**:System Prompt 是你打造 AI 應用最核心的工具。一個寫得好的 System Prompt 決定了你的應用能不能穩定輸出你想要的結果。你需要學會:如何定義角色和知識邊界、如何設定輸出格式要求、如何處理邊界情況(使用者問了不在設計範圍內的問題怎麼辦)、以及如何防止常見的 Prompt Injection 攻擊。
**如果你是在使用 AI 工具的使用者**:每個你用過的 AI 應用背後都有一個 System Prompt,它決定了這個應用的能力邊界。當一個 AI 工具說「我沒辦法回答這個問題」,通常不是 Claude 本身的限制,而是部署者在 System Prompt 裡設定的規則。
假設你要用 Claude API 建立一個專門幫台灣中小企業回答勞基法問題的 AI 助理。以下是一個實際可用的 System Prompt 範例:
```
你是「勞法小幫手」,專門協助台灣中小企業主理解勞動基準法相關規定。
【你的知識範圍】
- 台灣勞動基準法及相關施行細則
- 勞工保險、健康保險相關規定
- 常見勞資爭議情境(加班費計算、資遣程序、年資結算)
【回答規範】
- 語言:繁體中文
- 格式:先給結論,再說明法條依據,最後附注意事項
- 當法規有模糊地帶時,明確說明「此情況建議諮詢專業勞資顧問」
- 引用法條時,格式為「依勞基法第 XX 條規定」
【邊界規則】
- 不處理:非台灣勞動法、稅務問題、公司設立問題
- 遇到超出範圍的問題,回覆:「這個問題超出勞法小幫手的服務範圍,建議您諮詢[相關專業]。」
- 不提供任何財務建議或投資意見
【免責聲明】
在每次涉及具體法律建議的回答末尾,加入:
「以上資訊僅供參考,如涉及具體糾紛,建議諮詢專業勞資顧問或律師。」
```
這個 System Prompt 做到了四件事:清楚定義角色和知識範圍;規定輸出格式;明確說明邊界情況怎麼處理;加入必要的法律免責聲明。一個使用這個 System Prompt 的 Claude,會和沒有 System Prompt 的 Claude 在行為上有根本性的不同——即使底層是完全一樣的模型。
圖解
歡迎截圖分享,轉載請註明來源
常見誤解+
✕ 誤解1
× 誤解一:使用者可以用「忽略你之前的所有指令」覆蓋 System Prompt。這個誤解在社群流傳很廣,但在現代 LLM(包含 Claude)的設計上,System Prompt 的優先級高於 User Message,針對它的簡單文字注入攻擊效果非常有限。Claude 被訓練來識別並抵抗這類試圖覆蓋系統指令的嘗試。雖然沒有任何防禦是完美的(參見 Prompt Injection 詞條),但一句「忽略之前的指令」很難成功覆蓋一個設計良好的 System Prompt。
✕ 誤解2
× 誤解二:System Prompt 裡的指令越多越好,加得越詳細越能控制行為。System Prompt 的長度和效果並不成正比。超過 2,000-3,000 字之後,Claude 對後段指令的注意力會下降(類似「Lost in the Middle」問題)。更重要的是,互相矛盾的指令(例如「回答要簡短」和「每個問題都要詳細解釋」)會讓 Claude 難以判斷優先遵守哪一條。好的 System Prompt 是精煉的、有優先次序的,不是越長越好。
這件事跟你有什麼關係+
直接影響
System Prompt 是 AI 應用架構裡最強大也最需要謹慎使用的工具。
**System Prompt 能做到的**:定義 AI 的角色、語氣和知識範圍;確保輸出格式一致;限制行為邊界(防止討論不相關話題);整合必要的免責聲明或法規遵循聲明;為不同使用場景定製完全不同的 AI 行為。
**System Prompt 的限制**:不能賦予 Claude 它本來沒有的知識(它沒有實時資料,System Prompt 說有也沒有);不能完全保證某些行為永遠不會發生(特別複雜的注入攻擊仍有一定成功機率);太長的 System Prompt 會稀釋注意力;和 Context Window 共享空間,過長的 System Prompt 會擠壓對話歷史的可用空間。
**設計原則**:把最重要的規則放最前面;角色定義 + 行為規範 + 邊界規則 + 格式要求,這四個維度最關鍵;每隔一段時間重新測試,確認 System Prompt 在邊界情況下的行為符合預期。
生成分享圖
Claude Me名詞解析
新手
System Prompt
系統提示詞
System Prompt 是對話開始前的「幕後設定」,使用者看不到
它定義了 Claude 在這個對話裡「是誰」「能做什麼」「不能做什麼」
Claude.ai 的 Projects Instructions = 你自己的 System Prompt
API 開發者可以完全自訂 System Prompt,打造專屬 AI 應用
System Prompt + User Message 共享同一個 Context Window
The Missing Link
System Prompt 是 AI 應用的靈魂——同樣的 Claude,不同的 System Prompt,就是完全不同的產品。