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