自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

萬字長文總結(jié)提示詞技巧!新加坡首屆GPT-4提示工程大賽冠軍最新分享

人工智能 新聞
提示工程已經(jīng)成為了熱門話題,無論是CO-STAR框架構(gòu)建提示詞,使用分隔符將提示詞分段,使用LLM護欄創(chuàng)建系統(tǒng)提示,還是僅使用LLM(無需插件或代碼)分析數(shù)據(jù)集,用戶都將擁有全新的使用體驗。

新加坡(GovTech)舉辦了首屆GPT-4提示工程競賽,Sheila Teo很幸運地取得了勝利。

提示工程是一門融合了藝術(shù)和科學的學科——它既是對技術(shù)的理解,也包含創(chuàng)造力和戰(zhàn)略思維。

這次她和我們分享了她在學習過程中學到的提示工程策略,這些策略可以讓任何LLM都可以完全滿足用戶的需求,甚至做得更多!

其中1,2指的是適合初學者的提示技術(shù),而3,4指的是高級策略:

  • 1. 使用CO-STAR框架構(gòu)建提示詞
  • 2. 使用分隔符將提示詞分段
  • 3. 使用LLM護欄創(chuàng)建系統(tǒng)提示符
  • 4. 僅使用LLM(無需插件或代碼)分析數(shù)據(jù)集

1. 使用CO-STAR框架構(gòu)建提示信息

有效的提示結(jié)構(gòu)對于從LLM那里獲取最佳回復至關(guān)重要。CO-STAR框架是新加坡政府科技部數(shù)據(jù)科學與人工智能團隊的心血結(jié)晶,是構(gòu)建提示的便捷模板。

它考慮到了LLM回答的有效性和相關(guān)性的所有關(guān)鍵方面,從而使回答更加優(yōu)化。

圖片

具體操作如下:

(C)上下文:提供任務(wù)的上下文信息

這有助于LLM了解正在討論的具體情景,確保其答復具有相關(guān)性。

(O)目標:確定你希望LLM執(zhí)行的任務(wù)是什么

明確你的目標有助于LLM把回答的重點放在實現(xiàn)這一具體目標上。

(S)風格:指明你希望LLM使用的寫作風格

這可以是某個名人的寫作風格,也可以是某個行業(yè)的某個專家,如商業(yè)分析專家或首席執(zhí)行官。這將引導LLM以符合你需求的方式和用詞做出回復。

(T)語氣:確定回復的態(tài)度

這可確保LLM的回復與所需的情感或情緒背景產(chǎn)生共鳴。例如,正式的、幽默的、善解人意的等。

(A)受眾:確定回復的對象

根據(jù)受眾(如某一領(lǐng)域的專家、初學者、兒童等)量身定制LLM的回復,確保其在所需的語境中是恰當?shù)?、可以理解的?/span>

(R)回復:提供回復格式

這可確保LLM按照下游任務(wù)所需的準確格式輸出。例如,列表、JSON、專業(yè)報告等。大多數(shù)LLM應(yīng)用程序都會以編程方式LLM回復進行下游操作,對于這些應(yīng)用程序來說,JSON輸出格式是最理想的。

CO-STAR的實際應(yīng)用

下面是一個真實的例子,說明CO-STAR框架為什么有用。

假設(shè)你是一名社交媒體經(jīng)理,你需要幫助起草一篇Facebook帖子來宣傳公司的新產(chǎn)品。

沒有CO-STAR的提示工程是這樣的:

在Facebook上寫一篇文章,為我公司的新產(chǎn)品做廣告。我的公司名為Alpha,產(chǎn)品名為Beta,是一種新型超快速吹風機。

下面是GPT-4的輸出結(jié)果:


介紹Alpha公司革命性的Beta吹風機!


- 告別冗長乏味的吹發(fā)過程!阿爾法隆重推出貝塔型吹風機,這是我們在護發(fā)技術(shù)方面的最新創(chuàng)新。


- 超快吹干:得益于先進、強勁的電機,Beta可以將你的吹干時間縮短一半。讓你更快做好準備,有更多時間做自己喜歡的事情!


這種輸出方式雖然夠用,但卻非常普通,缺乏必要的細微差別和有針對性的吸引力,無法引起公司受眾的共鳴。

下面是一個使用CO-STAR模板的示例,它提醒你將任務(wù)的其他方面融入你的提示中,特別是之前的快速提示中缺少的「風格」、「語氣」和「受眾」方面:

圖片


#上下文#

我想為我公司的新產(chǎn)品做廣告。我的公司名叫Alpha,產(chǎn)品名叫Beta,是一種新型超快吹風機。


#目標#

為我創(chuàng)建一個Facebook帖子,目的是讓人們點擊產(chǎn)品鏈接購買它。


#風格#

效仿戴森等宣傳類似產(chǎn)品的成功公司的寫作風格。


#語氣#

有說服力的。


#受眾#

我公司在Facebook上的受眾通常是老一代人。請針對這部分受眾通常對美發(fā)產(chǎn)品的要求,量身定制你的帖子。


#回復#

Facebook上的帖子,簡明扼要而又富有感染力。


通過應(yīng)用CO-STAR,GPT-4的回復變得更有針對性、更有效:

圖片


用Alpha Beta擁抱輕松優(yōu)雅--智慧一代的超快吹風機。

使用Alpha Beta,重新找回簡單有效的護發(fā)樂趣。我們的最新創(chuàng)新產(chǎn)品不僅僅是一款吹風機,它還是一個承諾,為那些熱愛生活的人提供快速、輕柔、可靠的頭發(fā)造型。


- 簡單直觀:告別復雜的小工具。Alpha Beta為舒適和簡便而設(shè)計,非常適合那些看中直接、無憂技術(shù)的人。


- 省心技術(shù):我們知道你的時間非常寶貴。因此,Alpha Beta可以大大縮短吹干時間,讓你有更多時間享受生活的樂趣。使用Alpha Beta,讓每一天都成為美好的一天。體驗精致與簡約的完美融合。


CO-STAR框架指導你有條不紊地向LLM提供有關(guān)任務(wù)的所有關(guān)鍵信息,確保根據(jù)你的需求提供量身定制的優(yōu)化回復。

2. 使用分隔符將提示詞分段

分隔符是一種特殊的標記,可幫助LLM區(qū)分提示詞的哪些部分應(yīng)被視為一個意義單元。這一點很重要,因為你的整個提示信息是作為一長串標記符到達LLM的。

分隔符通過對提示詞的特定部分進行區(qū)別對待,為這一語素序列塑造了結(jié)構(gòu)。

值得注意的是,對于簡單的任務(wù),分隔符可能不會影響LLM的回復質(zhì)量。

但是,任務(wù)越復雜,使用分隔符進行分段對LLM回答的影響就越大。

將分隔符用作特殊字符

分隔符可以是任何通常不會同時出現(xiàn)的特殊字符序列,例如:

  • ###
  • ===
  • >>> >>>

所選特殊字符的數(shù)量和類型并不重要,只要它們足夠獨特,能讓LLM將其理解為內(nèi)容分隔符而非普通標點符號即可。

下面舉例說明如何在提示符中使用此類分隔符:

圖片

將<<<CONVERSATIONS>>中每段對話的情緒分類為「積極」或「消極」。給出情感分類,無需任何其他前言文本。


###


對話示例


[Agent]:早上好,有什么能幫你的嗎?

[顧客]:這個產(chǎn)品太糟糕了,和廣告上說的完全不一樣!

[顧客]:我非常失望,希望全額退款。


[Agent]:早上好,有什么可以幫你?

[顧客]:你好,我只想說你們的產(chǎn)品留下了深刻印象。它超出了我的預期!


###


輸出示例


「消極」


「積極」


###


<<<

[Agent]:你好,歡迎來到我們的支持中心。有什么可以幫你的嗎?

[顧客]:你好!我只是想讓你們知道我收到了我的訂單,而且太棒了。

[Agent]:很高興聽到這個消息!我們很高興你對購買的產(chǎn)品感到滿意。還有什么需要我?guī)兔Φ膯幔?/span>

[顧客]:沒有了。我只想給你一些積極的反饋。謝謝你們的優(yōu)質(zhì)服務(wù)。


[Agent]:你好,感謝你的聯(lián)系。有什么可以幫你?

[顧客]:我對最近購買的產(chǎn)品非常失望。和我預期的完全不一樣。

[Agent]:很遺憾聽到這個消息。能否請你提供更多詳細信息,以便我提供幫助?

[顧客]:產(chǎn)品質(zhì)量很差,而且到貨很晚。我真的不滿意。

>>>

以上示例使用分隔符####進行分節(jié),分節(jié)標題EXAMPLE CONVERSATIONS(示例對話)和EXAMPLE OUTPUTS(示例輸出)用大寫字母區(qū)分。

序言指出,要分類的對話被分在<<<CONVERSATIONS>>>內(nèi),這些對話隨后在提示的底部提供給LLM,但沒有任何解釋性文字,但由于分隔符<<< and>>>的存在,LLM明白這些是它應(yīng)該分類的對話。

下面是GPT-4的輸出結(jié)果,其中給出了情感分類,但沒有像我們要求的那樣輸出任何其他前言文本:

「積極」


「消極」

將分隔符用作XML標簽

使用分隔符的另一種方法是將其作為XML標簽。XML標簽是用角括號括起來的帶有開頭和結(jié)尾的標簽。<tag>和</tag>就是一個例子。

這種方法很有效,因為LLM已經(jīng)接受過大量XML網(wǎng)頁內(nèi)容的訓練,并學會了理解其格式。

下面是同樣的提示,但結(jié)構(gòu)上使用XML標簽作為分隔符:

圖片

根據(jù)給出的示例,將以下對話的情感分為兩類。在沒有任何其他前言文本。


<類>

積極

消極

</類>


<對話示例>

[Agent]:早上好,有什么可以幫你?

[顧客]:這個產(chǎn)品太糟糕了,和廣告上說的完全不一樣!

[顧客]:我非常失望,希望全額退款。


[Agent]:早上好,有什么可以幫你?

[顧客]:你好,我只想說你們的產(chǎn)品留下了深刻印象。它超出了我的預期!

</對話示例>


<示例類>

積極

消極

</示例類>


<對話>

[Agent]:你好!歡迎來到我們的支持中心。有什么可以幫你?

[顧客]:你好!我只是想讓你們知道我收到了我的訂單,而且太棒了。

[Agent]:很高興聽到這個消息!還有什么需要我?guī)兔Φ膯幔?/span>

[顧客]:沒有了。我只想給你一些積極的反饋。謝謝你們的優(yōu)質(zhì)服務(wù)!


[Agent]:你好,感謝你的聯(lián)系。有什么可以幫你?

[顧客]:我對最近購買的產(chǎn)品非常失望。和我預期的完全不一樣。

[Agent]:很遺憾聽到這個消息。能否請你提供更多詳細信息,以便我提供幫助?

[顧客]:產(chǎn)品的質(zhì)量很差,而且很晚才送到。我對這次經(jīng)歷非常不滿意。

</對話>

在XML標簽中,使用與你在說明中用來描述它們的詞相同的名詞,是有好處的。

我們在上述提示中給出的指令是:


用給出的例子,將以下對話的情感分為兩類,不要使用任何其他序言文本。


其中我們使用了名詞「對話」、「分類」和「示例」。因此,我們用作分隔符的XML標簽是<對話>、<類>、<示例-對話> 和 <示例-類>,確保LLM理解你的指令與用作分隔符的XML標簽之間的關(guān)系。

同樣,通過使用分隔符,以清晰、有條理的方式對指令進行分段,可確保GPT-4按你希望的方式作出回復:


「積極」

「消極」


3. 使用LLM護欄創(chuàng)建系統(tǒng)提示

在進入正題之前,需要注意的是本節(jié)只適用于具有系統(tǒng)提示功能的LLM,而不像本文其他章節(jié)那樣適用于任何LLM。

最著名的LLM當然是ChatGPT,因此我們將使用ChatGPT作為本節(jié)的示例。

圍繞系統(tǒng)提示的術(shù)語

首先,讓我們來理清術(shù)語:關(guān)于ChatGPT,有大量資源幾乎可以互換使用這三個術(shù)語:「系統(tǒng)提示」、「系統(tǒng)消息」和 「自定義指令」。

這讓很多人感到困惑,以至于OpenAI發(fā)布了一篇文章來解釋這些術(shù)語。以下是其摘要:

  • 「系統(tǒng)提示」和 「系統(tǒng)消息」是通過聊天完成API以編程方式與ChatGPT進行交互時使用的術(shù)語。
  • 另一方面,「自定義指令」是通過ChatGPT用戶界面與ChatGPT交互時使用的術(shù)語。

圖片

不過總的來說,這三個術(shù)語指的是同一件事,所以不要被術(shù)語混淆了!今后,本節(jié)將使用「系統(tǒng)提示」一詞?,F(xiàn)在讓我們深入了解一下!

什么是系統(tǒng)提示?

系統(tǒng)提示是一種附加提示,你可以在其中提供有關(guān)LLM行為方式的指令。它被認為是附加的,因為它不屬于你對LLM的「正?!固崾荆从脩籼崾荆?。

在聊天中,每次你提供新提示時,系統(tǒng)提示都會像過濾器一樣,讓LLM在回復你的新提示前自動應(yīng)用。這意味著LLM在聊天中的每次回復都會考慮到到系統(tǒng)提示。

何時使用系統(tǒng)提示?

你首先想到的問題可能是:既然我也可以在與LLM進一步對話之前,在新聊天的第一次提示中說明,為什么還要在系統(tǒng)提示中說明呢?

答案是,因為LLM的對話內(nèi)存是有限的。在后一種情況下,隨著對話的繼續(xù),LLM很可能會「忘記」你在聊天中提供的第一條提示,從而遺忘這些提示。

另一方面,如果在系統(tǒng)提示自帶指令,那么這些系統(tǒng)提示就會與聊天中的每個新提示一起被自動考慮。

這可以確保LLM在聊天過程中繼續(xù)接收這些提示,無論聊天時間多長。

總之:在整個聊天過程中使用系統(tǒng)提示,可提供你希望LLM在回復時記住的提示。

系統(tǒng)提示應(yīng)包括哪些內(nèi)容?

系統(tǒng)提示中的說明通常包括以下幾類:

  • 任務(wù)定義,這樣LLM就能在整個聊天過程中始終記住要做什么。
  • 輸出格式,以便LLM始終記住應(yīng)該如何回復。
  • 安全護欄,這樣LLM就能始終記住它應(yīng)該如何「不」回復。安全護欄是LLM管理中的新興領(lǐng)域,指的是LLM允許在其中運行的配置范圍。

例如,系統(tǒng)提示可能如下所示:

圖片

你將使用此文本回答問題:「插入文本」。

你將以這種格式回復一個JSON對象:{「問題」:「答案」}。

如果文本中沒有足夠的信息來回答問題,請不要編造信息,并將答案填寫為 「NA」。

你只能回答與「插入范圍」相關(guān)的問題。切勿回答任何與年齡、性別和宗教信仰等人口統(tǒng)計信息相關(guān)的問題。

其中每個部分涉及的類別如下:

圖片

但是,「正?!沟牧奶焯崾居质鞘裁茨兀?/span>

現(xiàn)在你可能會想:聽起來系統(tǒng)提示中已經(jīng)提供了很多信息。那我應(yīng)該在聊天的 「正?!固崾荆从脩籼崾荆┲蟹劈c什么呢?

系統(tǒng)提示概述了當前的任務(wù)。在上面的系統(tǒng)提示示例中,任務(wù)被定義為只使用一段特定文本來回答問題,并且LLM被指示以{「問題」:「答案」}格式。

圖片


你將使用此文本回答問題:[插入文本]。

你將以這種格式回復一個JSON對象:{「問題」:「答案」}。

在這種情況下,聊天的每個用戶提示都是你希望使用文本回答的問題。例如,用戶提示可能是「文本是關(guān)于什么的」而LLM會回答{文本是關(guān)于什么的?文本是關(guān)于......}。

但是,讓我們進一步概括這個任務(wù)示例。在這種情況下,我們可以將上述系統(tǒng)提示的第一行編輯為:

圖片


你將使用此文本回答問題:[插入文字]。

你將使用提供的文本回答問題。

現(xiàn)在,聊天的每個用戶提示,都會包括要回答問題的文本和要回答的問題,例如:[插入文本]:

圖片

在這里,我們還使用XML標簽作為分隔符,以便有條理地向LLM提供所需的2條信息。

XML標簽「文本」和「問題」中使用的名詞,與系統(tǒng)提示中使用的名詞相對應(yīng),這樣LLM就能理解標簽與系統(tǒng)提示指令之間的關(guān)系。

總之,系統(tǒng)提示應(yīng)給出總體任務(wù)指令,而每個用戶提示應(yīng)提供你需要任務(wù)執(zhí)行的具體細節(jié)。在本例中,這些具體內(nèi)容就是文本和問題。

此外:使LLM護欄動態(tài)化

以上是通過系統(tǒng)提示中的幾句話添加的護欄。這些護欄是一成不變的,在整個聊天過程中不會改變。

如果你希望在聊天的不同階段設(shè)置不同的護欄,該怎么辦?

不幸的是,對于ChatGPT用戶界面的用戶來說,現(xiàn)在還不能直接做到這一點。

不過,如果你正在以編程方式與ChatGPT進行交互,那你就走運了!

隨著人們對構(gòu)建有效的LLM護欄的關(guān)注度越來越高,一些開源軟件包也應(yīng)運而生,它們可以讓你以編程方式設(shè)置更詳細、更動態(tài)的護欄。

其中值得注意的是英偉達團隊開發(fā)的NeMo護欄,它允許你配置用戶與LLM之間的預期對話流,從而在聊天的不同點設(shè)置不同的護欄,使動態(tài)護欄隨著聊天的進行而發(fā)展。非常推薦你去看一看!

4. 僅使用LLM(無需插件或代碼)分析數(shù)據(jù)集

你可能聽說過OpenAI在ChatGPT的GPT-4中推出的高級數(shù)據(jù)分析插件,高級(付費)賬戶可以使用該插件。

它允許用戶將數(shù)據(jù)集上傳到ChatGPT,并直接在數(shù)據(jù)集上運行代碼,從而進行精確的數(shù)據(jù)分析。

但你知道嗎,使用LLM分析數(shù)據(jù)集并不一定需要這樣的插件?讓我們先來了解一下單純使用LLMs分析數(shù)據(jù)集的優(yōu)勢和局限性。

LLM「不擅長」的數(shù)據(jù)集分析類型

你可能已經(jīng)知道,LLM進行精確數(shù)學計算的能力有限,因此它們不適合從事需要對數(shù)據(jù)集進行精確定量分析的工作,例如:

  • 描述性統(tǒng)計:通過平均值或方差等指標對數(shù)字列進行定量總結(jié)。
  • 相關(guān)性分析:獲取列之間的精確相關(guān)系數(shù)。
  • 統(tǒng)計分析:如假設(shè)檢驗,以確定各組數(shù)據(jù)點之間是否存在統(tǒng)計意義上的顯著差異。
  • 機器學習:在數(shù)據(jù)集上執(zhí)行預測建模,如使用線性回歸、梯度提升樹或神經(jīng)網(wǎng)絡(luò)。

在數(shù)據(jù)集上執(zhí)行此類定量任務(wù),是OpenAI高級數(shù)據(jù)分析插件存在的原因,這樣編程語言就可以在數(shù)據(jù)集上運行代碼來執(zhí)行此類任務(wù)。

那么,為什么有人要只使用LLM而不使用此類插件來分析數(shù)據(jù)集呢?

LLM擅長的數(shù)據(jù)集分析類型

LLM擅長識別模式和趨勢。這種能力源于它們在多樣化和海量數(shù)據(jù)方面接受的廣泛培訓,使他們能夠辨別可能無法立即察覺的復雜模式。

這使它們非常適合執(zhí)行基于數(shù)據(jù)集模式識別的任務(wù),例如:

  • 異常檢測:根據(jù)一個或多個列值,識別偏離常規(guī)的異常數(shù)據(jù)點。
  • 聚類:將各列中具有相似特征的數(shù)據(jù)點進行分組。
  • 跨列關(guān)系:識別跨列的綜合趨勢。
  • 文本分析(針對基于文本的列):根據(jù)主題或情感進行分類。
  • 趨勢分析(針對有時間方面的數(shù)據(jù)集):識別跨時間列內(nèi)的模式、季節(jié)性變化或趨勢。

對于這類基于模式的任務(wù),僅使用LLM可能比使用代碼在更短的時間內(nèi)獲得更好的結(jié)果!讓我們用一個例子來充分說明這一點。

僅使用LLM分析Kaggle數(shù)據(jù)集

我們將使用一個流行的Kaggle數(shù)據(jù)集,該數(shù)據(jù)集是為客戶個性分析而策劃的,其中一家公司試圖對其客戶聚類進行細分,以便更好地了解客戶。

為便于稍后驗證LLM的分析結(jié)果,我們將把該數(shù)據(jù)集子集為50行,并只保留最相關(guān)的列。

之后,用于分析的數(shù)據(jù)集將如下所示,其中每一行代表一位客戶,每一列描述客戶信息:

圖片

假設(shè)你在公司的營銷團隊工作。你的任務(wù)是利用這個客戶信息數(shù)據(jù)集來指導營銷工作。

這是一項分兩步走的任務(wù):首先,利用數(shù)據(jù)集生成有意義的客戶細分。

其次,就如何對每個細分市場進行最佳營銷提出想法?,F(xiàn)在,這是一個實際的商業(yè)問題,LLM的模式發(fā)現(xiàn)(第一步)能力在這個問題上確實可以大顯身手。

讓我們使用4種提示工程技術(shù),為這項任務(wù)設(shè)計如下提示:

1. 將復雜的任務(wù)分解成簡單的步驟

2. 參考每個步驟的中間輸出

3. 編寫LLM回答的格式

4. 將指令與數(shù)據(jù)集分開

圖片

下面是GPT-4的回復,我們繼續(xù)將數(shù)據(jù)集以CSV字符串的形式傳遞給它。

圖片

隨后,GPT-4按照我們要求的標記符報告格式回復了分析結(jié)果:

圖片

圖片

圖片

驗證LLM的分析結(jié)果

為簡潔起見,我們選取兩個由LLM生成的客戶聚類進行驗證,例如年輕的家庭成員和挑剔的發(fā)燒友。

年輕的家庭

  • 由LLM綜合得出的特征:1980年以后出生、已婚或同居、中低收入、有子女、經(jīng)常小額消費。
  • 按LLM聚類為該組的行:3、4、7、10、16、20
  • 深入研究數(shù)據(jù)集,這些行的完整數(shù)據(jù)是:

圖片

這與LLM確定的配置文件完全一致。它甚至能夠在我們沒有事先進行預處理的情況下,對帶有空值的行進行聚類!

挑剔的發(fā)燒友

  • 由LLM合成的特征:年齡跨度大、婚姻狀況不限、收入高、子女狀況各異、購物花費高。
  • 通過LLM聚類到該組的行:2、5、18、29、34、36
  • 深入研究數(shù)據(jù)集,這些行的完整數(shù)據(jù)是:

圖片

這也非常符合LLM所確定的特征!

這個例子展示了LLM在發(fā)現(xiàn)模式、解釋多維數(shù)據(jù)集并將其提煉為有意義的見解方面的能力,同時確保其分析深深植根于數(shù)據(jù)集的事實真相。

如果我們使用ChatGPT的高級數(shù)據(jù)分析插件呢?

為了完整起見,我用同樣的提示嘗試了同樣的任務(wù),但要求ChatGPT使用代碼來執(zhí)行分析,這就激活了它的高級數(shù)據(jù)分析插件。

我的想法是讓該插件使用K-Means等聚類算法直接在數(shù)據(jù)集上運行代碼,以獲得每個客戶聚類,然后再綜合每個聚類的概況,從而提供營銷策略。

然而,盡管數(shù)據(jù)集只有50行,但多次嘗試后都出現(xiàn)了以下錯誤信息,并且沒有任何輸出:

圖片

圖片

現(xiàn)在使用高級數(shù)據(jù)分析插件,在數(shù)據(jù)集上執(zhí)行較簡單的任務(wù)(如計算描述性統(tǒng)計或創(chuàng)建圖表)似乎很容易實現(xiàn),但需要計算算法的較高級任務(wù)有時可能會由于計算限制或其他原因?qū)е洛e誤或無輸出。

那么,何時使用LLM分析數(shù)據(jù)集?

答案是取決于分析的類型。

對于需要精確數(shù)學計算或復雜、基于規(guī)則的處理的任務(wù),傳統(tǒng)的編程方法仍然更勝一籌。

對于基于模式識別的任務(wù),使用傳統(tǒng)的編程和算法方法可能具有挑戰(zhàn)性或更耗時。然而,LLM擅長此類任務(wù),甚至可以提供額外的輸出,如支持其分析的附件和markdown格式的完整分析報告。

最終,是否使用LLM取決于當前任務(wù)的性質(zhì),要在LLM在模式識別方面的優(yōu)勢與傳統(tǒng)編程技術(shù)提供的精確性和特定性之間取得平衡。

現(xiàn)在回到提示工程!

在本節(jié)結(jié)束之前,讓我們回過頭來看看用于生成本數(shù)據(jù)集分析的提示,并對所使用的關(guān)鍵提示工程技術(shù)進行分析:

圖片

提示:

#上下文#

我是賣酒的。我有一個關(guān)于客戶信息的數(shù)據(jù)集:[出生年份、婚姻狀況、收入、孩子數(shù)量、距上次購買的天數(shù)、消費金額]。


#############


#目標#

我希望你利用這個數(shù)據(jù)集將我的客戶分組,然后告訴我如何針對每個組別開展營銷活動。請按以下步驟操作,不要使用代碼:


1. 聚類:使用數(shù)據(jù)集的列對數(shù)據(jù)集的行進行聚類,使同一聚類中的客戶具有相似的列值,而不同聚類中的客戶具有明顯不同的列值。確保每一行只屬于一個聚類。


對于找到的每個聚類:

2. CLUSTER_INFORMATION:根據(jù)數(shù)據(jù)集列描述聚類。

3. 聚類名稱:解釋[CLUSTER_INFORMATION]以獲得該聚類客戶的簡短名稱。

4. marketing_ideas:產(chǎn)生向該客戶聚類推銷我的產(chǎn)品的想法。

5. RATIONALE:解釋為什么[MARKETING_IDEAS]與該客戶聚類相關(guān)且有效。


#############


#風格#

商業(yè)分析報告

#############


#語氣#

專業(yè)、技術(shù)


#############


#受眾#

我的商業(yè)伙伴。讓他們相信你的營銷策略是經(jīng)過深思熟慮的,并有充分的數(shù)據(jù)支持。


#############


#回復:markdown報告#

<對于[CLUSTERS]>中的每個聚類

- 客戶聚類:[CLUSTER_NAME]

- 簡介:[CLUSTER_INFORMATION]

- 營銷理念:[RATIONALE]

- 原因:[RATIONALE]


<附件>

列出屬于每個聚類的行號列表,以支持你的分析。使用這些表頭:[[CLUSTER_NAME],行列表]。


#############


#開始分析#

如果你能理解,請向我索要我的數(shù)據(jù)集。

技巧 1:將復雜任務(wù)分解成簡單步驟

LLM擅長完成簡單的任務(wù),但對于復雜的任務(wù)就不那么擅長了。因此,對于像這樣的復雜任務(wù),重要的是要把任務(wù)分解成簡單的步驟說明,讓LLM遵循。這樣做的目的是,向LLM提供你自己執(zhí)行任務(wù)時會采取的步驟。

在本例中,步驟如下:

圖片


請按以下步驟操作,不要使用代碼:


1. CLUSTERS:使用數(shù)據(jù)集的列對數(shù)據(jù)集的行進行聚類,使同一聚類中的客戶具有相似的列值,而不同聚類中的客戶具有明顯不同的列值。確保每一行只屬于一個聚類。


對于找到的每個聚類

2. CLUSTER_INFORMATION:根據(jù)數(shù)據(jù)集列描述聚類。

3. CLUSTER_NAME:解釋[CLUSTER_INFORMATION]以獲得該聚類客戶的簡短名稱。

4. MARKETING_IDEAS:產(chǎn)生向該客戶聚類推銷我的產(chǎn)品的想法。

5. RATIONALE:解釋為什么[MARKETING_IDEAS]與該客戶聚類相關(guān)且有效。



不要簡單地把總體任務(wù)交給LLM,而是讓它「把客戶分成幾組,然后就如何向每組客戶進行營銷提出想法」。

有了循序漸進的指導,LLM就更有可能取得正確的結(jié)果。

技巧 2:引用每一步的中間產(chǎn)出

在向LLM提供分步流程時,我們會給每個步驟的中間輸出一個大寫的變量名,即 CLUSTERS、CLUSTER_INFORMATION、CLUSTER_NAME、MARKETING_IDEAS和RATIONALE。

使用大寫字母是為了將這些變量名與給出的指令正文區(qū)分開來。以后可以用方括號[VARIABLE_NAME]來引用這些中間輸出。

技巧 3:規(guī)范LLM回復的格式

在這里,我們要求使用markdown報告格式,以美化LLM的回復。在這里,中間輸出中的變量名又派上了用場,可以決定報告的結(jié)構(gòu)。

圖片


#回復:markdown報告#

<對于[CLUSTERS]>中的每個聚類

- 客戶聚類:[CLUSTER_NAME] 

- 簡介:[CLUSTER_INFORMATION] 

- 營銷理念:[MARKETING_IDEAS] 

- 原因:[RATIONALE] 


<附件>
列出屬于每個聚類的行號列表,以支持你的分析。使用這些表頭:[[CLUSTER_NAME],行列表]。


事實上,你甚至可以隨后要求ChatGPT以可下載文件的形式提供報告,以便你在撰寫最終報告時參考其答復。

圖片

技巧 4:將任務(wù)指令與數(shù)據(jù)集分開

你會注意到,在第一個提示中,我們從未將數(shù)據(jù)集交給LLM。相反,提示中只給出了數(shù)據(jù)集分析的任務(wù)說明,并將其添加到了底部:

圖片


#開始分析#

如果你能理解,請向我檢索我的數(shù)據(jù)集。


ChatGPT隨后回復說它能理解,我們在下一個提示中將數(shù)據(jù)集作為CSV字符串傳遞給它:

圖片

但為什么要把指令和數(shù)據(jù)集分開呢?

這樣做可以幫助LLM保持對每條指令的清晰理解,降低遺漏信息的可能性,尤其是像本任務(wù)這樣指令較長的復雜任務(wù)。

你可能遇到過這樣的情況,即LLM「不小心遺忘」了你作為較長提示的一部分給出的某個指令。例如,如果你要求給出100字的回復,而LLM給你的回復是一個較長的段落。

通過先接收指令,再接收指令所針對的數(shù)據(jù)集,LLM可以先消化它應(yīng)該做的事情,然后再對接下來提供的數(shù)據(jù)集執(zhí)行指令。

不過請注意,只有聊天LLM才能實現(xiàn)指令和數(shù)據(jù)集的分離,因為聊天LLM會保留會話記憶,而用于補全的LLM不會。

圖片

責任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2024-05-10 12:59:58

PyTorch人工智能

2021-10-18 11:58:56

負載均衡虛擬機

2022-09-06 08:02:40

死鎖順序鎖輪詢鎖

2022-04-25 10:56:33

前端優(yōu)化性能

2021-01-19 05:49:44

DNS協(xié)議

2022-09-14 09:01:55

shell可視化

2024-09-09 05:00:00

RedisString數(shù)據(jù)庫

2020-07-15 08:57:40

HTTPSTCP協(xié)議

2020-11-16 10:47:14

FreeRTOS應(yīng)用嵌入式

2020-07-09 07:54:35

ThreadPoolE線程池

2022-10-10 08:35:17

kafka工作機制消息發(fā)送

2024-03-07 18:11:39

Golang采集鏈接

2022-07-19 16:03:14

KubernetesLinux

2023-06-12 08:49:12

RocketMQ消費邏輯

2021-08-26 05:02:50

分布式設(shè)計

2024-01-11 09:53:31

面試C++

2022-09-08 10:14:29

人臉識別算法

2022-07-15 16:31:49

Postman測試

2024-01-05 08:30:26

自動駕駛算法

2022-02-15 18:45:35

Linux進程調(diào)度器
點贊
收藏

51CTO技術(shù)棧公眾號