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