iT邦幫忙

2025 iThome 鐵人賽

DAY 5
1
生成式 AI

可愛又迷人的提示詞工程 Prompt Engineering系列 第 5

Day5. Zero-shot vs Few-shot vs Many-shot 的比較

  • 分享至 

  • xImage
  •  

上一篇文章,跟大家介紹了 Few-shot 的概念與用法,除了 Few-shot 外,還有 Zero-shot 和 Many-shot 模式,差別如下:

  • Zero-shot:完全不給範例,只靠指令。
  • Few-shot:給少量範例 (通常 1–5 個)。
  • Many-shot:給大量範例 (10 個以上),有點像微調模型的簡化版。

這三者的核心差別在於給 AI 幾個範例來引導它完成任務。就像教學生一樣,有時候你只需要說明概念,有時候需要示範幾個例子,有時候則要提供 AI 大量的練習。

Zero-shot

介紹:

Zero-shot (零範例) 只透過自然語言的指令描述任務,不會提供任何範例,完全依賴模型本身的理解能力

提示詞參考:

請為 ESG 飲料生成三則廣告文案,每則不超過 20 字。

優缺點:

Zero-shot 不需要提供範例,所以指令非常簡單,相對也節省 Token,回應速度也最快。而且可以讓 AI 自由發揮,可能適合需要發散或探索型的任務。

但是他的品質不穩定,難以掌握輸出的結果,可能需要多次來回嘗試,對於複雜或太新的任務需求,容易答非所問

Few-shot

介紹:

Few-shot (少量範例),通常會在指令中提供 1 ~ 5 個品質優質的範例,為的是讓 AI 可以模仿其中的格式、風格或邏輯。

提示詞參考:

範例:
產品:AI 筆記軟體
文案:記錄靈感,就像有個 24 小時不休息的助手。

產品:智慧健身手錶
文案:讓每一步,都算數。

現在請生成文案:
產品:ESG 飲料

優缺點:

因為有範例可參考指導,所以品質相對穩定,也比 Zero-shot 能預期輸出的結果,我們也能引導 AI 模仿範例的語氣、格式或結構,提高輸出的一致性。

但是正因為需要 AI 參考範例,所以範例的品質與篩選尤為重要,我們需要花時間去挑選或設計範例,此外如果過於依賴範例的格式,有可能扼殺 AI 模型的創造力

Many-shot

介紹:

Many-shot (大量範例) 通常會提供 10 個以上的範例讓模型學會一個複雜的任務,幾乎可說是用提示詞做模型微調了

提示詞參考:

請分析以下留言的情感傾向(正面 / 負面 / 中性):

範例 1:「產品很好用,推薦大家」→ 正面
範例 2:「價格有點貴,但品質不錯」→ 中性
範例 3:「完全不能用,很失望」→ 負面
...(此處省略 10+ 個涵蓋各種情況的標註範例)

現在請分析:「功能還可以,但介面有點複雜」

優缺點:

透過大量的優質範例,可以讓 AI 學到更多細微的模式,也能處理更多的例外狀況,所以錯誤率最低,最適合需要細緻判斷的任務,例如情感分析、內容審核、法律分析 ... 等等。

但這樣的模式會消耗大量的 Token,而且要準備大量且優質的範例也需要很多時間,所以金錢和時間的成本都會提高,同時也限制了模型的靈活性,所以比較不適合需要創意的任務

Many-shot 和 Fine-tuning 可以怎麼選擇?

你可能會發現 Many-shot 的介紹聽起來跟 Fine-tuning (模型微調)非常像,這是因為他們的目標很類似,都是為了讓 AI 學會一個高度結構化的任務,以達到最穩定、最不會出錯的輸出。

但他們在實作跟成本上,還是有所差別:

  • Many-shot:是在提示詞中提供大量的範例以解決問題,我們每一次呼叫 AI,都要重新把大量的範例全部塞到提示詞中
  • Fine-tuning:是直接在模型中解決問題,我們會提供數百甚至數千個範例來訓練一個客製化的新模型,訓練完成後,只需要用 Zero-shot 或 Few-shot 的簡單指令,就能使用我們訓練好的模型完成任務

不過實務上可以把 Many-shot 看成是投入 Fine-tuning 之前的概念驗證,假設我們今天要面對一個複雜的分類或任務,就可以先用 Many-shot 進行驗證,例如先花點時間準備 10 ~ 20 個高品質的範例將它丟給模型,看看模型是否能學會我們想要的邏輯並產生出正確的結果。

如此一來可以節省時間成本,如果驗證失敗,也可以重新檢討策略,避免投入大量成本去做無效的 Fine-tuning

為什麼 Zero-shot 的產出有時候比 Few-shot 好?

如果你有試著使用 Few-shot 請 AI 輸出,可能會產生一些疑惑:為什麼有時候 Zero-shot (沒有範例 / 不提供範例) 可能比 Few-shot 的結果好?

我覺得這不一定代表 Few-shot 已經過時,而是因為這些大語言模型已經愈來愈強,所以即使在 Zero-shot 的狀態下,也可以產出高品質的內容。

那麼我們還可以怎麼運用 Few-shot 的概念呢?也許可以試著調整策略,例如:

改用 Zero-shot 生成內容,並把範例改成約束

使用範例的初衷是讓 AI 有個參考,既然 AI 已經表達得很好了,我們就可以把範例改成另一種參考,比如約束他結構、格式 ... 等,這樣就可以在保留創意的同時,還能控制輸出品質。

請針對「ESG」生成 5 個文案。  
要求:  
1. 每則 20 字以內  
2. 語氣活潑有力  
3. 需包含一個動詞

Zero-shot 和 Few-shot 一起用

「小孩子才做選擇,我全都要!」,與其糾結要選擇 Zero-shot 還是 Few-shot,不妨讓他們 PK 一下,最後再由我們選擇最適合的輸出。

請生成 5 個介紹 ESG 的文案,分為三組:
1. Zero-shot 創意自由發揮  
2. Few-shot 模仿以下範例 (附上範例)
3. Zero-shot + 格式約束 (附上條件)

當你有強大的模型可使用時,我們就用 Zero-shot 來生成更有創意的內容,並使用 Few-shot 做模仿、約束,或是需要保持一致性的任務,我們真的不需要強制二選一或三選一,而是要依照需求切換組合。

小結

Zero-shot、Few-shot 以及 Many-shot 最主要的差別就是範例的數量,他影響了輸出的創意、穩定性和成本,只要掌握了這三種方法,就可以因時制宜的調整自己的輸出策略,達到事半功倍的效果。


上一篇
Day4. 提供少量範例 Few-shot 來引導模型的技巧
下一篇
Day6. 如何設計給 AI 用的指令語言
系列文
可愛又迷人的提示詞工程 Prompt Engineering6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言