指令遵循透過指令微調(在指令-回應配對上的 SFT)訓練,並透過 RLHF/DPO(學習偏好準確遵循指令的回應)來精煉。指令遵循的品質高度取決於訓練資料的多樣性和精確性:看到許多「恰好 3 個項目」範例的模型學會了計數;只看到模糊指令的模型則不會。
常見的指令遵循失敗:忽略長度限制(「簡短」→ 仍然寫段落)、格式漂移(以要求的格式開始但回歸到散文)、限制遺忘(遵循第一個限制但在複雜指令中忘記後面的限制),以及過度遵循(過於字面或過於廣泛地解釋模糊指令)。這些失敗在較小的模型中更常見,隨著規模增大而變得更少見,但即使是前沿模型偶爾也會遺漏限制。
當指令衝突時,指令遵循變得複雜:系統提示說「始終以 JSON 回應」,但使用者說「寫一首詩給我」。大多數模型實作一個指令層級,系統級指令優先於使用者訊息,但邊界是模糊的。設計良好的應用程式會清楚地結構化其指令層級,並測試不同層級指令可能衝突的邊緣案例。