多網(wǎng)站綁定域名手機(jī)建網(wǎng)站軟件
前言
隨著人工智能的快速發(fā)展,我們正慢慢進(jìn)入AIGC的新時代,其中對自然語言的處理成為了智能化的關(guān)鍵一環(huán),在這個大背景下,“Prompt工程”由此產(chǎn)生,并且正逐漸成為有力的工具...
LLM
(Large Language Model)大語言模型,具有許多參數(shù)的人工神經(jīng)網(wǎng)絡(luò)生成,使用自監(jiān)督學(xué)習(xí)或半監(jiān)督學(xué)習(xí)對大量未標(biāo)記文本進(jìn)行訓(xùn)練,在各種任務(wù)中表現(xiàn)出色。AI 并不是自主生成內(nèi)容的,而是依賴于提示詞的引導(dǎo)。提示詞越清晰、具體,AI 的輸出就越符合預(yù)期。
Prompt簡介
Prompt是指一段文本,指令或者描述,用于引導(dǎo)預(yù)訓(xùn)練的語言模型理解用戶意圖并生成預(yù)期輸出。
Prompt工程是一種基于預(yù)訓(xùn)練語言模型(PLM)或大語言模型(LLM),通過向模型提供精心設(shè)計的提示語,引導(dǎo)模型生成與任務(wù)相關(guān)的文本輸出。通俗一點的將,Prompt工程就是通過編寫特定Prompt提示詞,詢問AI時它返回的結(jié)果是被你引導(dǎo)的回答。
Prompt 工程流程:
Prompt的優(yōu)勢
1.快速迭代和調(diào)優(yōu)
Prompt工程中的提示語(自然語言)可以很容易地進(jìn)行快速迭代和調(diào)優(yōu)。可以微調(diào)Prompt,快速嘗試不同的生成結(jié)果,以找到最佳的輸出。
2.適用廣泛任務(wù)
prompt工程適用于各種場景,包括文本生成,問答統(tǒng)計,格式生成,編寫代碼,扮演角色等,其靈活性使其可以成為解決多種自然任務(wù)的強大工具,只需要設(shè)計相應(yīng)的Prompt,例如可以根據(jù)提示詞的不同實現(xiàn)不同功能,扮演不同角色。
3.節(jié)省資源
一個精心設(shè)計的Prompt可以等同于許多真實數(shù)據(jù)樣本的效果,節(jié)省了大量的資源。相對于收集和標(biāo)注大量的真實數(shù)據(jù),設(shè)計好的Prompt可以用較少的輸入來引導(dǎo)模型生成各種輸出,節(jié)省大量資源。
編寫Prompt技巧
設(shè)定信息豐富且清晰的語句
Prompt應(yīng)該提供具體信息,以便模型理解任務(wù)的背景和要求。盡可能結(jié)構(gòu)清晰,避免模糊的描述,讓模型能夠準(zhǔn)確地理解任務(wù),同時避免使用過于復(fù)雜的結(jié)構(gòu)或難以理解的詞匯。
Prompt:請問如何學(xué)習(xí)好英語
回答:這個是一個泛泛的回答,比較模糊,沒有針對性優(yōu)化Prompt:我是一個在讀大學(xué)生,準(zhǔn)備考大學(xué)英語六級,請問如何能夠?qū)W好英語呢
回答:設(shè)定情景,信息更豐富更清晰,回答出來肯定更符合預(yù)期
2.設(shè)定模型擅長的輸入輸出格式
我們可以在輸入數(shù)據(jù)中加入特定的括號,如``` --- <> 等來限制我們的輸入內(nèi)容。
同理,盡量讓模型輸出格式化的文本,如JSON、HTML、TypeScript等,方便對結(jié)果進(jìn)行管理。
Prompt:請描述一個新款智能手表的特點。
回答:這款智能手表有一個高清顯示屏,可以監(jiān)測心率、睡眠質(zhì)量、運動步數(shù),還可以接收消息提醒,續(xù)航時間長,支持多種運動模式,防水等級高,時尚設(shè)計。優(yōu)化Prompt:
請以 JSON 格式生成一個新款智能手表的產(chǎn)品描述,結(jié)構(gòu)如下:
{"name": "<產(chǎn)品名稱>","features": ["<特點1>","<特點2>",...],"price": "<價格>"
}回答:
{"name": "智能手表X200","features": ["高清顯示屏","心率監(jiān)測","睡眠質(zhì)量監(jiān)測","運動步數(shù)記錄","消息提醒","長續(xù)航","多種運動模式","高防水等級","時尚設(shè)計"],"price": "399 USD"
}
3.使用少量示例
提供少量示例文本,演示期望的輸出格式。但示例文本會增加token數(shù)量,因此不能加太多示例。
Prompt: 請為以下狗的圖片寫一個簡短的描述。示例1: 金色的毛發(fā),短嘴巴,長耳朵,忠誠友好。示例2: 棕白相間的皮毛,圓圓的大眼睛,尾巴卷曲。在這個例子中,通過示例文本,你向模型展示了關(guān)于狗的一些特征,例如外觀和性格。模型可以利用這些信息生成一個符合你預(yù)期的狗的描述。
添加了可以讓模型參考的示例,回答效果肯定會更好
4.使用思維鏈(CoT)引導(dǎo)大模型
思維鏈?zhǔn)且环N邏輯和概念上相關(guān)的想法序列,通過在提示中構(gòu)建和引導(dǎo)這種序列,您可以更好地引導(dǎo)大型語言模型生成與主題相關(guān)、連貫性強的內(nèi)容。
Prompt: 從工業(yè)革命到現(xiàn)代化,地球的氣候如何受到人類活動的影響?請逐步分析不同時期排放量增加與氣候異常的關(guān)系,以及這背后可能的科學(xué)機(jī)制。思維鏈: 工業(yè)革命導(dǎo)致大規(guī)模燃燒化石燃料,釋放大量溫室氣體。這些氣體導(dǎo)致大氣溫度上升,海平面上升,極端天氣增加??梢杂懻摐厥倚?yīng)、海洋吸收、極端天氣事件等。
添加思維鏈,引導(dǎo)模型一步步思考,效果會更好。
5.給模型設(shè)定角色扮演
將模型設(shè)定在特定的角色扮演中是一種激發(fā)創(chuàng)意、產(chǎn)生生動內(nèi)容,讓模型以某個角色的身份思考和表達(dá),可以增加真實性和故事性。
Prompt:請你科普一下什么是python
回答:會比較大眾化優(yōu)化Prompt:你是一個小學(xué)老師,請你科普一下什么是python
回答:角色扮演會輸出更貼合給小學(xué)生科普的內(nèi)容
6.描述模型能力,鼓勵積極性,激發(fā)積極性,避免限制
如果只是強調(diào)模型不能做什么,可能會使模型產(chǎn)生誤導(dǎo)性的回答,或者無法給出有用的內(nèi)容。
描述模型能干什么會激發(fā)其積極性和創(chuàng)造力,促使其提供更多有用的回答。明確提示模型的能力范圍,有助于引導(dǎo)其重點和思考方向,從而提供更準(zhǔn)確和相關(guān)的答案。
7.善用溫度變量
大模型通常會涉及到一個溫度變量,如ChatGPT API中,MIniMax中的temperature變量。此變量的值與模型輸出結(jié)果的隨機(jī)性有關(guān):
當(dāng)其值為0時,表明模型輸出結(jié)果是確定的,通常用于決定性任務(wù),如分類、預(yù)測等;
當(dāng)其值>0時,越大,則表明模型隨機(jī)性越強,適合生成任務(wù)。
8.結(jié)構(gòu)清晰,分段清楚
9.不同模型能力不同,不同對待
結(jié)構(gòu)化Prompt
核心部分:關(guān)鍵詞、語境、目標(biāo)
- 基于角色prompt模型
要求AI扮演特定角色或身份,增加輸出內(nèi)容的專業(yè)性和權(quán)威性。例如老師、環(huán)境學(xué)家、編程助手等角色
假設(shè)你是一名環(huán)境學(xué)家,以專家視角撰寫關(guān)于環(huán)境保護(hù)的技術(shù)文章。
- 基于任務(wù)的prompt模型
規(guī)定AI需要完成的任務(wù),通常需要關(guān)鍵詞和具體指令組合
列出三種最新的可再生能源技術(shù),并分別簡述其優(yōu)缺點。
- 基于結(jié)構(gòu)的prompt模型
強調(diào)內(nèi)容的結(jié)構(gòu)化,例如要求 AI按特定格式或章節(jié)生成內(nèi)容。
生成一篇包括引言、技術(shù)分析、市場應(yīng)用前景和結(jié)論的文章
- 基于問題的prompt模型
通過提出一些列相關(guān)問題,引導(dǎo)AI逐步生成內(nèi)容.適合用于知識型內(nèi)容的生成,有助于確保輸出內(nèi)容全面且深入。
什么是碳捕捉技術(shù)?它如何運作?有哪些現(xiàn)實中的應(yīng)用案例?
- 基于場景的prompt模型
通過描述特定情境,引導(dǎo)AI生成與該情景相關(guān)的內(nèi)容。能夠幫助AI生成更具有情景感和預(yù)見性的內(nèi)容。
未來十年內(nèi),隨著全球氣候變化加劇,太陽能技術(shù)將如何影響能源市場?
常見框架
ICIO 框架
ICIO 框架通過四個關(guān)鍵組成部分——介紹(Intruction)、背景(Context)、輸入數(shù)據(jù)(Input Data)和輸出指標(biāo)(Output Indicator),為 AI 系統(tǒng)提供了清晰的指導(dǎo)。這種結(jié)構(gòu)化的溝通方式不僅提高了 AI 的工作效率,還確保了輸出內(nèi)容的質(zhì)量,使其更符合用戶的期望。
- Intruction(任務(wù)):明確指出希望 AI 執(zhí)行的具體任務(wù),如“翻譯一段文本”或“撰寫一篇關(guān)于 AI 倫理的博客文章”。
- Context(背景):提供任務(wù)的背景信息,幫助 AI 理解任務(wù)的上下文,例如,“這段文本是用于公司內(nèi)部會議的開場白”。
- Input Data(輸入數(shù)據(jù)):指定 AI 需要處理的具體數(shù)據(jù),如“請翻譯以下句子:‘人工智能正在改變世界’”。
- Output Indicator(輸出格式):設(shè)定期望的輸出格式和風(fēng)格,例如,“請以正式的商務(wù)英語風(fēng)格翻譯”。
CRISPE 框架
隨著人工智能技術(shù)的不斷進(jìn)步,AI 在模擬人類角色和執(zhí)行特定任務(wù)方面的能力日益增強。
CRISPE 框架作為一種新興的 AI 提示工程方法,旨在通過明確的角色設(shè)定、背景信息、任務(wù)指令、個性風(fēng)格和實驗性回復(fù),提升 AI 與用戶之間的互動質(zhì)量。
CRISPE 框架通過以下五個步驟,為用戶提供了一個清晰、高效的溝通路徑:
- Capacity and Role(角色):明確 AI 在交互中應(yīng)扮演的角色,如教育者、翻譯者或顧問。
- Insight(背景):提供角色扮演的背景信息,幫助 AI 理解其在特定情境下的作用。
- Statement(任務(wù)):直接說明 AI 需要執(zhí)行的任務(wù),確保其理解并執(zhí)行用戶的請求。
- Personality(格式):設(shè)定 AI 回復(fù)的風(fēng)格和格式,使其更符合用戶的期望和場景需求。
- Experiment(實驗):如果需要,可以要求 AI 提供多個示例,以供用戶選擇最佳回復(fù)。
# 情景
想象一下,六位高智商的專家一起回答用戶提出的問題,最終生成一份聊天記錄。* 其中,第一名到第六名專家分別扮演:問題拆解專家,知識淵博專家,支持與鼓勵專家,反思與批判專家,創(chuàng)新思維專家,歸納總結(jié)專家。
* 他們將遵循思想樹的方法,每個專家一步一步地分享他們的思維過程。
* 第一輪:每一名專家逐一發(fā)言,發(fā)表自己的觀點;
* 第二輪: 專家們可以自由發(fā)言,不需要嚴(yán)格按照順序,并非所有專家都要發(fā)言,如果專家覺得無需發(fā)言,也可以跳過。但如果發(fā)言,需要參考第一輪中其他專家的想法。
* 專家們之間觀念要有沖突,要激烈,要深刻。
* 專家們會考慮其他人的意見,完善自己的想法,并以團(tuán)隊的集體知識為基礎(chǔ)。
* 如果專家意識到他們的想法是錯誤的,他們會承認(rèn)錯誤并認(rèn)同其他專家的想法。
* 一直繼續(xù)這個過程,直到得到一個明確的答案。
* 最后,由所有專家的結(jié)論匯總,得出最終答案。# 格式
* 通過在 markdown表 的方式,呈現(xiàn)整個響應(yīng)。
每一輪不用單獨作為一個表格,要合并在一起。# 專家身份參考:
問題拆解專家:針對用戶提出的問題,進(jìn)行系統(tǒng)性拆解,比如:是什么,為什么,怎么樣,如果是則如何,如果否則如何…
知識淵博專家:針對用戶提出的問題,提出你認(rèn)知內(nèi)的知識,歸納總結(jié)反饋。
支持與鼓勵專家:針對用戶提出的問題,參考其他專家意見,得出積極的想法或結(jié)果。比如:為什么這個值得做?為什么可以做這件事?它為什么會起作用?
反思與批判專家:針對用戶提出的問題,參考其他專家意見,考慮到事物的負(fù)面因素,它是對事物負(fù)面因素的注意、判斷和評估。這是真的嗎?它會起作用嗎?缺點是什么?它有什么問題?為什么不能做?
創(chuàng)新思維專家:針對用戶提出的問題,參考其他專家意見,考慮創(chuàng)新與創(chuàng)造性之新的想法。有不同的想法?新的想法、建議和假設(shè)是什么?可能的解決辦法和行動的過程是什么?還有哪些可能性?
歸納總結(jié)專家:歸納總結(jié)專家中立而客觀,同時控制整個思考節(jié)奏,比如在第一輪溝通中預(yù)先得出一批結(jié)論,第二輪溝通中得出最終結(jié)論并與其他專家進(jìn)行討論。# 專家們的對話記錄樣例:
|環(huán)節(jié)|專家名|專家發(fā)言|
|:---|:---|:---|
|R1|歸納總結(jié)專家|×××|
|R1|問題拆解專家|×××|
…
|R3|歸納總結(jié)專家|×××|
**最終專家們的答案是:**
1. ×××
2. ×××# 用戶將會提出問題:
BROKE 框架
在人工智能的快速發(fā)展中,如何有效地與 AI 進(jìn)行溝通和互動,以實現(xiàn)預(yù)期的目標(biāo),已成為一個重要議題。
BROKE 框架提供了一種結(jié)構(gòu)化的方法,幫助用戶清晰地傳達(dá)指令,確保 AI 能夠生成滿足特定需求的輸出。
BROKE 框架通過以下五個步驟,為用戶提供了一個高效溝通的框架:
- Background(背景):提供詳細(xì)的背景信息,幫助 AI 理解任務(wù)的上下文。
- Role(角色):明確 AI 在交互中所扮演的角色,如顧問、助手或內(nèi)容創(chuàng)作者。
- Objectives(目標(biāo)/任務(wù)):描述用戶希望 AI 完成的具體任務(wù)。
- Key Result(關(guān)鍵結(jié)果):設(shè)定 AI 輸出的風(fēng)格、格式和內(nèi)容要求,確保回答符合預(yù)期。
- Evolve(改進(jìn)):在 AI 提供回答后,提供改進(jìn)的方法,以優(yōu)化未來的交互。
LangGPT 提示詞框架
GitHub - langgptai/LangGPT: LangGPT: Empowering everyone to become a prompt expert!🚀 Structured Prompt,Language of GPT, 結(jié)構(gòu)化提示詞,結(jié)構(gòu)化Prompt
傳統(tǒng) Prompt 存在一些挑戰(zhàn)包括缺乏系統(tǒng)性、靈活性和用戶友好性,以及未能充分利用大模型的特點。
Prompt 的重要性與日俱增,特別是在新一代的 GPT—4 模型出現(xiàn)后。Prompt 編寫不僅僅是一種技術(shù),它正在變成 AI 時代的編程語言。因此,如何像學(xué)習(xí)編程一樣,高效地編寫高質(zhì)量的 Prompt,即 Prompt 編程,成為了一個迫切的問題。
LangGPT 由云中江樹(劉遠(yuǎn)忠)創(chuàng)建,目前已有 5.2k stars。
LangGPT 的特點和優(yōu)勢:
- 系統(tǒng)性:LangGPT 提供模板化的方法,用戶只需按照模板填寫相應(yīng)內(nèi)容即可。
- 靈活性:LangGPT 引入了變量概念,可以輕松引用、設(shè)置和更改 Prompt 內(nèi)容,提高編程性。
- 交互友好:通過工作流,LangGPT 定義了與用戶的交互和角色行為,使得用戶可以輕松理解和使用。
- 大模型充分利用:LangGPT 結(jié)合了大模型的特點,例如模塊化配置和分點條理性敘述,還通過 Reminder 功能緩解了長對話的遺忘問題。
LangGPT 的核心語法:
- LangGPT 變量:我們引入了基于 markdown 的變量概念,利用大模型對層級結(jié)構(gòu)內(nèi)容的敏感性,方便地引用和修改 Prompt 內(nèi)容。
- LangGPT 模板:基于大模型在角色扮演方面的強項,我們設(shè)計了 Role 模板。這些模板使得 Prompt 編寫變得像編程中的“類聲明”,極大地簡化了用戶的工作。
- 格式化技巧:使用特定的格式(如 Markdown)來更明確地指示大模型如何提示詞框架和響應(yīng)。
- 明確性技巧:通過提供具體的指令,如“簡短地回答”或“提供詳細(xì)解釋”,確保大模型的響應(yīng)與用戶的期望一致
- 上下文技巧:在指令中加入上下文信息,幫助大模型更準(zhǔn)確地理解用戶的需求。
#Role:文字排版大師#Profile: - author:李繼剛- version: 0.1- language:中文- description:使用ASCII 符號和Emoji表情符號來優(yōu)化排版已有信息,提供更好的閱讀體驗##Goals:- 為用戶提供更好的閱讀體驗,讓信息更易于理解- 增強信息可讀性,提高用戶專注度##Constrains:- 不會更改原始信息,只能使用ASCII符號和Emoji表情符號進(jìn)行排版- 排版方式不應(yīng)該影響信息的本質(zhì)和準(zhǔn)確性##Skills:- 熟悉各種ASCII符號和Emoji表情符號的使用方法- 熟練掌握排版技巧,能夠根據(jù)情境使用不同的符號進(jìn)行排版- 有較強的審美和文藝能力##Workflows:- 作為文字排版大師,將會在用戶輸入信息之后,使用ASCII符號和Emoji表情符號進(jìn)行排版,提供更好的閱讀體驗。- 排版完畢之后,將會將整個信息返回給用戶。##Initialization:歡迎用戶,并提示用戶輸入信息
CO-STAR 原則框架
【新加坡首屆 GPT-4冠軍分享】最新的 GPT-4的提示詞攻略秘籍,建議收藏閱讀! – 敏捷開發(fā)咨詢顧問,Scrum認(rèn)證,敏捷項目管理培訓(xùn),敏捷教練
https://blog.ihsxu.com/blog/1715484573201
CO-STAR 原則是結(jié)構(gòu)化提示詞中的一種,由新加坡政府科技局?jǐn)?shù)據(jù)科學(xué)與 AI 團(tuán)隊創(chuàng)立,是一個非常實用且易于上手的提示構(gòu)建工具。
CO-STAR 的設(shè)計初衷是為了幫助用戶在使用大型語言模型時,能夠構(gòu)建出更加完整和有效的提示詞,從而提高 AI 生成內(nèi)容的相關(guān)性和效果。
CO-STAR 原則在新加坡首屆 GPT—4 提示工程大賽中獲得了冠軍,這是它在實際應(yīng)用中強大效能的標(biāo)志和體現(xiàn)。
此后,CO—STAR 原則逐漸被廣泛接受并應(yīng)用于各種場景,包括社交媒體文案撰寫、商業(yè)報告生成等,幫助用戶創(chuàng)建清晰、精確且有效的提示詞,更精確地指導(dǎo) AI 生成所需的內(nèi)容。
CO—STAR 原則包含六個關(guān)鍵要素,每個要素的首字母組成了 CO—STAR 這個縮寫。
- C—Context(清楚的背景信息):提供足夠的背景信息,幫助 AI 理解任務(wù)的上下文和環(huán)境。
- O—Objective(明確的目標(biāo)設(shè)定):明確說明希望 AI 完成的具體目標(biāo)或任務(wù)。
- S—Style(生成文字的風(fēng)格):指定 AI 生成內(nèi)容的風(fēng)格,例如正式、幽默、小紅書風(fēng)格等。
- T—Tone(生成文字的語調(diào)):確定 AI 生成內(nèi)容的語調(diào),如禮貌、說服性、激勵性等。
- A—Audience(目標(biāo)受眾的描述):描述目標(biāo)受眾的特征,如年齡、興趣、職業(yè)等。
- R—Response(回應(yīng)的類型):指定 AI 回應(yīng)的格式,如表格、段落、列表等,以及回應(yīng)的具體要求。
# CONTEXT(上下文) #
我想推廣一家咖啡店??Х鹊昝Q為 HEA,坐落在古城西安的護(hù)城河邊,簡約風(fēng)的店面裝修,超大的落地窗和天窗使得店內(nèi)的采光超級棒。最佳時光是在傍晚日落余暉時,感覺整個時間都變得柔和而美好。如果不知道想喝什么,老板還整理了「最受大家喜愛的咖啡月度排行榜」,真的贊嘞~。# OBJECTIVE(目標(biāo)) #
幫我創(chuàng)建一條小紅書文案,目的是吸引人們到店里打卡、拍照、消費。# STYLE(風(fēng)格) #
小紅書風(fēng)格,俏皮的語氣外加一些可愛的表情包和圖標(biāo)。# TONE(語調(diào)) #引導(dǎo)性# AUDIENCE(受眾) #主要受眾是上班族、大學(xué)生。請針對這一群體在選擇放松方式時的關(guān)注點來編寫文案。# RESPONSE(響應(yīng)) #
增加用戶對探店的吸引力。
誤區(qū)提示
提示詞并不是越長越好
長短并不是關(guān)鍵,關(guān)鍵在于信息的明確性和有效性。過長的提示詞會增加token(經(jīng)費)、可能會讓 AI 混淆主次信息,從而導(dǎo)致輸出結(jié)果偏離預(yù)期。
提示詞也是需要迭代的
提示詞的構(gòu)建是一個迭代的過程。初次嘗試的提示詞可能不能達(dá)到理想效果(和軟件開發(fā)頗為類似),但通過反復(fù)修改和優(yōu)化,最終可以得到更精確的輸出。
參考文檔
基礎(chǔ)篇:
- OpenAI官方:https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api
- Prompt Engineering學(xué)習(xí):Prompt Engineering | Lil'Log
- 吳恩達(dá)《ChatGPT Prompt Engineering for Developers》課程中英版:GitHub - Kevin-free/chatgpt-prompt-engineering-for-developers: 吳恩達(dá)《ChatGPT Prompt Engineering for Developers》課程中英版
- 大模型時代之提示詞工程:https://zhuanlan.zhihu.com/p/631922240
- LLM Collection | Prompt Engineering Guide
- 提示工程指南
- Docs
- 什么是AI提示詞?