除了撰寫更好的提示之外,還有兩種強大的技術可用於控制 Claude 的輸出:預填助手訊息(prefilled assistant messages)和停止序列(stop sequences)。這些方法讓您能夠精確控制 Claude 如何回應以及何時停止生成文本。
預填助手訊息
訊息預填讓您能夠提供 Claude 回應的開頭部分,然後 Claude 會從該起始點繼續接續下去。這項技術在引導 Claude 朝特定方向發展時非常有用。

運作方式如下:您不只是發送一則使用者訊息,而是在訊息列表的末尾加上一則助手訊息。Claude 看到這則助手訊息後會想:「我已經開始回答這個問題了,所以我應該從我停下的地方繼續。」

舉例來說,如果您問「早餐喝茶還是喝咖啡比較好?」而沒有進行預填,Claude 通常會給出一個兼顧兩種選項的平衡回應。但如果您加上一則助手訊息說「咖啡比較好,因為」,Claude 就會從那裡繼續,並為咖啡建立論點。
需要理解的關鍵點是,Claude 會從您預填文本結束的確切位置繼續。如果您寫「咖啡比較好,因為」,Claude 不會重複這段文字——它會緊接在「因為」之後接續,完成這個想法。
以下是程式碼結構:
messages = []
add_user_message(messages, "Is tea or coffee better at breakfast?")
add_assistant_message(messages, "Coffee is better because")
answer = chat(messages)您可以使用這項技術將 Claude 引導至任何方向:
- 偏向咖啡:「咖啡比較好,因為」
- 偏向茶:「茶比較好,因為」
- 採取反對立場:「兩者都不太好,因為」
停止序列
停止序列會強制 Claude 在生成特定字串後立即結束其回應。這非常適合用於控制回應的長度或終止點。

這個概念很直接:您提供一份字串列表,當 Claude 生成其中任何一個字串時,它會立即停止,並回傳到那個時間點為止所生成的內容。
舉例來說,如果您要求 Claude「從 1 數到 10」,並設定停止序列為「5」,您會得到:
add_user_message(messages, "Count from 1 to 10")
answer = chat(messages, stop_sequences=["5"])這會回傳:「1, 2, 3, 4, 」——在輸出中包含「5」之前就停止了。
您可以讓停止序列更精確。如果您想避免結尾的逗號和空格,可以改用 stop_sequences=[", 5"]。這會給您一個更乾淨的結果:「1, 2, 3, 4」。
停止序列特別適用於:
- 限制列表長度
- 在特定標記或分隔符處停止
- 建立一致的輸出格式
- 防止過長的回應
這兩種技術都能讓您對 Claude 的行為進行精細控制,使您能夠為您的應用程式建立更可預測且更有針對性的回應。