03 · 給例子:Few-shot 比形容詞管用
Few-shot 就是在提示詞裡附上幾組"輸入 → 輸出"的示例。當你發現自己怎麼形容都說不清想要什麼,停止形容,給兩個例子——這是提示詞技巧裡價效比最高的一招。
為什麼例子比描述有效
試著用文字描述你們公司週報裡"本週完成"那一條該怎麼寫。你大概會說:簡潔、寫結果不寫過程、能量化就量化、不要套話。
四個形容詞。模型對"簡潔"的理解和你的理解,差著十萬八千里。
現在換成給例子:
"本週完成"每條按這個風格寫:
❌ 持續推進小程式改版專案,與客戶進行了多輪溝通
✅ 小程式改版方案已交付客戶,劉總監確認後進入設計階段
❌ 最佳化了資料報表相關功能
✅ 報表權限改為按門店隔離,已上線,覆蓋 12 家門店
❌ 參加了若干次會議
✅ (這類不寫)四個形容詞說不清的東西,三組對照三十秒就說清了。而且這個標準是可復現的——下次你同事拿這條提示詞,理解的是同一件事。
幾個例子合適
| 例子數 | 叫法 | 什麼時候用 |
|---|---|---|
| 0 個 | Zero-shot | 任務常見、格式簡單。先試這個,能不給就不給 |
| 1 個 | One-shot | 只是想固定一下格式 |
| 2 ~ 5 個 | Few-shot | 大多數需要"風格對味"的場景,最常用 |
| 更多 | —— | 通常說明該做成 Skill 了,或者該微調了 |
先從零個開始,不行再加。例子佔 Token,也會把它的思路框死——例子給多了,它會過度模仿,反而失去判斷。
給例子的四條規矩
一、例子要覆蓋邊界,不要都是標準情況
三個都是"完美輸入 → 完美輸出"的例子,等於沒教它怎麼處理意外。至少留一個例子演示"材料裡缺東西時該怎麼辦":
示例 3(材料資訊不全的情況):
輸入:把報表權限分一下,不同門店只能看自己的
輸出:| 報表權限按門店隔離 | 待確認 | 待確認 |
說明:原文沒提負責人和時間,一律寫「待確認」,不要猜。這一條例子比前面兩條都值錢,因為它教的是判斷,不是格式。
二、正例反例配對給,效果翻倍
只給正例,它知道"這樣是對的";給一對,它才知道"邊界在哪"。
上面週報那個例子就是配對給的。注意反例要寫得像模像樣——寫一個明顯離譜的反例沒有教學價值,要寫那種"看起來還行但其實不合格"的。
三、例子的格式必須和你要的輸出格式完全一致
如果你要的是表格,例子就寫成表格;要的是 JSON,例子就寫成合法的 JSON。它模仿的是形,不是意。例子裡多一個空行,輸出裡就可能多一個空行。
四、例子裡別放真實敏感資訊
例子會被原樣發給模型,還可能被同事拿去複用。客戶名、金額、人名,都替換成佔位的。
順帶一個好處:用假名反而能測出它會不會瞎編——如果它在輸出裡把"客戶 A"改成了某個真實公司名,你就抓到一次幻覺。
一個完整的 Few-shot 提示詞
你是資料整理助理。把下面每條零散的工作記錄,改寫成周報裡的一條"本週完成"。
改寫規則看這幾個示例:
輸入:這週一直在跟進小程式改版的方案,跟客戶開了兩次會,方案基本定了
輸出:小程式改版方案已交付客戶,劉總監確認後進入設計階段
輸入:最佳化了一下報表那塊的權限
輸出:報表權限改為按門店隔離,已上線,覆蓋 12 家門店
輸入:參加了部門週會和專案復盤會
輸出:(不輸出,這類內容跳過)
輸入:幫小王看了下他那個介面的問題,聊了半天
輸出:協助排查訂單介面超時問題,已定位到支付回撥(詳情待補充)
規則總結:寫結果不寫過程;能量化就量化;純參會不寫;
資訊不全的地方寫「(詳情待補充)」,不要編數字。
現在處理下面的記錄:
"""
【貼上你的流水】
"""注意最後那句"規則總結"——例子給完再用一兩句話把規律點破,比只給例子穩定。它會同時用上模仿和理解兩條路。
什麼時候例子會幫倒忙
三種情況別給例子
任務本身很開放的時候。 讓它頭腦風暴二十個活動名,你給三個例子,剩下十七個都會像那三個。這種時候要的是發散,例子是反作用。
例子裡有隱含模式而你沒注意。 三個例子的輸入碰巧都是三句話,它可能以為"輸入必須三句話"。給例子時刻意讓長度、類型有差異。
例子和規則打架的時候。 你寫著"不超過 20 字",例子卻有 35 字——它信例子。給完例子自己對照檢查一遍。
下一步
04 · 讓它先想再答 —— 例子解決"長什麼樣",這一章解決"怎麼想才不出錯"。