生成式人工智能「3」- 利用提示詞工程,馴服AI
生成式AI是最近幾年最火爆的AI方向,這也導致如果不會提示詞的話,連AI都很難使用。本文對大模型進行了一個全面的介紹,并通過案例分享了提示詞的方法和技巧,希望能幫到大家。
我們之前一直說大模型,現在出現了一個新的概念提示詞(prompt);
提示詞和大模型是什么關系呢?在解釋這個問題之前,我們首先還是要對大模型有一個正確全面的了解;
前置知識:理解大模型
我們主流文字大模型背后的技術是GPT,全稱為Generative Pre-trained Transformer,其中Transformer并非變壓的意思,而是一個核心技術的名稱;
而這項基礎存在2個特點,分別是Generative(生成式),Pre-trained(預訓練)。
Pre-trained預訓練
指的是AI大模型在誕生之前需要海量的高質量數據進行訓練,AI在這個過程中構建自己的神經網絡,理解詞語與詞語之前的關系,學會如何在不同語境下生成有意義的文本。
上面這句話說來簡單,但是為什么預訓練會產生這樣類似人類的智能呢?
我常常會使用小寶寶的案例來說明這個現象,當我們的小寶寶剛剛出生的時候,其世界的認知是幾乎空白的,無法通過文字的方式準確的表達自己的需求,當小寶寶某一天從外界獲取到了足夠多的信息后,小寶寶也會在大腦中建立起對這個世界的認知,開始學會思考與表達;
- 人類智能 = 天生的大腦 + 持續輸入與思考
- 生成式AI智能 = 模型能力 + 訓練資料的水平與體量
這個過程與大模型預訓練是不是非常的相似?只不是人類的”預訓練“需要花費很多的時間,但是現階段生成式AI的預訓練需要花費大量金錢來完成。
而預訓練AI的知識量是非常恐怖的,比如GPT3.5的訓練量是200億,這也是AI看起來什么都懂的原因。
Generative生成式
使用過大模型的小伙伴都會發現一個現象,大模型的回答是一個字一個字蹦出來的,這其實就是不斷的生成有意義的文本的過程,得益于Transformer這項核心技術,GPT非常善于理解詞匯與文字的關系,他會不斷的根據前面的文字嘛,生成后面的文字;并且GPT生成的文字都是實時計算的,是建立在AI知道前文含義的基礎上。
我們簡單總結一下,GPT是一個擁有海量知識,并且理解人類語言的AI。
01 為什么需要提示詞
想象一下,某一天你心情不好,找A朋友傾訴,A朋友會優先安撫你的情緒,然后你的B朋友回選擇幫助你尋找情緒不好的原因;人類在面對同一個問題的時候都會給出完全不同的態度與回答,AI也是這樣,當我們選擇與AI對話的時候AI并不了解你期待的回復、對話的語境、心態;
所以當我們希望AI在我們期待的方向思考并回答問題,我們就需要預先告訴AI一些信息,這些信息就是提示詞。
比如我為AI寫這一段這樣的提示詞:你是一個性格柔和非常會安慰別人情緒的AI,從不會講大道理,說話親和、口語化,就像我最好的朋友;
當我將這段提示詞給到AI時候,AI會根據我的提示詞的要求與我對話。
或者我們也可以更加讓AI側重于解決問題,而不是提供情緒價值。
我們調整提示詞為:你是一個性格直接,非常善于解決問題的AI,你說話凝練高效,面對問題,你善于探索其背后的本質原因與問題,并提供解決方案;
從對大模型的實踐來看,我們的提示詞會極大的影響AI的回答效果,盡管提示詞只是自然語言,但是想寫好一份非常精巧的提示詞也是非??简灝斒氯说乃降?,這一點會隨著我們編寫提示詞越來越能認識到。
02 入門提示詞
打開智譜清言
接下來我們以國內的AI工具「智譜清言」作為例子,帶大家入門提示詞工程;
首先進入網頁(建議使用edge或者chrome瀏覽器),并點擊左下角創建智能體
關閉自動配置,我們要學習的就是自己寫提示詞;
了解該頁面的字段含義;整體是一個非常簡單的創建AI的流程;
提示詞三要素(原創)
關于提示詞的編寫方式存在很多種,我總結這幾年經常寫提示詞的經驗,最簡單的提示詞框架如下:
提示詞 = 你是誰?你擁有什么技能?你需要幫助我完成什么?
比如說,我希望AI幫我寫小紅書,根據這個提示詞框架我便可以寫
你現在是一個資深的小紅書爆款文案寫作專家;
你精通小紅書平臺的運營規則,善于輸出引人入勝的問題或情境,激發好奇,通過標點符號,尤其是嘆號增強語氣,創造緊迫或驚喜的感覺;融入當前流行的熱梗、話題和實用信息;適當使用emoji,增加活力和趣味性;
你需要根據我的需求幫我創作相應的小紅書標題和文案。
寫這樣類似的一段白話文對于大家來說,難度應該是不大的;
不過有一點需要注意一下,GPT這樣的文字大模型正常情況下其實并不具備聯網能力,并且和人類之間也存在隱形的信息差的;
比如你告訴AI,你是某某公司的某某崗位的員工,你希望AI完成該崗位的任務,這是行不通的,因為AI不了解該公司的信息,他只了解互聯網存在的信息,除非你將公司的信息、崗位要求,通過文字的形式詳細描述給AI,這樣是存在可行性的。
掌握了最基本的提示詞的編寫方式,其實就算是入門大模型的使用了,我們基于此已經可以開發并寫出很多非常好玩的prompt,比如讓AI來進行角色扮演,完成特定風格的文字類工作;但是可能也僅限于此,更加復雜、困難的需求,就需要我們更加深入的掌握提示詞的編寫,以及agent,工作流的配套解決方案。
03 深入了解提示詞的編寫規則
我們上文說話,編寫一段簡單的提示詞,我們只需要關注三個元素
- 你是誰?
- 你擁有什么技能?
- 你需要幫助我完成什么?
但是這三個維度其實約束的內容還是太少了,比如我希望對AI的語氣、內容長度、注意事項、輸出格式等等維度做出要求,可想而是我們的指令是非常長,甚至后期難以修改的,比如
你是小紅書爆款寫作專家,是一名專注在小紅書平臺上的寫作專家,具有豐富的社交媒體寫作背景和市場推廣經驗,喜歡使用強烈的情感詞匯、表情符號和創新的標題技巧來吸引讀者的注意力。你能夠基于用戶的需求,創作出吸引人的標題和內容。
我希望能夠在小紅書上發布一些文章,能夠吸引大家的關注,擁有更多流量。但是我自己并不擅長小紅書內容創作,你需要根據我給定的主題和我的需求,設計出爆款文案。
同時要注意,優秀的爆款文案是我冷啟動非常重要的環節,如果再寫不出爆款我就要被領導裁員了,我希望你能引起重視。
你的目標是產出5個具有吸引力的標題(含適當的emoji表情,其中2個標題字數限制在20以內),產出1篇正文(每個段落都含有適當的emoji表情,文末有合適的SEO標簽,標簽格式以#開頭)
在輸出的時候,你需要結合我給你輸入的信息,以及你掌握的標題和正文的技巧,產出內容。請按照如下格式輸出內容,只需要格式描述的部分,如果產生其他內容則不輸出,遵守倫理規范和使用政策,拒絕提供與黃賭毒相關的內容,嚴格遵守數據隱私和安全性原則,嚴格按照每次產出5個標題——一個正文的方式來如果產生其他內容則不輸出………
這里就不在繼續便攜了,這樣的一坨文字,一來接口不夠清晰,大模型可能無法完成理解你的意圖,第二是難以維護,指令可能會越改越亂;
所以面對相對復雜指令的時候,我們就需要更強的編寫提示詞的技巧;
1. 結構化提示詞
首先是結構化提示詞,我們想象一個,面對一大堆雜亂無章的圖書的時候,我們應該怎么做,才能讓書更加容易被找到,那就是分類,結構化,我們的提示詞也是一樣的道理,面對非常復雜的提示詞我們也需要根據一些維度進行結構化,比如某一段文字我單獨描寫大模型的注意事項、技能,達到輕松維護與閱讀復雜提示詞的目的。
請看下面的案例
## 角色:
– 小紅書爆款寫作專家## 角色描述:
– 你是一名專注在小紅書平臺上的寫作專家,具有豐富的社交媒體寫作背景和市場推廣經驗,喜歡使用強烈的情感詞匯、表情符號和創新的標題技巧來吸引讀者的注意力。你能夠基于用戶的需求,創作出吸引人的標題和內容。## 背景:
– 我希望能夠在小紅書上發布一些文章,能夠吸引大家的關注,擁有更多流量。但是我自己并不擅長小紅書內容創作,你需要根據我給定的主題和我的需求,設計出爆款文案## 注意:
– 優秀的爆款文案是我冷啟動非常重要的環節,如果再寫不出爆款我就要被領導裁員了,我希望你能引起重視。## 目標:
– 產出5個具有吸引力的標題(含適當的emoji表情,其中2個標題字數限制在20以內)
– 產出1篇正文(每個段落都含有適當的emoji表情,文末有合適的SEO標簽,標簽格式以#開頭)## 規則:
– 結合我給你輸入的信息,以及你掌握的標題和正文的技巧,產出內容。請按照如下格式輸出內容,只需要格式描述的部分,如果產生其他內容則不輸出
– 遵守倫理規范和使用政策,拒絕提供與黃賭毒相關的內容
– 嚴格遵守數據隱私和安全性原則
– 請嚴格按照 <輸出格式> 輸出內容,只需要格式描述的部分,如果產生其他內容則不輸出## 技能:
一、在小紅書標題方面,你會以下技能:
1. 采用二極管標題法進行創作
2. 你善于使用標題吸引人的特點
3. 你使用爆款關鍵詞,寫標題時,從這個列表中隨機選1-2個
4. 你了解小紅書平臺的標題特性
5. 你懂得創作的規則二、在小紅書正文方面,你會以下技能:
1. 寫作風格
2. 寫作開篇方法
3. 文本結構
4. 互動引導方法
5. 一些小技巧
6. 爆炸詞
7. 從你生成的稿子中,抽取3-6個seo關鍵詞,生成#標簽并放在文章最后
8. 文章的每句話都盡量口語化、簡短
9. 在每段話的開頭使用表情符號,在每段話的結尾使用表情符號,在每段話的中間插入表情符號## 輸出格式:
一. 標題
[標題1到標題5]
[換行]
二. 正文
[正文]
標簽:[標簽]## 工作流程:
– 引導用戶輸入想要寫的內容,用戶可以提供的信息包括:主題、受眾人群、表達的語氣、等等。
– 輸出小紅書文章,包括[標題]、[正文]、[標簽]。##初始對話:
你好,我是小紅書爆款寫作專家,請告訴我你想寫什么內容呢?
我們使用這樣的結構化的方式,可以非常清晰的描述了一個復雜的提示詞,一來大模型好理解,二來我們人類可以可以非常方便維護提示詞,增加描述維度,比如增加:示例,或者增加一些技能與規則;
結構化提示詞是面對復雜場景創作prompt的一個非常好的解決方案。
補充知識:
Q:為什么這里的標題前面是##?
A:實際上這是一種md(markdown)格式的文檔,這里的##代表的是二級標題的意思,我們大模型認識md的文檔格式,自然就能看懂這里##代表二級標題的意思,這樣便可以高效的與大模型完成信息的傳遞。
2. CRISPE框架
除了以上這種非常靈活、上限很高的提示詞框架在之外,也有一些行業類比較固定的提示詞框架,比如本次要說的CRISPE框架
CRISPE是首字母的縮寫,分別代表以下含義:
- CR:Capacity and Role(能力與角色):這是你給大模型立下的人設。
- I:Insight(洞悉;領悟):這是你為大模型提供的背景信息和上下文。
- S:Statement(表述;聲明):你希望大模型具體執行的任務。
- P:Personality(人格;性格):你希望大模型輸出內容的風格。
- E:Experiment(嘗試;實踐):你給大模型所做的限制條件。
我們可以使用該框架提供的維度對提示詞進行描述,我們依舊以小紅書作為案例
- 能力與角色:我想讓你擔任小紅書爆款寫作專家。
- 背景信息:我希望能夠在小紅書上發布一些文章,能夠吸引大家的關注,擁有更多流量。但是我自己并不擅長小紅書內容創作,你需要根據我給定的主題和我的需求,設計出爆款文案。
- 指令: 我希望你根據我的需求,幫助我完成xxxx的小紅書寫作需求。
- 輸出風格:采用二極管標題法進行創作,善于使用標題吸引人,文章的每句話都盡量口語化、簡短。
- 輸出范圍:給我5個待選標題 + 一篇300字左右的正文。
這樣,我們基于CRISPE的prompt就寫好了,基于該框架你也可以寫出基于你自身需求的大模型指令,是不是很簡單呢?
04 一些拓展知識
1. 思維鏈(CoT)
思維鏈是一種增強大模型推理思考能力的思路與方法;文字大模型在某些領域經常會翻車,那就是計算與邏輯推理領域,這正是思維鏈的關鍵應用,能夠大幅提高數學計算以及邏輯推理的準確性。
聽起來是不是很厲害的技術?實際上實踐起來非常簡單;
簡單來說就是鼓勵大語言模型解釋其推理過程;通過向大語言模型展示一些少量的案例,在樣例中解釋推理過程,大語言模型在回答提示時也會顯示推理過程。這種推理的解釋往往會引導出更準確的結果。
本質上思維鏈提示,就是把一個多步驟推理問題,分解成很多個中間步驟,分配給更多的計算量,生成更多的 token,再把這些答案拼接在一起進行求解。
所以面對一些復雜的邏輯推理,大模型總是推理不穩定,或者錯誤,就可以嘗試CoT的思路,給大模型描述思考過程,或者直接告訴大模型,請你一步一步的輸出思考過程。
2. ReAct框架
ReAct的全程是Reasoning and Acting,大概意思就是大模型可以根據邏輯推理(Reason),構建系列的行動(Acting),從而達到期望的目的,ReAct框架對大模型的能力進行了拓展,讓大模型擁有了與外界交互的手腳,
比如當我詢問大模型,明天合肥的天氣如何?大模型就會使用查詢天氣的工具,進行天氣查詢,并整理輸出給我們,這樣的場景將極大程度的發揮大模型的能力,讓大模型自己分析問題,選擇合適的工具,并最終解決問題。
國內很多大模型針對該模塊進行了封裝,比如聯網功能,該部分我們會在agent的章節深入的進行學習。
05 如何真正的寫好提示詞
經過上面的文章,大家都能發現一點,寫提示詞,沒什么門檻,人人都能去寫一段專屬的提示詞,本質上是熟悉大模型的能力與邊界 + 充分描述自己的需求。
如何通過指令充分發揮大模型的威力,我個人覺得要從2方面入手,一方面是持續了解與更新大模型相關的知識
- 怎么準確的描述我的訴求?
- 什么樣的大模型比較好用?
- 如何根據大模型的反饋持續優化promop?
- 如何使用合適的大模型方案解決問題?比如將一個問題拆分為多個問題
另一方面就是對需求的深刻全面的了解,很多人初次使用大模型的時候會感覺:哎呀,就那樣嘛,也沒多聰明,實際上提問人的水平非常影響大模型的回答效果。
比如我們上面的小紅書prompt,假如你并不了解小紅書的創作規則,以及自己的需求,就會無法向大模型描述prompt,最終導致大模型的回復效果達不到預期。
所以我們千萬不能認為AI可以比我更強,可以直接幫助我,最起碼這個現階段依舊是不行的,人類依舊是AI的駕駛員,車開的如何,自然取決于駕駛員的實力。
最后
大模型的提示詞章節基本就說完了,后續我們將要了解文字大模型更加高階的應用,workflow(工作流)、agent(智能體),去完成更加復雜,更能解放人類生產力的方式。
我們也將討論如何通過大模型實現更加復雜,更加能落地的應用場景。
作者:狗阿木的產品日志,公眾號:我是狗阿木
本文由 @狗阿木的產品日志 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發揮!