一篇文章讓你成為prompt專家

0 評論 7400 瀏覽 43 收藏 21 分鐘

用戶在使用大模型產(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)理平臺僅提供信息存儲空間服務。

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!