Few-Shot Prompting(少樣本提示)是在提示詞裡提供幾個完整的「輸入→輸出」示範例子,讓 AI 從這些例子裡學習你期望的任務模式,然後對新輸入套用同樣的模式。
和 Zero-Shot 的核心差別:
Zero-Shot 是直接說「我要你做 X」,沒有示範。Many 任務 Zero-Shot 已經夠好——大型語言模型對常見任務有很強的零樣本能力。
Few-Shot 是說「我要你像這樣做 X」,然後提供幾個例子。適合用在:你有特定的非標準格式(你的格式和常見格式不一樣);風格很難用文字說清楚(「像我們的品牌說話」);需要高度一致性的批量任務(每筆輸出都要符合一樣的格式)。
一個具體例子:
你需要把客戶回饋整理成標準化的卡片格式:
輸入:「你們的客服很慢,等了 3 天才回我」
輸出:
問題類型:回應速度
情緒:負面
嚴重程度:中
建議動作:檢視客服 SLA 流程
輸入:「產品品質很好,包裝也很精緻」
輸出:
問題類型:產品評價
情緒:正面
嚴重程度:無
建議動作:可加入行銷素材
給完這兩個示範後,Claude 就能對後面所有的客戶回饋套用同樣的格式,不需要你每次都詳細說明格式規範。
好的 Few-Shot 示範例子應該怎麼設計?什麼是常見的設計錯誤?
好示範的設計原則:
原則一:示範要覆蓋任務的主要變體。如果你的任務有幾種不同的情況,示範裡要包含不同情況的處理方式。只提供一種情況的示範,Claude 可能會把那一種情況的處理方式過度泛化到其他情況。
原則二:示範要有多樣性,避免讓 Claude 學到過窄的模式。如果你的三個示範都是短輸入的例子,Claude 可能對長輸入產生和短輸入一樣的處理方式,而不是根據長度調整。
原則三:示範的輸出品質要代表你期望的最高標準。示範是你告訴 Claude「什麼是好輸出」的方式——如果你的示範輸出是馬虎的,Claude 學到的標準就是那個馬虎的標準。
常見的設計錯誤:
示範太多但品質參差不齊——5 個平庸的示範不如 2 個完美的示範,數量不能彌補品質。
示範沒有覆蓋邊緣案例——如果任務裡可能出現「資訊不完整」或「輸入格式異常」的情況,你的示範要包含這些情況的正確處理方式,否則 Claude 遇到邊緣案例可能會不知道怎麼辦。
示範和真實任務的輸入分佈不一樣——你的示範都是「簡單案例」,但真實任務裡有很多「複雜案例」,這樣示範的效果會大打折扣。
Few-Shot 的示範例子應該放在提示詞的哪個位置?順序重要嗎?
示範例子的位置:
最常見的結構是「任務說明 → 示範例子 → 新任務輸入」。示範例子放在任務說明之後、新任務輸入之前,這讓 Claude 先理解任務的整體目標,再從示範裡學習具體的格式和風格,最後應用到新輸入上。
也可以完全不寫任務說明,直接給示範例子,讓 Claude 從例子裡自己推斷任務目標——這種方式適合任務本身從例子裡就能完全理解的情況,對複雜或有特殊要求的任務,最好還是加上說明。
示範的順序重要嗎?
研究顯示,放在最後(最接近新任務輸入)的示範對 Claude 的影響最大。這意味著:如果你的示範中有一個最能代表你期望格式的例子,把它放在最後。如果你的任務有「典型案例」和「邊緣案例」,把邊緣案例的示範放在後面,能讓 Claude 對邊緣案例的處理更準確。
在 Claude Projects 裡用 Few-Shot:如果你有固定的示範例子,把它們放在 Project Instructions 裡,這樣不需要每次對話都重複貼示範。這對有批量、重複性任務的用戶特別有用——設定一次示範,之後每次對話都自動帶著這些示範。
Few-Shot 和 Fine-tuning(微調)有什麼差別?什麼時候應該從 Few-Shot 升級到 Fine-tuning?
這是很多進階用戶會問的問題。兩者都是讓模型「學習你的特定風格或任務模式」的方法,但機制和成本完全不同:
Few-Shot:把示範例子放在提示詞裡,每次 API 呼叫都需要包含這些示範。優點:不需要任何訓練、可以隨時修改示範、成本主要是示範例子佔用的 Token 費用。缺點:示範例子佔用 Context Window 空間、每次呼叫都要傳輸示範內容。
Fine-tuning(微調):用大量示範例子重新訓練一個模型,讓模型「內化」你的風格和任務模式。優點:不需要在提示詞裡帶示範(省 Context Window 和 Token 費用)、對特定任務的一致性更高。缺點:需要大量高品質的訓練數據(通常需要數百到數千個示範對)、訓練費用、訓練時間、和更新風格時需要重新訓練。
什麼時候應該升級到 Fine-tuning?
Few-Shot 在大多數情況下已經夠用。Fine-tuning 值得考慮的條件:你有非常特定的輸出格式,Few-Shot 效果不夠一致;你的任務量非常大(每月數十萬次 API 呼叫),每次帶示範的 Token 費用很高;你需要極高一致性的輸出(品質差異在 Few-Shot 下難以接受)。如果你不確定,先用 Few-Shot 驗證任務可行性,再評估是否值得投入 Fine-tuning 的成本。
一家內容行銷公司需要每天把 20 篇客戶提供的長文章壓縮成社群媒體的短文版本(每篇 150 字以內,保留最重要的見解,語氣要活潑)。
不用 Few-Shot 的方法(Zero-Shot):每次都詳細說明要求:「請把以下文章壓縮成 150 字以內的社群媒體版本,語氣要活潑,保留最重要的見解,結尾要有 Call to Action...」。每次輸出的格式和風格可能略有不同,需要花時間微調。
用 Few-Shot 的方法:第一次設定時,提供 3 個「長文 → 短文」的示範例子,展示理想的輸出風格和格式。設定好後,把這些示範放在 Claude Project Instructions 裡。
此後每次只需要貼入原始長文,說「請按照示範格式壓縮這篇文章」。Claude 就能持續產出和示範風格一致的社群媒體版本,20 篇的批量任務,輸出格式高度統一,幾乎不需要人工修改。
這個例子說明 Few-Shot 在批量、重複性任務上的核心價值:設定一次示範,讓後續所有輸出都維持一致的品質和格式。
Few-Shot 最核心的取捨是「輸出一致性 vs Context Window 消耗」。示範例子放在提示詞裡,每次 API 呼叫都要傳輸這些示範的 Token,示範越多、費用越高、Context Window 消耗越大。對 claude.ai 的日常用戶,這個取捨通常不是問題——訂閱費用已包含在內,Context Window 也夠大。對 API 開發者,特別是有大量 API 呼叫的應用,需要在「示範帶來的一致性收益」和「示範消耗的 Token 成本」之間找平衡點。一個實際的做法:從最少的示範開始(2個),如果輸出不夠一致就增加,找到最小的示範數量能達到你要求的一致性水準,而不是無腦地加示範。