Skip to content

03 · 給例子:Few-shot 比形容詞管用 ​

Few-shot 就是在提示詞裡附上幾組"輸入 → 輸出"的示例。當你發現自己怎麼形容都說不清想要什麼,停止形容,給兩個例子——這是提示詞技巧裡價效比最高的一招。

為什麼例子比描述有效 ​

試著用文字描述你們公司週報裡"本週完成"那一條該怎麼寫。你大概會說:簡潔、寫結果不寫過程、能量化就量化、不要套話。

四個形容詞。模型對"簡潔"的理解和你的理解,差著十萬八千里。

現在換成給例子:

text
"本週完成"每條按這個風格寫:

❌ 持續推進小程式改版專案,與客戶進行了多輪溝通
✅ 小程式改版方案已交付客戶,劉總監確認後進入設計階段

❌ 最佳化了資料報表相關功能
✅ 報表權限改為按門店隔離,已上線,覆蓋 12 家門店

❌ 參加了若干次會議
✅ (這類不寫)

四個形容詞說不清的東西,三組對照三十秒就說清了。而且這個標準是可復現的——下次你同事拿這條提示詞,理解的是同一件事。

幾個例子合適 ​

例子數叫法什麼時候用
0 個Zero-shot任務常見、格式簡單。先試這個,能不給就不給
1 個One-shot只是想固定一下格式
2 ~ 5 個Few-shot大多數需要"風格對味"的場景,最常用
更多——通常說明該做成 Skill 了,或者該微調了

先從零個開始,不行再加。例子佔 Token,也會把它的思路框死——例子給多了,它會過度模仿,反而失去判斷。

給例子的四條規矩 ​

一、例子要覆蓋邊界,不要都是標準情況 ​

三個都是"完美輸入 → 完美輸出"的例子,等於沒教它怎麼處理意外。至少留一個例子演示"材料裡缺東西時該怎麼辦":

text
示例 3(材料資訊不全的情況):
輸入:把報表權限分一下,不同門店只能看自己的
輸出:| 報表權限按門店隔離 | 待確認 | 待確認 |
說明:原文沒提負責人和時間,一律寫「待確認」,不要猜。

這一條例子比前面兩條都值錢,因為它教的是判斷,不是格式。

二、正例反例配對給,效果翻倍 ​

只給正例,它知道"這樣是對的";給一對,它才知道"邊界在哪"。

上面週報那個例子就是配對給的。注意反例要寫得像模像樣——寫一個明顯離譜的反例沒有教學價值,要寫那種"看起來還行但其實不合格"的。

三、例子的格式必須和你要的輸出格式完全一致 ​

如果你要的是表格,例子就寫成表格;要的是 JSON,例子就寫成合法的 JSON。它模仿的是形,不是意。例子裡多一個空行,輸出裡就可能多一個空行。

四、例子裡別放真實敏感資訊 ​

例子會被原樣發給模型,還可能被同事拿去複用。客戶名、金額、人名,都替換成佔位的。

順帶一個好處:用假名反而能測出它會不會瞎編——如果它在輸出裡把"客戶 A"改成了某個真實公司名,你就抓到一次幻覺。

一個完整的 Few-shot 提示詞 ​

text
你是資料整理助理。把下面每條零散的工作記錄,改寫成周報裡的一條"本週完成"。

改寫規則看這幾個示例:

輸入:這週一直在跟進小程式改版的方案,跟客戶開了兩次會,方案基本定了
輸出:小程式改版方案已交付客戶,劉總監確認後進入設計階段

輸入:最佳化了一下報表那塊的權限
輸出:報表權限改為按門店隔離,已上線,覆蓋 12 家門店

輸入:參加了部門週會和專案復盤會
輸出:(不輸出,這類內容跳過)

輸入:幫小王看了下他那個介面的問題,聊了半天
輸出:協助排查訂單介面超時問題,已定位到支付回撥(詳情待補充)

規則總結:寫結果不寫過程;能量化就量化;純參會不寫;
資訊不全的地方寫「(詳情待補充)」,不要編數字。

現在處理下面的記錄:
"""
【貼上你的流水】
"""

注意最後那句"規則總結"——例子給完再用一兩句話把規律點破,比只給例子穩定。它會同時用上模仿和理解兩條路。

什麼時候例子會幫倒忙 ​

三種情況別給例子

任務本身很開放的時候。 讓它頭腦風暴二十個活動名,你給三個例子,剩下十七個都會像那三個。這種時候要的是發散,例子是反作用。

例子裡有隱含模式而你沒注意。 三個例子的輸入碰巧都是三句話,它可能以為"輸入必須三句話"。給例子時刻意讓長度、類型有差異。

例子和規則打架的時候。 你寫著"不超過 20 字",例子卻有 35 字——它信例子。給完例子自己對照檢查一遍。

下一步 ​

04 · 讓它先想再答 —— 例子解決"長什麼樣",這一章解決"怎麼想才不出錯"。

一份講通用概念的入門手冊 · 不綁定任何一家模型或工具 · 例子可直接照抄