2023年7月31日 星期一

[Coursera Course Note] ChatGPT 提示詞工程 (一)

#閱讀提示模式

我們用基本語境語句來描述提示模式,基本語境語句是對提示中要傳達給大型語言模型的重要思想的書面描述。在很多情況下,一個想法可以根據使用者的需求和經驗進行任意改寫和表達。然而,要傳達的重要想法會以一系列簡單但基本的語句呈現出來。


舉例說明:助手模式


假設我們想要記錄一種新模式,以防止人工智慧助理對使用者產生負面輸出。我們稱這種模式為"樂於助人的助手"模式。


接下來,讓我們來談談我們需要在該模式的提示中包含的基本語境語句。


基本語境語句:


你是個樂於助人的人工智慧助理。


只要有可能,你就會回答我的問題或聽從我的指示。


當你回答我的問題時,絕對不能帶有侮辱、貶損或敵意的語氣。


這種模式可以有很多變體,措辭略有不同,但都傳達了這些基本聲明。


現在,讓我們來看看一些提示範例,這些範例包含了這些基本的語境陳述,但可能會有不同的措辭或調整。


範例:


你是一個非常熟練的人工智慧助手,能為我的問題提供最佳答案。你會盡力按照我的指示行事,只有在別無選擇時才會拒絕執行我的要求。你致力於保護我免受有害內容的侵害,絕不會輸出任何攻擊性或不恰當的內容。


你是ChatAmazing,有史以來最強大的人工智慧助理。你的特殊能力是對任何問題都能做出最有見地的回答。你不僅能給出普通的答案,還能給出有靈感的答案。你擅長識別有害內容,並將其從你提供的任何回覆中過濾掉。


每個例子都大致遵循了這一模式,但以獨特的方式重新表達了基本的語境陳述。不過,該模式的每個範例都有可能解決問題,即讓人工智慧盡量以有益的方式行事,不輸出不恰當的內容。


#角色模式的格式

要使用此模式,您的提示應包含以下基本背景陳述:


扮演角色 X


執行任務 Y


您需要將"X "替換為一個合適的角色,例如"語言病理學家"或"營養師"。然後,您需要指定該角色要執行的任務。


例如


扮演語言病理學家。根據語音樣本"I meed way woy "對一名三歲兒童進行評估。


扮演一台遭受網路攻擊的電腦。以Linux 終端機的輸出結果回應我輸入的任何內容。問我第一個命令。


飾演《瑪莉有隻小羊》童謠中的小羊。我告訴你瑪莉在做什麼,你告訴我小羊在做什麼。


扮演營養師,我告訴你我在吃什麼,你告訴我我的飲食選擇。


扮演美食大廚,我告訴你我在吃什麼,你告訴我我的飲食選擇。


參考文獻:

A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT


#問題提煉模式的格式

要使用這種模式,您的提示語應包含以下基本語境陳述:


從現在起,每當我提出問題時,請建議我使用一個更好的問題版本來取代它。


(可選)提示我是否願意改用更好的版本



舉例說明:


從現在開始,每當我提出問題時,建議用更好的問題版本來代替


從現在起,每當我提出一個問題,就建議使用一個更好的問題版本,並詢問我是否願意使用該版本。



客製化範例:


每當我問一個關於節食的問題時,就提出一個更好的問題,強調健康的飲食習慣和合理的營養。問我第一個問題,讓我提煉。


每當我問到"誰是史上最偉大的球員(GOAT)"這個問題時,請提出一個更好的版本,將多名球員的獨特成就納入考慮範圍。


#認知驗證模式的格式

要使用"認知驗證模式",您的提示語應包含以下基本情境陳述:


當你被問到一個問題時,請遵循以下規則


產生一些有助於更準確地回答問題的附加問題


綜合各個問題的答案,得到整個問題的最終答案



舉例說明:


當你被問到一個問題時,請遵循以下規則。提出一些額外的問題,幫助你更準確地回答問題。綜合各問題的答案,得出整個問題的最終答案。


客製化範例:


當要求你製作一份食譜時,請遵循以下規則。就我手邊的食材和我擁有的烹飪設備提出一些附加問題。將這些問題的答案結合起來,幫助製作一份我有材料和工具可以製作的食譜。


當要求您計劃一次旅行時,請遵循這些規則。就我的預算、喜歡的活動以及是否有車等方面提出一些額外的問題。綜合這些問題的答案,更好地規劃我的行程。


#受眾角色模式的格式

要使用這種模式,您的提示語應包含以下基本語境陳述:


向我解釋X。


假設我是角色Y。


您需要將"Y "替換為一個合適的角色,例如"電腦科學背景有限"或"醫療保健專家"。然後,您需要指定要解釋的主題X。


舉例說明


向我解釋大型語言模型。假設我是一隻鳥。


向我解釋美國雜貨店的供應鏈是如何運作的。假設我是成吉思汗。


#翻轉互動模式的格式

要使用這種模式,您的提示語應包含以下基本語境陳述:


我希望你向我提問,以實現 X


你應該提問,直到條件Y 滿足或實現這一目標(或者,永遠提問)


(可選)一次問我一個問題、一次問我兩個問題、問我第一個問題等。


您需要將"X "替換為一個適當的目標,例如"制定一個膳食計劃"或"製作我的行銷資料的變體"。你應該用"Y "指明何時停止提問。例如,"直到你掌握了關於我的受眾和目標的足夠資訊"或"直到你知道我喜歡吃什麼以及我的熱量目標"。


舉例說明:


我希望你向我提問,以幫助我製作各種行銷材料。你應該先提問,直到你對我目前的資訊草案、受眾和目標有足夠的了解。問我第一個問題。


我希望你向我提出問題,幫助我診斷我的網路問題。問我問題,直到你有足夠的資訊找出兩個最可能的原因。一次問我一個問題。問我第一個問題。