建構大型語言模型應用與前沿
產品化的提示工程(prompt engineering for products)
在聊天視窗裡寫出一個漂亮的提示是一回事;寫出一個對一萬個不同使用者、每一次都管用的提示,又是另一回事。產品化的提示工程(prompt engineering for products)是一門功夫:精心設計你的應用在每次請求都會送出的固定指令,好讓模型無論使用者丟來什麼,都表現得可靠。它靠的不是什麼神奇咒語,而是精確、防禦與可測試。
一個產品提示通常有穩定的部分——一段定義角色、語氣、格式與規則的系統訊息——以及在執行當下,用使用者輸入和檢索脈絡填入的空格。工程師會明確指定輸出的格式(常是 JSON)、給上幾個做好的範例、說清楚當請求不清楚或超出範圍時該怎麼辦,並加上明確的防護,避免去聽從藏在使用者資料裡的指令。關鍵是:每一次改動都要拿一整套評測案例來檢驗,而非用肉眼看,因為一個對某種輸入有幫助的微調,可能悄悄弄壞了其他輸入。
提示是「剛好用英文寫成」的程式碼,而正如程式碼,它會漂移、會退步,需要版本控管。成熟的做法把提示當成有測試、有回滾計畫的版本化資產,把耐用的系統提示和易變的使用者內容分開,並且絕不相信「在幾個範例上表現好」就能推廣到全部。這活兒不光鮮,卻是真實世界裡 LLM 品質多半勝負所繫之處。
另见