一篇文章讓你成為prompt專家
用戶在使用大模型產(chǎn)品的過(guò)程中,需要通過(guò)輸入精準(zhǔn)的prompt,來(lái)得到自己想要的答案。那么,在使用大模型的時(shí)候,我們要怎么寫(xiě)prompt,才可以更高效地獲得想要的答案?這篇文章里,作者便做了梳理和總結(jié),或許會(huì)對(duì)想了解大模型的同學(xué)有所啟發(fā)。
前言
一直有在持續(xù)研究大語(yǔ)言模型,給身邊的朋友推薦了很多國(guó)內(nèi)外的GPT產(chǎn)品,大多數(shù)朋友體驗(yàn)完的感受就是“AI也就這樣吧~”,這可能也是Chat GPT在今年第二、三季度的日活開(kāi)始下滑的原因之一。
目前的市面上大部分的大模型訓(xùn)練數(shù)據(jù)量級(jí)少則都在百億級(jí)別,多則在萬(wàn)億級(jí)別,GPT的回答質(zhì)量高低一方面取決于模型本身的數(shù)據(jù)和對(duì)自然語(yǔ)言的理解,另一方面取決于我們輸入的提示內(nèi)容(prompt)是否足夠精準(zhǔn)和具體。
在今年五月份的一篇文章也有提到過(guò)如何使用GPT類產(chǎn)品,那么今天就從更專業(yè)的角度,再給大家詳細(xì)科普一下究竟如何寫(xiě)prompt,可以更高效得到你想要的答案?
一、基礎(chǔ)概念
在開(kāi)始寫(xiě) prompt之前,我們先了解關(guān)于prompt的這些基本概念:
1. Prompt定義
Prompt(提示)是一段文字、一句話或一個(gè)問(wèn)題,它被用來(lái)引導(dǎo)人工智能模型生成文本或執(zhí)行特定的任務(wù)。它是用戶與模型之間進(jìn)行交互的起點(diǎn),用于明確用戶的需求和意圖。
2. prompt作用
Prompt的主要作用是引導(dǎo)模型進(jìn)行文本生成或其他自然語(yǔ)言處理任務(wù)。
模型會(huì)根據(jù)提示理解用戶的要求,并生成相應(yīng)的文本作為響應(yīng)。
3. 示例
一個(gè)常見(jiàn)的示例是,如果你想要讓模型翻譯一段文字成另一種語(yǔ)言,你可以使用以下提示:“請(qǐng)將下面的英文文本翻譯成法語(yǔ)?!痹谶@個(gè)提示中,明確了任務(wù)(翻譯)和要翻譯的語(yǔ)言(英文到法語(yǔ))。
4. 任務(wù)導(dǎo)向
Prompt可以是任務(wù)導(dǎo)向的,它明確要求模型執(zhí)行特定的任務(wù),如翻譯、回答問(wèn)題、生成文章等。任務(wù)導(dǎo)向的提示通常包含清晰的指令。
5. 開(kāi)放性提示
除了任務(wù)導(dǎo)向的提示,還可以使用開(kāi)放性提示,讓模型自由生成文本,例如:“請(qǐng)寫(xiě)一篇關(guān)于夏季的文章?!边@種提示不會(huì)明確規(guī)定具體的任務(wù),模型需要自行決定生成什么內(nèi)容。
6. 上下文(背景)
在多輪對(duì)話或復(fù)雜任務(wù)中,提示可以包含上下文信息,以確保模型理解問(wèn)題的背景和條件。上下文可以幫助模型更好地生成相關(guān)的響應(yīng)。
二、不同類型prompt示例
1. 任務(wù)導(dǎo)向型
生成一首詩(shī)歌,主題是秋天。翻譯以下西班牙文句子成英文:“El sol brilla en el cielo.”回答問(wèn)題:“誰(shuí)是莎士比亞?”創(chuàng)建一則新聞標(biāo)題,涵蓋太空探索的最新進(jìn)展。
2. 開(kāi)放型
請(qǐng)寫(xiě)一封感謝信,內(nèi)容自由。描述一個(gè)你最喜歡的旅行目的地。編寫(xiě)一篇文章,討論氣候變化對(duì)環(huán)境的影響。請(qǐng)寫(xiě)一個(gè)故事,以“一只迷路的小狗”為主題。
3. 上下文
在以下對(duì)話中,作為第三輪的回應(yīng),繼續(xù)對(duì)話:對(duì)話前兩輪:用戶:明天天氣怎么樣?模型:明天預(yù)計(jì)會(huì)有陣雨,最高溫度25°C。用戶:那我應(yīng)該穿什么?你是一名餐廳服務(wù)員,一位客人對(duì)你的建議提出了投訴,請(qǐng)回應(yīng)。
4. 提示設(shè)計(jì)
對(duì)比下面兩個(gè)提示,哪一個(gè)更適合獲取模型的長(zhǎng)篇文章回應(yīng)?提示1:請(qǐng)寫(xiě)一篇關(guān)于太陽(yáng)系的文章。提示2:請(qǐng)用詳細(xì)的文字描述太陽(yáng)系中每個(gè)行星的特點(diǎn)和軌道。
5. 復(fù)雜任務(wù)型
你是一位虛擬助手,一位用戶要求你協(xié)助安排一次商務(wù)旅行,包括預(yù)訂機(jī)票、酒店和制定行程安排。請(qǐng)?zhí)峁┮粋€(gè)適當(dāng)?shù)幕貞?yīng)。你是一名編程導(dǎo)師,一位學(xué)生向你提問(wèn)如何編寫(xiě)一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)應(yīng)用程序。請(qǐng)解釋并提供指導(dǎo)。
看了上面的5種類型的prompt示例,大家有沒(méi)有一點(diǎn)找到一些規(guī)律,分別對(duì)應(yīng)在不同的使用場(chǎng)景中。比如你不知道自己的prompt哪個(gè)更優(yōu)或者不會(huì)寫(xiě)prompt也可以讓GPT幫助你,使用提示設(shè)計(jì)。
復(fù)雜任務(wù)型是我們比較高頻使用到的prompt類型,它是由特定場(chǎng)景的角色設(shè)定+上下文+任務(wù)組成的。掌握這個(gè)prompt結(jié)構(gòu),可以讓prompt充當(dāng)任何角色幫助你高質(zhì)量輸出內(nèi)容。
三、prompt設(shè)計(jì)
1. prompt設(shè)計(jì)原則
1)清晰和明確
提示應(yīng)當(dāng)表達(dá)清晰和明確的指令或任務(wù),使模型明白你想要什么。避免模糊不清或含糊的表述,以免引導(dǎo)模型產(chǎn)生不準(zhǔn)確的響應(yīng)。不佳示例:請(qǐng)寫(xiě)一篇文章。優(yōu)化示例:請(qǐng)寫(xiě)一篇關(guān)于氣候變化對(duì)極地冰融化的影響的文章。
2)具體性
提示應(yīng)盡可能具體,以減少模型的猜測(cè)和誤解。提供必要的上下文信息,以便模型理解問(wèn)題的背景和條件。不佳示例:請(qǐng)翻譯這句話。優(yōu)化示例:請(qǐng)將以下英文句子翻譯成法語(yǔ):“The sun is shining in the sky.”
2)任務(wù)導(dǎo)向
如果你希望模型執(zhí)行特定任務(wù),明確提供任務(wù)導(dǎo)向的提示,包括明確的動(dòng)作動(dòng)詞或指令。不佳示例:關(guān)于自然界的一些信息。優(yōu)化示例:請(qǐng)列舉五種生活在雨林中的動(dòng)植物。
3)不帶偏見(jiàn)
避免在提示中包含可能引導(dǎo)模型產(chǎn)生偏見(jiàn)或不公平內(nèi)容的語(yǔ)言。確保提示設(shè)計(jì)中的語(yǔ)言中性和尊重。
2. 編寫(xiě)高質(zhì)量prompt
- 仔細(xì)考慮任務(wù):在編寫(xiě)提示時(shí),首先明確任務(wù)和目標(biāo)。問(wèn)自己你想要模型做什么,以及你期望得到什么樣的響應(yīng)。
- 使用明確的語(yǔ)言:使用清晰、直接和明確的語(yǔ)言。不要留下歧義或多義性,以確保模型理解你的意圖。
- 提供上下文:如果需要,提供必要的上下文信息,以幫助模型更好地理解問(wèn)題。
- 避免過(guò)于復(fù)雜的提示:過(guò)于復(fù)雜或含糊不清的提示可能會(huì)導(dǎo)致模型產(chǎn)生混亂的響應(yīng)。保持提示簡(jiǎn)潔而具體。
提示設(shè)計(jì)1(簡(jiǎn)潔而具體):“將以下英文句子翻譯成法文:‘Hello, how are you?’”
提示設(shè)計(jì)2(過(guò)于復(fù)雜和模糊):“請(qǐng)將這個(gè)句子從英文轉(zhuǎn)化為法文,并考慮其中的問(wèn)候和詢問(wèn)對(duì)方的情感,以及可能的回應(yīng)。”
在這個(gè)例子中,提示設(shè)計(jì)1非常簡(jiǎn)潔而具體。它明確了任務(wù),即將給定的英文句子翻譯成法文。這樣的提示很清晰,模型可以直接理解任務(wù)并提供正確的翻譯。
相比之下,提示設(shè)計(jì)2過(guò)于復(fù)雜和模糊。它包含了許多不相關(guān)的信息,例如情感和可能的回應(yīng),這可能會(huì)讓模型感到困惑,并導(dǎo)致不準(zhǔn)確的翻譯或混亂的響應(yīng)。
3. 避免常見(jiàn)prompt設(shè)計(jì)錯(cuò)誤
1)不要假設(shè)模型知道你的意圖:不要期望模型能夠猜測(cè)你的意圖。確保你的提示能夠明確傳達(dá)你的需求。
2)避免含糊不清的問(wèn)題:避免使用模糊或開(kāi)放性的問(wèn)題,除非你明確希望獲得開(kāi)放性的響應(yīng)。任務(wù)導(dǎo)向的提示通常更有效。
3)謹(jǐn)慎使用負(fù)面指令:避免使用否定語(yǔ)言,因?yàn)樗赡軐?dǎo)致混淆或產(chǎn)生不期望的結(jié)果。
不清晰的提示:“不要忘記不按照這個(gè)方法做?!边@個(gè)提示使用了多個(gè)否定性詞匯(“不要”和“不按照”),這使得它的意思變得不明確。用戶可能會(huì)疑惑,到底是要按照這個(gè)方法做還是不要按照這個(gè)方法做,因?yàn)榉穸ㄐ栽~匯相互抵消,導(dǎo)致混淆。
更清晰的提示:“請(qǐng)按照這個(gè)方法操作。”在這個(gè)提示中,去掉了否定性詞匯,指令變得明確和清晰。用戶明白他們應(yīng)該按照給定的方法進(jìn)行操作,而不需要猜測(cè)是否需要做相反的事情。
4)考慮多個(gè)提示:如果你不滿意模型的響應(yīng),不要猶豫嘗試不同的提示。不同的提示可能會(huì)產(chǎn)生不同的效果。
四、如何優(yōu)化prompt
1. 優(yōu)化提示以獲得更好的結(jié)果
- 明確目標(biāo):在設(shè)計(jì)提示之前,明確你的任務(wù)目標(biāo)是什么。確定你希望模型生成什么樣的文本或完成什么任務(wù)。
- 考慮上下文:如果是多輪對(duì)話或需要依賴先前信息的任務(wù),確保提示包含足夠的上下文信息,以便模型理解問(wèn)題的背景。
- 清晰明了:提示應(yīng)該清晰、明了,具體說(shuō)明你的需求或任務(wù)。避免使用模糊或多義性的語(yǔ)言。
- 任務(wù)導(dǎo)向性:如果需要模型執(zhí)行特定任務(wù),使用任務(wù)導(dǎo)向性的提示,明確任務(wù)和行動(dòng)動(dòng)詞。
- 實(shí)驗(yàn)和反饋:在設(shè)計(jì)提示后,進(jìn)行實(shí)驗(yàn),觀察模型的響應(yīng),并收集用戶反饋。這有助于確定提示的有效性和效果。
2. 不斷迭代和實(shí)驗(yàn)以改進(jìn)提示的方法
1)嘗試不同的提示:不要害怕嘗試不同的提示,尤其是在初始嘗試沒(méi)有達(dá)到預(yù)期效果時(shí)。通過(guò)多次嘗試,你可以發(fā)現(xiàn)哪些提示對(duì)模型性能更有效。
2)收集反饋:收集用戶和領(lǐng)域?qū)<业姆答?。他們的反饋可以提供有關(guān)提示效果的有用信息,并指導(dǎo)下一步的改進(jìn)。
3)使用探索性問(wèn)題:提出一系列探索性問(wèn)題,以測(cè)試模型在不同條件下的響應(yīng)。這有助于了解提示的效果。
例子:假設(shè)你正在開(kāi)發(fā)一個(gè)智能客服聊天機(jī)器人,其任務(wù)是回答關(guān)于產(chǎn)品的問(wèn)題。你已經(jīng)設(shè)計(jì)了一些提示,用于引導(dǎo)模型回答用戶的問(wèn)題?,F(xiàn)在,你希望測(cè)試這些提示的效果。
探索性問(wèn)題:
- 問(wèn)題類型1:“產(chǎn)品的尺寸是多少?”
- 問(wèn)題類型2:“這個(gè)產(chǎn)品有哪些顏色可供選擇?”
- 問(wèn)題類型3:“這個(gè)產(chǎn)品的價(jià)格是多少?”
- 問(wèn)題類型4:“產(chǎn)品在哪里生產(chǎn)?”
- 問(wèn)題類型5:“這個(gè)產(chǎn)品的評(píng)價(jià)如何?”
在這個(gè)示例中,你提出了一系列不同類型的問(wèn)題,涵蓋了尺寸、顏色、價(jià)格、制造地點(diǎn)和評(píng)價(jià)等方面。這些問(wèn)題代表了不同的查詢類型,有些可能需要模型回答一個(gè)具體的數(shù)值,而有些可能需要模型提供一些描述性信息。
通過(guò)觀察模型在回答這些不同類型問(wèn)題時(shí)的表現(xiàn),你可以了解哪些提示對(duì)不同任務(wù)更有效,哪些可能需要進(jìn)一步改進(jìn)或優(yōu)化。這種方法有助于你更全面地了解提示的效果,以便在實(shí)際應(yīng)用中更好地滿足用戶的需求。
4)引入多樣性:嘗試在提示中引入一些多樣性,以測(cè)試模型的靈活性和適應(yīng)能力。不要一成不變地使用相同類型的提示。
3. 根據(jù)模型的反饋進(jìn)行調(diào)整
- 分析生成文本:仔細(xì)分析模型生成的文本,確定是否滿足了預(yù)期的標(biāo)準(zhǔn)。檢查文本的準(zhǔn)確性、流暢性和相關(guān)性。
- 識(shí)別問(wèn)題:如果模型的響應(yīng)不符合預(yù)期,嘗試確定問(wèn)題所在??赡苁翘崾驹O(shè)計(jì)、上下文不足或任務(wù)定義的問(wèn)題。
- 調(diào)整提示:根據(jù)分析的結(jié)果,對(duì)prompt進(jìn)行調(diào)整??梢愿鞔_地描述任務(wù),提供更多上下文信息,或者改進(jìn)提示的語(yǔ)言。
- 重新實(shí)驗(yàn):重新運(yùn)行實(shí)驗(yàn),觀察模型的新響應(yīng)。不斷調(diào)整和測(cè)試,直到獲得期望的結(jié)果。
通過(guò)不斷迭代、實(shí)驗(yàn)和根據(jù)模型的反饋進(jìn)行調(diào)整,你可以優(yōu)化提示,以獲得更好的模型性能和生成文本的質(zhì)量。這是一個(gè)持續(xù)改進(jìn)的過(guò)程,可以幫助你充分利用自然語(yǔ)言處理模型的潛力。
五、prompt設(shè)計(jì)考慮倫理和法律
- 避免偏見(jiàn)和不公平性:提示設(shè)計(jì)應(yīng)避免包含偏見(jiàn)或不公平內(nèi)容,不應(yīng)歧視任何特定群體,不應(yīng)促使模型生成歧視性或有害的文本。
- 不誤導(dǎo)用戶:提示不應(yīng)具有誤導(dǎo)性。它們應(yīng)當(dāng)清晰明了,不應(yīng)故意誤導(dǎo)用戶,而應(yīng)當(dāng)以用戶的最佳利益為優(yōu)先考慮。
- 維護(hù)隱私:在多輪對(duì)話中,不應(yīng)泄露用戶的敏感信息或違反隱私。提示設(shè)計(jì)應(yīng)保護(hù)用戶的個(gè)人信息,符合數(shù)據(jù)隱私法規(guī)。
- 確保安全性:提示不應(yīng)鼓勵(lì)危險(xiǎn)、非法或有害的行為。它們應(yīng)當(dāng)有助于維護(hù)網(wǎng)絡(luò)和個(gè)人安全。
- 法律遵從性:提示設(shè)計(jì)應(yīng)符合適用的法律法規(guī),包括數(shù)據(jù)隱私、版權(quán)和消費(fèi)者權(quán)益法規(guī)。
六、一些大模型AI產(chǎn)品如何設(shè)計(jì)prompt
1. 文心一言
用戶和模型直接進(jìn)行對(duì)話交互,文心一言在對(duì)話框提供了一些prompt示例和一言百寶箱,不難看出提供的prompt結(jié)構(gòu)基本都遵循前面提到的角色、任務(wù)、上下文、要求(對(duì)任務(wù)的補(bǔ)充)。例如:
任務(wù):為電影[消失的她]寫(xiě)一則無(wú)劇透的影視評(píng)論任何?要求:為杭州亞運(yùn)會(huì)賦詩(shī)一首,要求表達(dá)出對(duì)杭州亞運(yùn)會(huì)的美好期待和祝福。
角色+任務(wù)+要求:請(qǐng)作為一名媒體編輯,寫(xiě)一個(gè)[九九重陽(yáng)節(jié)全民開(kāi)啟登山活動(dòng)]的新聞報(bào)道的標(biāo)題,要求主題明確、結(jié)構(gòu)合理、節(jié)奏鮮明、風(fēng)格獨(dú)特。
上下文+任務(wù):想象一下你置身于一個(gè)魔法世界,你的魔法能力是可以隨心所欲地創(chuàng)造出任何東西?,F(xiàn)在,請(qǐng)寫(xiě)一篇關(guān)于你如何使用這個(gè)魔法能力的故事。
2. 訊飛星火
同樣是用戶與模型直接進(jìn)行對(duì)話交互,星火在個(gè)人用戶側(cè)的投入相對(duì)更多,不僅僅有文心一言的場(chǎng)景百寶箱,還有各類AI助手,并且還支持個(gè)人用戶上傳數(shù)據(jù)自定義AI助手,大大提升了大模型的可玩性及個(gè)性化程度。
訊飛的prompt基本都是這種復(fù)雜任務(wù)型的,角色設(shè)定(場(chǎng)景)+上下文+任務(wù)+要求。例如:
我希望你是一位手工達(dá)人,現(xiàn)在需要制作一個(gè)[手工紙杯女孩]主題的手工,需要用到[環(huán)保類材料,例如生活中常見(jiàn)的廢品]材料,請(qǐng)?zhí)峁┦止ぶ谱鞯慕坛獭?/p>
七、prompt學(xué)習(xí)
1. 在線教程和課程
prompt個(gè)人分享文章:https://hubeiqiao.notion.site/ChatGPT-c13f60d4adc14eb0ae73a58dca3a54af
油管的prompt視頻:https://www.youtube.com/watch?v=dOxUroR57xs
國(guó)外付費(fèi)的ChatGPT課程–初級(jí):https://www.edx.org/learn/artificial-intelligence/edx-introduction-to-chatgpt
2. 論文
prompt一些論文研究:https://learnprompting.org/docs/intro
3. 博客和網(wǎng)站
文心一言的官方課程:https://yiyan.baidu.com/learn
https://github.com/dair-ai/Prompt-Engineering-Guide
https://github.com/openai/openai-cookbook/
AI新聞社區(qū):https://news.bensbites.co/
國(guó)內(nèi)大神個(gè)人博客:https://learningprompt.wiki/zh-Hans/docs/recommend/information-worth-reading
Azure 官方prompt教程:https://learn.microsoft.com/zh-cn/azure/ai-services/openai/concepts/prompt-engineering
推薦小白先看文心一言的官方課程https://yiyan.baidu.com/learn,一共8節(jié),深入淺出的帶你玩轉(zhuǎn)AI大模型。其次是prompt一些論文研究,了解大模型的原理有助于你寫(xiě)出更好的prompt。其他的感興趣可以多多了解。
八、總結(jié)
作為一個(gè)AIGC產(chǎn)品經(jīng)理,我認(rèn)為他的核心價(jià)值有兩點(diǎn):
1. 場(chǎng)景切入
精準(zhǔn)的需求場(chǎng)景切入:產(chǎn)品經(jīng)理需要腦洞大開(kāi),找準(zhǔn)用戶需求,結(jié)合AI滿足用戶在這一場(chǎng)景下的需求。
2. 低成本使用
低成本的讓普通用戶用起來(lái):許多人都聽(tīng)過(guò)chat GPT和Midjourney,但由于目前有一定的使用門(mén)檻,很少有人真正的使用過(guò)它們,會(huì)用的人更是少之又少,那么AIGC產(chǎn)品經(jīng)理的價(jià)值就體現(xiàn)在,如何巧妙設(shè)計(jì)prompt和交互,讓普通人不改變現(xiàn)有的提問(wèn)習(xí)慣下就能更高效更精準(zhǔn)的進(jìn)行內(nèi)容創(chuàng)作。
本文由 @Glee 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!