生成與推論
Stop Sequences 停止序列是什麼?叫 AI 說到這裡就閉嘴
Stop Sequences 停止序列是什麼?叫 AI 說到這裡就閉嘴
你請 AI 回一段 JSON,它回完 JSON 還熱情地補了三句說明,害你後面的程式解析失敗。這種時候要用的就是停止序列。
它是呼叫 API 時常見的一個參數,名字通常叫 stop 或 stop_sequences。設定好之後,AI 說到指定符號就會自動收手。
你將學到什麼
定義
一份字串清單,AI 生成時遇到其中任一個就立刻停止輸出。
白話比喻
像跟人約好一個暗號,聽到暗號就不要再講下去。
常見用途
結構化輸出、多輪對話控制、程式碼區塊收尾。
跟誰容易搞混
常跟最大輸出代幣混淆,一個管內容,一個管長度。
定義
Stop Sequences 中文叫停止序列,是一個或多個字串組成的清單。當 AI 在生成文字的過程中,遇到這些字串中的任一個時,就會立刻停止輸出,不會再繼續生成後面的內容。
整個流程很單純:使用者發出請求 → AI 開始生成 → 遇到停止序列 → 強制停止輸出。停止點之後的內容不會被輸出。
常見的停止序列
| 停止序列 | 說明 |
|---|---|
| 換行符號 | 遇到換行就停止,常用於單行輸出 |
| [END] | 自訂的結束標記,最直覺也最常用 |
| 三個井字號 | Markdown 分隔符號,常用於分段輸出 |
| 模型內建的結束符號 | 某些開源模型會使用自己的結束標記 |
實際用例
第一種是結構化輸出。要 AI 只回一段 JSON 時,把連續兩個換行設成停止序列,它吐完物件就會停,不會再補一段親切的說明。
第二種是多輪對話控制。模擬對話時把下一個發言者的標記設成停止序列,AI 就不會自己演完雙方的台詞。第三種是程式碼輸出,把程式碼區塊的收尾符號設成停止序列,避免它在後面多寫一堆解釋。
{
"model": "your-model-name",
"messages": [...],
"stop": ["[END]", "###"],
"max_tokens": 500
}
跟最大輸出代幣差在哪
| 面向 | Stop Sequences 停止序列 | Max Output Tokens 最大輸出代幣 |
|---|---|---|
| 依據 | 基於內容,遇到特定符號就停 | 基於長度,達到代幣上限才停 |
| 結束位置 | 精準停在剛好需要的地方 | 可能在句子中間突然截斷 |
| 適合場景 | 結構化輸出、分段控制、多輪對話 | 控制成本與長度上限,避免過長回應 |
兩者不衝突,實務上通常一起設。停止序列負責讓輸出乾淨,長度上限負責當最後的保險。想把提示詞寫得更可控,可以再看 Prompt 提示詞 這一篇。
延伸學習
做出你的第一個 Skill
一場快閃直播的完整重製。從搞懂 Skill 的五個層級開始,帶你把一件你每天在做的重複工作,寫成一支 AI 真的會照做的 Skill ── 命名、description、輸入拆解、Workflow 訪談、Output 與 Checks,最後組成一份能通過格式檢查的 SKILL.md。
NT$ 999
ChatGPT 很強,但真正讓你下班的是 Google
六小時完整實錄。從「AI 很厲害,為什麼你還是每天加班」這個問題出發,把 Google Workspace 當成真正的工作平台重新設計一次流程 ── Sheets 的資料結構、Drive 與 Docs 的文件流、Gmail 與 Calendar 的通知系統,再用 Apps Script 讓它自己跑起來,最後收斂成一張屬於你自己的 AI 工作能力地圖。
NT$ 4,599

