系統提示是自訂 Claude 如何回應使用者輸入的強大方式。您不必獲得通用的答案,而是可以塑造 Claude 的語氣、風格和方法,以符合您特定的使用案例。

為什麼系統提示很重要
想像您正在建立一個數學輔導聊天機器人。當學生問「我該如何解 5x + 2 = 3 中的 x?」時,您希望 Claude 表現得像一位真正的輔導老師,而不是直接給出答案。一位好的數學輔導老師應該:
- 一開始給予提示而非完整的解答
- 耐心地逐步引導學生解決問題
- 展示類似問題的解答作為範例
您絕對不希望 Claude:
- 立即給出直接答案
- 告訴學生直接使用計算機就好
系統提示如何運作

系統提示為 Claude 提供如何回應的指引。您將它們定義為純字串,並傳入 create 函式呼叫中。主要優點包括:
- 系統提示為 Claude 提供如何回應的指引
- Claude 會嘗試以指定角色的人會回應的方式來回應
- 有助於讓 Claude 專注於任務
以下是基本結構:
python
system_prompt = """
You are a patient math tutor.
Do not directly answer a student's questions.
Guide them to a solution step by step.
"""
client.messages.create(
model=model,
messages=messages,
max_tokens=1000,
system=system_prompt
)觀察差異
沒有系統提示時,Claude 會立即給出完整的逐步解答。這可能有幫助,但它不會鼓勵學生自己思考問題。
有了數學輔導系統提示後,Claude 的回應會有顯著的改變。Claude 不會提供完整的解答,而是會問引導性的問題,例如「您認為孤立 x 的好的第一步是什麼?想想我們可能需要對等式兩邊執行什麼運算,才能開始移動項目。」
建立靈活的聊天函式
與硬編碼系統提示不同,您可以透過接受系統提示作為參數,讓您的聊天函式更具可重複使用性:
python
def chat(messages, system=None):
params = {
"model": model,
"max_tokens": 1000,
"messages": messages,
}
if system:
params["system"] = system
message = client.messages.create(**params)
return message.content[0].text這種方法處理了一個重要的細節:Claude 的 API 不接受 system=None,因此您需要有條件地僅在提供系統參數時才包含它。
現在您可以呼叫您的聊天函式,無論是否帶有系統提示:
python
# 沒有系統提示
answer = chat(messages)
# 有系統提示
system = """
You are a patient math tutor.
Do not directly answer a student's questions.
Guide them to a solution step by step.
"""
answer = chat(messages, system=system)系統提示對於建立行為一致且適合其預期用途的 AI 應用程式至關重要。它們將通用的 AI 回應轉變為專業化、符合角色的互動。