Few-shot Prompting 為什麼在新市場分類失準?
某企業使用生成式 AI 進行文字分類,初期僅根據既有業務資料設計少量樣本提示(Few-shot Prompting)。當模型應用至新市場資料時,團隊發現分類結果明顯不穩定,且原先提供的範例並未涵蓋新市場常見的表達方式。依此情境判斷,下列何者最可能為主要原因?
某企業用 Few-shot Prompting 做文字分類,在原本的市場效果不錯,換到新市場之後分類結果明顯不穩定。原先設計的範例沒有涵蓋新市場常見的表達方式。
問你:依這個情境,最可能的主要原因是什麼?
一句話總結
Few-shot Prompting 靠少量範例引導模型,當範例涵蓋不了新情境的表達差異,模型就沒有足夠的參照基準做出穩定分類,這是「少量範例 vs. 情境多樣性」的根本矛盾。
先感受問題:台灣學的規則,到東南亞為什麼失效?
假設你在「全球零售集團」負責 AI 分類系統。公司在台灣用 AI 把客戶意見自動分類成「正面」「負面」「中性」,效果很好。
Few-shot Prompting 的做法是:在 Prompt 裡給幾個範例,告訴模型「這個算正面、那個算負面」。台灣的範例是:
- 「品質很好,下次還買」→ 正面
- 「等了一個月還沒收到」→ 負面
- 「還行,沒什麼特別」→ 中性
系統開始在泰國市場運作。泰國客戶的表達習慣很不一樣:
- 「สินค้าดีมากเลยค่ะ 555」(商品很好 + 泰式笑聲符號)→ 正面,但 AI 看到 555 不確定
- 「พอใช้ได้ครับ」(還可以接受)→ 其實是委婉的負面,但 AI 分類成正面
- 「ไม่ค่อยโอเค」(不太 OK)→ 負面,但 AI 不知道這個表達方式
台灣的範例根本沒有涵蓋泰國式的表達方式,AI 面對這些情況只能猜,結果就不穩定了。
用舊範例闖新市場,會遇到什麼問題?
「全球零售集團」依賴台灣範例的 Few-shot Prompting 擴展到東南亞市場,遇到了幾個系統性問題:
- 語言表達差異:泰語、印尼語的語氣標記、委婉說法和台灣中文完全不同,舊範例沒有覆蓋
- 文化語境不同:泰國人不喜歡直接說負面,習慣用委婉語表達,但範例全是直白的台灣中文
- 俚語和網路用語:每個市場的網路俚語快速演化,舊範例根本跟不上
- 範例數量就是有限:Few-shot 本來就只有幾個範例,語意空間有限,到新市場就「出邊界」了
- 沒有上下文適應機制:模型只靠給定的範例推論,沒有辦法自動適應新情境,範例沒見過的就猜
每個問題都指向同一個核心:範例太少、覆蓋不了新情境的多樣性。
Few-shot 的邊界在於範例能不能覆蓋情境差異
「全球零售集團」的 AI 工程師找到問題本質:不是模型能力差,也不是 Prompt 寫不好,而是提供的範例無法涵蓋新市場的資料分布。
類比:想像你在教一個外國朋友讀懂台灣的綜藝節目字幕,你只給了三個例子,然後要他獨自看新節目。他看完三個例子後,遇到的都是熟悉格式的字幕還好;但一碰到他從沒見過的台語俚語,他就只能猜了。
解決方向是:為新市場補充當地的 Few-shot 範例,或者在針對新市場的資料上做 Fine-tuning,讓模型真正學到當地的表達習慣,而不只是靠幾個台灣例子猜。
這就是選項 B 講的:少量範例難以涵蓋新情境的資料差異,這是 Few-shot Prompting 在新市場失效的根本原因。
技術版:Few-shot Prompting 的能力邊界
Few-shot Prompting 是 Prompt Engineering 技術中最實用的方法之一,透過在 Prompt 中提供少量的「輸入-輸出」範例,引導大型語言模型執行特定任務,無需修改模型本身。
Few-shot 的工作原理:模型看到幾個範例後,從中推論「這個任務的規則是什麼」,然後把這個規則應用到新的輸入。例子越具代表性,模型推論的規則越準確。
Few-shot 的根本限制:
- 情境覆蓋率:幾個範例只能覆蓋一部分的情境分布,當新輸入落在範例沒覆蓋的區域,模型只能外推猜測
- 分布偏移(Distribution Shift):訓練/範例資料的分布和實際應用資料的分布不一致,就是這個問題的本質,新市場資料 = 新分布
- vs. Zero-shot:Zero-shot 完全不給範例,靠模型的通用能力;Few-shot 給幾個範例,引導性強但限制於範例涵蓋的範圍
為什麼出題者要考這題:AI 應用規劃師在規劃跨市場的生成式 AI 應用時,必須了解 Prompt 技術的適用範圍。Few-shot 在同質情境下效果好,但遇到資料分布差異大的場景就需要額外的適應策略(補充範例、Fine-tuning、或 RAG)。
為什麼其他選項是錯的
A模型容易對單一範例產生過度記憶
模型看到幾個範例就「死背」那幾個,無法類化到其他輸入。
「過度記憶單一範例」是訓練模型時(Fine-tuning)才容易發生的過擬合問題。Few-shot Prompting 不更新模型參數,模型不會「記憶」範例,而是用它們來推論規則。問題不在「記太牢」,而在「範例不夠覆蓋新情境」,兩個方向不同。
把 Few-shot Prompting 和 Fine-tuning 混在一起、以為 Prompting 也會造成過擬合的人。Prompting 不改模型,所以不存在「過度記憶」的問題。
CPrompt 設計無法引導模型擷取共通特徵
Prompt 寫得不夠好,模型沒辦法從範例中找出共通規律。
題目說在舊市場效果不錯,代表 Prompt 設計本身沒有問題,同樣的 Prompt 在舊市場能用,只是到新市場就失效了。問題的根源是「資料情境改變了」,而不是「Prompt 寫不好」。Prompt 設計問題是一個可以修改的技術問題,但本題的根本是資料分布的差異。
習慣把 AI 失效歸咎於「Prompt 設計不好」的人。這是常見的第一反應,但本題已經明確排除了這個可能性(舊市場有效)。
D模型推理能力不足以完成分類任務
模型本身的能力就不夠,沒辦法做這種分類任務。
題目說在舊市場分類效果是好的,代表模型有能力完成這個任務。同一個模型到了新市場就失效,問題不在模型能力(能力沒有變),而在輸入資料的分布改變了。「模型能力不足」這個說法也解釋不了「為什麼只在新市場失效」。
看到「分類不準」就直覺認為是「模型不夠好」的人。模型沒有變,變的是輸入資料的情境分布。
同個考點下次怎麼變形
Zero-shot、Few-shot、Fine-tuning 三種方法各適合什麼情境?
都是讓模型完成特定任務,哪個比較好用?
Zero-shot:不給範例,適合任務定義清晰、模型通用能力足夠的場景,成本最低;Few-shot:給幾個範例,適合任務有特定格式需求、情境變化不大的場景;Fine-tuning:用大量特定領域資料更新模型,適合情境多樣、需要深度適應的場景,成本最高。
什麼是資料分布偏移(Distribution Shift)?為什麼它讓模型失效?
資料變了所以模型不準,很正常吧?
分布偏移是指模型訓練時見到的資料分布,和實際部署時輸入資料的分布不一致。模型從舊分布學到的規律,不一定能泛化到新分布。本題的情境就是典型的分布偏移:從台灣市場(舊分布)到東南亞市場(新分布),表達方式和語言習慣都不同。
如何提升 Few-shot Prompting 在不同情境下的穩定性?
多給幾個範例就好了?
提升穩定性的策略:範例多樣化(覆蓋更多不同的表達方式和邊界案例)、針對新情境補充範例(收集新市場的實際資料作為範例)、動態選擇範例(用 RAG 根據每次輸入選擇最相關的範例)。根本解法是確認範例能代表實際應用情境的資料分布。
AI 應用在跨市場部署前,應做哪些評估?
舊市場跑得好,新市場應該沒問題?
應在新市場部署前進行:資料樣本收集(收集新市場的真實資料)、分布分析(比較新舊市場的資料特性差異)、離線評估(用新市場資料測試現有模型的效能)。發現偏差後決定補充範例、Fine-tuning 或建立新市場專屬模型。不能假設「舊市場通就新市場通」。
Few-shot 和 RAG(檢索增強生成)在解決「知識不足」問題上有什麼差別?
兩個都是「給模型更多資訊」,有差嗎?
Few-shot 是靜態地在 Prompt 裡放幾個固定範例,適合格式引導,但範例固定不變;RAG 是每次根據輸入動態從知識庫檢索相關資料加入 Prompt,知識庫可以持續更新,更適合資訊量大、情境多樣的場景。對於本題的新市場問題,RAG 的動態檢索能比 Few-shot 更好地適應新市場的表達差異。
想再往下看,這 5 個
- 少樣本學習(Few-shot Learning)在 Prompt 中提供少量輸入輸出範例引導模型,範例覆蓋率決定分類穩定性,新情境需補充當地範例才能維持準確度
- 提示工程(Prompt Engineering)設計和優化輸入提示以引導大型語言模型產生期望輸出,Few-shot 是其中最常用且易因情境差異失效的方法
- 泛化能力(Generalization)模型將從訓練資料學到的規律應用到未見過情境的能力,範例多樣性不足時跨市場泛化能力會顯著下降
- 微調(Fine-tuning)以特定領域資料更新模型參數,適合情境差異大的場景,比 Few-shot 更能深度適應新市場的表達習慣
- 檢索增強生成(Retrieval-Augmented Generation)每次根據輸入動態從知識庫檢索相關段落後生成回答,比靜態 Few-shot 更能適應情境多樣性問題