ChatGPT如何寫好Prompt編程示例詳解
引言
現(xiàn)在已經(jīng)產(chǎn)生了一種新職業(yè):Prompt Engineer(提示指令工程師),可見 Prompt 是多么重要,且編寫不易。
ChatGPT的產(chǎn)出,一半決定于它的實力,一半決定于你給它的指令,即Prompt。如果你在試用ChatGPT時,發(fā)現(xiàn)它比較弱智,沒有大家傳誦的那么智能,多半原因是你比較”弱智“,不知道如何編寫它能清晰理解的指令。
這篇文章一起探討下,小白如何寫好 Prompt。
好的 prompt 具有的設(shè)計原則
- 清晰,切忌復(fù)雜或歧義,如果有術(shù)語,應(yīng)定義清楚。
- 具體,描述語言應(yīng)盡量具體,不要抽象活模棱兩可。
- 聚焦,問題避免太泛或開放。
- 簡潔,避免不必要的描述。
- 相關(guān),主要指主題相關(guān),而且是整個對話期間,不要東一瓢西一瓤。
但這些原則比較抽象,不具有具體的指導(dǎo)意義,只能先做為整體的要求了解。
好與壞的舉例:
# 有效 Prompt 你能總結(jié)一下《鍛煉的好處》一文的要點嗎? # 聚焦、相關(guān) 巴黎最好的素食餐廳有哪些? # 具體、相關(guān) # 無效 Prompt 你能告訴我關(guān)于這個世界的什么? # 寬泛、開放 你能幫我做作業(yè)嗎? # 開放 你好 # 無目的、不聚焦
編寫良好prompt的四種基礎(chǔ)模式
四種基礎(chǔ)模式:
- By example (示例模式)
在這種模式下,我們給模型提供一些示例文本,模型需要生成與示例文本類似的文本。 這種模式通常用于生成類似于給定示例的文本,例如自動生成電子郵件、產(chǎn)品描述、新聞報道等。 示例文本可以是單個句子或多個段落,具體取決于任務(wù)的要求。
示例中有什么格式或規(guī)律,讓AI自己發(fā)現(xiàn)。
- By instruction template (指令模板)
在這種模式下,我們給模型提供一些明確的指令,模型需要根據(jù)這些指令生成文本。 這種模式通常用于生成類似于技術(shù)說明書、操作手冊等需要明確指令的文本。 指令可以是單個句子或多個段落,具體取決于任務(wù)的要求。
在給出prompt的時候,同時給出指令模板,約束輸入和輸出的互動格式。
- By specific (特定指令)
在這種模式下,我們給模型提供一些特定信息,例如問題或關(guān)鍵詞,模型需要生成與這些信息相關(guān)的文本。 這種模式通常用于生成答案、解釋或推薦等。 特定信息可以是單個問題或多個關(guān)鍵詞,具體取決于任務(wù)的要求。
這些問題或關(guān)鍵詞一定是AI可以理解和接受的,是預(yù)置的已經(jīng)存在的。
- By proxy(代理模式)
在這種模式下,可以充當(dāng)了一個代理,代表某個實體(例如人、角色、機器人等)進行操作或交互。 代理模式的核心思想是引入一個中介對象來控制對實際對象的訪問,從而實現(xiàn)一定程度上的隔離和保護。 諸如于在 ChatGPT 中,"act as xxx" 可以讓 ChatGPT 充當(dāng)一個代理,扮演某個角色或?qū)嶓w的身份,以此來處理與該角色或?qū)嶓w相關(guān)的任務(wù)或請求。
這4個基礎(chǔ)模式都很歷害,它們可以推導(dǎo)出很多東西,包括下面的prompt編寫模板。
編寫一個合格的prompt的要點
- 讓AI扮演角色
- 提供要執(zhí)行的任務(wù)
- 給出完成任務(wù)的步驟
- 圍繞任務(wù)提供上下文
- 陳述具體目標(biāo),給出具體要求
- 要求格式化輸出
- 明確指定語言風(fēng)格
- 讓AI站在角色的角度
- 馬上給出具體的樣例
下面分別看,這些要點都指什么。
讓AI扮演角色
你想讓它扮演一個什么樣的角色,它便站在這樣的角色的立場思考。
舉例:你是...
你是一家頂級市場研究公司的才華橫溢的分析師...
我希望你充當(dāng)...
我希望你充當(dāng) JavaScript Console...
這種角色扮演ChatGPT竟然也毫不示弱,估計讓它扮演一只小狗也可以。
此外還有:
- 我想讓你扮演一個脫口秀喜劇演員...
- 我想讓你扮演講故事的角色...
- 我想讓你扮演一個小說家...
- 我想讓你充當(dāng)書面作品的標(biāo)題生成器...
至于說,ChatGPT能扮演什么,不能扮演什么,沒有人知道,或許你能想到的它都能扮演,或許它只能扮演好一部分角色,但至少上面提供的角色,它都能很好的扮演,且已經(jīng)有人分享過相關(guān)的prompt。
結(jié)論:無論寫什么Prompt,開頭第一句先描述一下我們想讓ChatGPT充當(dāng)什么角色。如果沒有這樣的角色,就杜撰一個,次數(shù)多了它可能也猜到是什么了。
明確提供要執(zhí)行的任務(wù)
可以查到已經(jīng)支持的任務(wù)有:文本分類、實體標(biāo)注、信息抽取、翻譯、生成、摘要提取、閱讀理解、推理、問答、糾錯、關(guān)鍵詞提取、相似度計算。
這些單詞在Prompt中都可以光明正大地出現(xiàn),它們都有人使用過,ChatGPT都會理解得很好。
它有十大類基本能力:
- 文本生成: ChatGPT 可以生成各種格式的文本,例如寫故事、寫新聞文章或詩歌、寫代碼等。
- 自動摘要: ChatGPT 可以將一段很長的文本摘要成一個較短的版本。
- 自然語言理解 (NLU): ChatGPT 可以理解文本的含義,可用于情感分析、命名實體識別和文本分類等任務(wù)。
- 語言翻譯: ChatGPT 可以針對語言翻譯任務(wù)進行微調(diào),將文本從一種語言翻譯成另一種語言。
- 對話生成: ChatGPT 可以生成類似人類的對話,使其適用于聊天機器人和虛擬助手應(yīng)用程序。
- 文本轉(zhuǎn)語音: ChatGPT 可以針對文本轉(zhuǎn)語音任務(wù)進行微調(diào),將文本轉(zhuǎn)換為口語。
- 圖像字幕: ChatGPT 可以針對圖像字幕任務(wù)進行微調(diào),它可以為圖像和視頻生成字幕。
- 閱讀理解: ChatGPT 可以針對閱讀理解任務(wù)進行微調(diào),它可以根據(jù)給定的文本回答問題。
- 問答: ChatGPT 可以根據(jù)給定的上下文或知識庫回答問題。
- 文本補全: ChatGPT 可以根據(jù)給定的上下文或提示來完成給定的文本。
這十大項,及它們的子項,都是它可以執(zhí)行的任務(wù)。
例如第一項能力中的:寫故事、想故事、編故事,字詞可以稍有差別,但都可能作為任務(wù)使用。
每一個prompt,都應(yīng)該至少有一個清晰的任務(wù)。 這很重要!
舉例:
我希望你充當(dāng) JavaScript console。我將鍵入命令,您將回復(fù) JavaScript console 應(yīng)顯示的內(nèi)容...
在這里“您將回復(fù) JavaScript console 應(yīng)顯示的內(nèi)容”,“回復(fù)內(nèi)容”便是給AI的明確的任務(wù)。
再舉一個例子:
我想讓你扮演一個小說家。您將想出富有創(chuàng)意且引人入勝的故事...
在這里“您將想出富有創(chuàng)意且引人入勝的故事”,“想故事”便是任務(wù)。
再舉例:
我想讓你扮演一個脫口秀喜劇演員。我將...,您將...,根據(jù)這些話題創(chuàng)建一個例程...
在這里,“創(chuàng)建例程”便是任務(wù)。什么是例程?別擔(dān)心AI看不懂,多給它幾個樣例,它自然就懂了。它以于自己要完成的任務(wù),一半靠理解,一半猜測,本質(zhì)上都是基于概率的推測。
再舉例:
我想讓你扮演講故事的角色。您將想出引人入勝、富有想象力和吸引觀眾的有趣故事...
這里的任務(wù)是什么?“想出故事”對不對?
給出完成任務(wù)的步驟
步驟是一個大于1的待辦事項,且有先后依賴關(guān)系和前后次序。
舉例:
我希望你充當(dāng) JavaScript console。我將鍵入命令,您將回復(fù) JavaScript console 應(yīng)顯示的內(nèi)容...
這里的步驟是:
- 我將鍵入命令
- 你將回復(fù)內(nèi)容
這就是完成任務(wù)的步驟,是人類與AI共同協(xié)作完成的。
再舉例:
請做一個實體抽取任務(wù),從下面這段話中提取出人名和地名,并用json格式輸出: 劉亦菲( Crystal Liu,1987 年 8 月 25 日-[1])為 華裔美籍的女演員...
在這里:
- 提取出人名和地名
- 用json格式輸出
就是任務(wù)步驟。
再舉例:
我想讓你扮演一個脫口秀喜劇演員。我將為您提供一些與時事相關(guān)的話題,您將運用您的智慧、創(chuàng)造力和觀察能力,根據(jù)這些話題創(chuàng)建一個例程...
在這里:
- 你瘵為你提供..話題
- 你運用..創(chuàng)建例程
就是一個任務(wù)步驟。
圍繞任務(wù)提供上下文
描述上下文是為了讓AI更加清晰地理解我們的意圖,是代替多次互動效果的。
舉例:
...根據(jù)目標(biāo)受眾,您可以為講故事環(huán)節(jié)選擇特定的主題或主題,例如,如果是兒童,則可以談?wù)搫游?;如果是成年人,那么基于歷史的故事可能會更好地吸引他們等等...
在這里:
- 如果是兒童,則可以..
- 如果成年人,那么..
這便是一種上下文環(huán)境的描述,它代表的是一種文字的正則表達式。
陳述具體目標(biāo),給出具體要求
舉例:
我想讓你充當(dāng)書面作品的標(biāo)題生成器。我會給你提供一篇文章的主題和關(guān)鍵詞,你會生成五個吸引眼球的標(biāo)題。請保持標(biāo)題簡潔,不超過 20 個字,并確保保持原意...
在這里,“請保持標(biāo)題簡潔,不超過 20 個字,并確保保持原”就是具體的,對生成目錄的要求。
再舉例:
...你可以選擇任何類型,如奇幻、浪漫、歷史小說等,但你的目標(biāo)是寫出具有出色情節(jié)、引人入勝的人物和意想不到的高潮的作品...
在這里:
- “可以選擇任何類型,如奇幻、浪漫、歷史小說等”這是Option標(biāo)準(zhǔn)
- “寫出具有出色情節(jié)、引人入勝的人物和意想不到的高潮”是對目標(biāo)提出的3個明確的要求
再舉例:
寫一篇簡短的文章,說明為什么文案寫作是 2023 年的一項基本技能。 使用這些策略: - 使用具有說服力的語言 - 提出問題以在段落之間過渡 - 用證據(jù)和例子支持要點 - 直接與讀者對話
對于多項要求,也可以使用任務(wù)的輸入格式。不僅輸出格式可以指定,輸入格式也可以預(yù)先告知AI,方便AI理解。
要求格式化輸出
舉例:
創(chuàng)建關(guān)于使用 Notion 作為內(nèi)容創(chuàng)建者保持井井有條的主題的思維導(dǎo)圖,列出中心思想、主要分支和子分支。
在這里,列出“中心思想、主要分支和子分支”,就是人類指定的輸出格式。
下面是一些較用通用的格式描述:
要求其改變輸出:大綱;思維導(dǎo)圖;要點; 有說服力的文章; 少于 280 個字符的文本塊; 使用結(jié)構(gòu):1)什么,2)為什么,3)如何做。
這些字眼在Prompt中都可以出現(xiàn)。
明確指定語言風(fēng)格
舉例:
就如何使用 ChatGPT,創(chuàng)建更有效的內(nèi)容,提供最諷刺、嘲諷的建議。
這里的“諷刺、嘲諷”便是語言風(fēng)格,注意語言風(fēng)格可以要求極致,例如使用“最”,但不能相互矛盾,例如在同一個prompt中,要求AI同時使用專業(yè)且詼諧的語言風(fēng)格,雖然有時候它倆未必100%矛盾,但這種指定可能會讓AI無視你指定的風(fēng)格,因為它無法完成。
讓AI站在人物的角度,而非上帝視角
舉例:
主題:企業(yè)家的生產(chǎn)力 對于上述主題,從每個具有不同觀點角色的角度編寫多個觀點。對于每個觀點,用角色自己的聲音寫,使用那個人會使用的短語...
馬上給出具體的樣例
舉例:
...我的第一個要求是“我需要一個關(guān)于毅力的有趣故事“...
在這里,“我需要一個關(guān)于毅力的有趣故事“,就是第一個輸入的樣例。樣例是互動真正開始的地方,前面的內(nèi)容都是為此準(zhǔn)備的。
再舉例:
...我的第一個要求是“我要寫一部以未來為背景的科幻小說”...
在這里,“我要寫一部以未來為背景的科幻小說”,就是一個樣例。
小結(jié)
Prompt編寫”博大精深“,看起來簡單,其實沒那么簡單,要不為什么instagram上有人可以靠出售Prompt賺錢。能夠交易的,尤其是可以復(fù)制的文本,它一定具有不扉的價值。但其實經(jīng)過上面的研究,發(fā)現(xiàn)它也沒有那么難,對于個人來講,只需要研究某個垂直細分領(lǐng)域的Prompt如何編寫就可以了,這其實又不難。
以上就是ChatGPT如何寫好Prompt編程示例詳解的詳細內(nèi)容,更多關(guān)于ChatGPT Prompt編程的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
在VSCode中如何配置Python開發(fā)環(huán)境
VScode是一個相當(dāng)優(yōu)秀的IDE,具備開源、跨平臺、模塊化、插件豐富、啟動時間快、顏值高、可高度定制等等優(yōu)秀的特質(zhì),所以用VScode來編寫Python,也是相當(dāng)?shù)暮糜玫?。所以,今天我們就來講講,怎么在VScode上配置Python開發(fā)環(huán)境。2020-01-01fiddler抓包小技巧之自動保存抓包數(shù)據(jù)的實現(xiàn)方法分析【可根據(jù)需求過濾】
這篇文章主要介紹了fiddler抓包小技巧之自動保存抓包數(shù)據(jù)的實現(xiàn)方法,較為詳細的分析了fiddler自動保存抓包數(shù)據(jù)及根據(jù)需求過濾相關(guān)操作技巧,需要的朋友可以參考下2020-01-01