- 智能體設計指南:成為提示詞高手和AI Agent設計師
- 云中江樹 王照華 伊麗琦 李繼剛
- 1692字
- 2025-06-26 17:56:52
1.7 示例法
對于人類來說,同一個提示詞的不同表達方式區別不大,但對于大模型來說,最終得到的生成結果可能千差萬別。在訓練模型的數據中,不同的表達可能來自不同的文本語境并用于不同目的,最終的結果往往難以預測。
早在2020年,Tom B.Brown等人在他們的論文“Language Models are Few-Shot Learners”中指出:Few-shot(少樣本示例)學習是一種讓大模型基于少量的示例快速適應新任務的方法。通過給ChatGPT提供幾個示例,它可以更好地理解我們的問題,并給出更準確的答案。這就像是給模型提供了一個更明確的上下文或參考,幫助它更好地完成任務。所以,使用Few-shot的方法,大模型的回答質量和準確性都會有所提高。
我們來看看不同的示例使用方式。
(1)無樣本提示(Zero-shot prompting)
無樣本提示的范例如下。
提示詞:
請為我生成一個描述春天的句子。
AI輸出:
春天的到來使得世界重新煥發生機,萬物復蘇,鮮花綻放,綠葉蔥蘢,空氣中彌漫著新生的氣息和生命的活力。
(2)單樣本提示(One-shot prompting)
單樣本提示只展示1條提示,示例如下。
提示詞:
請為我生成一個描述春天的句子。
我想要的句子類似于如下對稱詩句:“綠樹村邊合,青山郭外斜。”
AI輸出:
“桃花河畔映,柳絮風中飄。”
(3)少樣本提示(Few-shot prompting)
少樣本提示展示2條及以上提示,示例如下。
提示詞:請為我生成一個描述春天的句子。
我想要的句子類似于如下對稱詩句:
“綠樹村邊合,青山郭外斜?!?/p>
“欲把西湖比西子,淡妝濃抹總相宜?!?/p>
“柳色濃煙綠,桃花淡露紅?!?/p>
AI輸出:
“櫻花灑落繁,春綠涌田間。”
值得注意的是,在另外一些情況下,提供示例能在一定程度上避免模型的幻覺問題。如果我們能為模型提供與當前查詢相關的可信信息,那么就可以指示模型使用所提供的信息來生成答案。例如,在輸入內容中補充相關知識,就可以直接要求大模型通過引用所提供文檔中的段落來為生成內容添加引文(這也是檢索增強生成,即RAG的思路)。注意,輸出中的引用可以通過所提供文檔中的字符串匹配進行驗證。
提示詞:
你會被提供一個用'''符號包圍的文檔信息和一個問題。
你的任務是嚴格使用'''包圍的文檔信息來回答用戶的問題,如果文檔信息不足以回復用戶的問題,那么就直接輸出“文檔信息無法回答該問題”。
'''{
"title":"江南曲",
"author":"李益",
"paragraphs":[
"嫁得瞿塘賈,朝朝誤妾期。",
"早知潮有信,嫁與弄潮兒。"
],
"dynasty":"唐代"
},
{
"title":"感遇·江南有丹橘",
"author":"張九齡",
"paragraphs":[
"江南有丹橘,經冬猶綠林。",
"豈伊地氣暖?自有歲寒心。",
"可以薦嘉客,奈何阻重深。",
"運命惟所遇,循環不可尋。",
"徒言樹桃李,此木豈無陰?"
],
"dynasty":"唐代"
},
{
"title":"終南望余雪",
"author":"祖詠",
"paragraphs":[
"終南陰嶺秀,積雪浮云端。",
"林表明霽色,城中增暮寒。"
],
"dynasty":"唐代"
},
{
"title":"下終南山過斛斯山人宿置酒",
"author":"李白",
"paragraphs":[
"暮從碧山下,山月隨人歸。",
"卻顧所來徑,蒼蒼橫翠微。",
"相攜及田家,童稚開荊扉。",
"綠竹入幽徑,青蘿拂行衣。",
"歡言得所憩,美酒聊共揮。",
"長歌吟松風,曲盡河星稀。",
"我醉君復樂,陶然共忘機。"
],
"dynasty":"唐代"
}'''
請給我一首祖詠寫的詩。
AI輸出:
祖詠寫的詩是:
標題:“終南望余雪”
作者:祖詠
內容:
“終南陰嶺秀,積雪浮云端。
林表明霽色,城中增暮寒?!?/p>
朝代:唐代
注意:
1)示例法本質是給模型示范,讓模型模仿,以提高其學習能力。一方面,可以提高模型的理解能力,就像學習一種方法一樣,學習了理論之后總感覺有不到位的地方,當老師再給出一個案例時,一下就懂了。另一方面,能夠更好地控制內容以格式化方式輸出,就像上面的詩句輸出一樣。很多時候,在寫一些公文、通知等材料時,知道內容怎么寫,但不知道怎么排版布局。當有一個模板時,就知道怎么排版了。
2)一般來說,示例越多,模型模仿和學習的效果越好。當單個示例讓模型表現不足時,可以考慮增加示例。但示例也不是越多越好,示例太多會導致提示詞內容過長,甚至影響提示詞中非示例部分的語義。原則是:滿足需求即可,切勿堆砌,一般而言兩三個例子即可。
3)好的示例,一條頂多條,應盡量選用有代表性的示例。
4)大部分情況下,不提供示例模型也能表現得很好。只是在需要按格式輸出時,給出格式框架即可,無須提供完整示例。