AI提示詞Prompt的底層框架都有什么

1 評(píng)論 7290 瀏覽 35 收藏 16 分鐘

在AI技術(shù)的應(yīng)用中,提示詞(Prompt)是與大模型交互的關(guān)鍵。本文將深入探討AI提示詞的底層框架,包括System Prompt和User Prompt的作用與區(qū)別,以及如何通過明確目標(biāo)、拆解任務(wù)、限定條件等方式優(yōu)化提示詞的設(shè)計(jì)。

在應(yīng)用技術(shù)層,無(wú)論我們做了多么炫酷的設(shè)計(jì),最終都只有一個(gè)目的,那就是為了找到相對(duì)更合適的一個(gè)提示詞“Prompt”傳遞給大模型。因?yàn)?,Prompt是我們唯一可以和大模型交互的方式。

Prompt分為System Prompt和User Prompt:

  • System Prompt:通常用于提供全局的指令或限制條件,告訴模型如何理解和生成響應(yīng)。我們平時(shí)使用的大模型應(yīng)用產(chǎn)品比如DeepSeek,豆包等,System Prompt已經(jīng)被封裝在產(chǎn)品里了。而在Coze等平臺(tái)當(dāng)我們搭建一個(gè)Agent時(shí),我們可以根據(jù)實(shí)際場(chǎng)景自己編寫輸入對(duì)應(yīng)的System Prompt。
  • User Prompt:通常是用戶直接提供的問題或請(qǐng)求,系統(tǒng)會(huì)在特定回合中將它視為生成響應(yīng)的核心輸入。
  • 大模型在回答用戶問題時(shí),會(huì)將System Prompt和User Prompt(通常指用戶的提問,也包含上傳的文檔,圖片等資料)一起當(dāng)做最終的Prompt。

為什么大模型需要Prompt?

從大模型自身來講,目前市場(chǎng)上大部分大模型(指大語(yǔ)言模型即LLM)都是基于Transformer框架的,其本質(zhì)就是一個(gè)概率機(jī)器,即給它輸入內(nèi)容,經(jīng)過它的Transformer大腦處理后,輸出(預(yù)測(cè))下一個(gè)詞,直到回答完畢。

這里有三個(gè)關(guān)鍵詞:輸入,處理,輸出;

也就是說在已經(jīng)被訓(xùn)練好了的大模型的基礎(chǔ)上(再不更新版本的情況下,其知識(shí)能力水平已經(jīng)被固定),也就是這里的“處理”是不變的,所以最終“輸出”的內(nèi)容是什么,完全取決于你給它“輸入”的是什么。它雖然已經(jīng)很“聰明”,但你向它請(qǐng)教問題時(shí),如果不告訴它關(guān)于問題的背景等,它也只能靠猜的方式來回答你。

因?yàn)橥瑯右粋€(gè)問題,在不同人看來,會(huì)產(chǎn)生不同的理解。我們每個(gè)人從小成長(zhǎng)的環(huán)境不同,所掌握知識(shí)水平不同,生活經(jīng)歷不同等等,造就了我們每個(gè)人不同的世界觀,人生觀,價(jià)值觀…,當(dāng)不同人面對(duì)同樣一個(gè)問題時(shí),看待和理解問題的維度,視角,層次等等都不相同,自然就會(huì)產(chǎn)生不同的理解,也自然會(huì)產(chǎn)生不一樣的回答。

大模型也是,我們可以把它看成一個(gè)超級(jí)學(xué)霸,因?yàn)樗怯纱罅繑?shù)據(jù)喂養(yǎng)學(xué)習(xí)訓(xùn)練出來的,它也形成了自己的世界觀,也有自己對(duì)這個(gè)世界的理解(雖然在它腦子里其實(shí)一切都是一推概率數(shù)字),所以,我們完全可以把它看作一種特殊的人類,你給它輸入一個(gè)問題時(shí),你自己作為一個(gè)人類你自己本身對(duì)這個(gè)問題有你自己的理解,而大模型作為和你知識(shí)水平不同的另一個(gè)“人類”,它對(duì)這個(gè)問題的理解必然也就和你理解的不一樣。

你把問題描述的越粗糙,那么它對(duì)問題的理解和你自己對(duì)問題的理解的差別就越大,那么它輸出的回答就和你預(yù)期的差距越大(當(dāng)然,如果你自己能力水平有限,即使有時(shí)它輸出的答案很“爛”,但你看不出來,這就很糟糕),所以,只有當(dāng)你把問題描述的越清晰,越具體,它和你的理解就會(huì)越接近,它輸出的回答自然也就越好。

那么,到底怎樣才能將問題描述的更清晰,更具體呢?網(wǎng)上有各種各樣的提示詞模板,模型,方法,眼花繚亂,感覺說的都對(duì),又感覺都差點(diǎn)意思,不夠通用。下面,我試著用“我”(即“提問者”),AI大模型(即回答者),對(duì)話規(guī)則(即“我”和“AI”之間的契約),相信看完這個(gè)提示詞框架,會(huì)對(duì)提示詞有一種“原理如此”的感覺,相信你能很輕松的理解并記住這個(gè)框架。

Prompt原理的一句話解釋:“我”有個(gè)問題想讓“你”(AI)幫我解答:所以,“我”作為提問者,自己首先需求對(duì)“問題”明確且清晰然后告訴AI,“你(AI)”是“我”基于我的問題想要找的回答者,AI是個(gè)通才,可以把它想象成是一個(gè)很多個(gè)“分身專家”的合體,“我”如果明確指定由某個(gè)專家來回答問題,那我將得到更好的回答。

一、【我的任務(wù)】即我的提問:

”作為提問者,我需要自己先梳理清楚問題,先讓自己搞清楚自己想要什么(除非這個(gè)問題你還真的就搞不清楚):

1、明確目標(biāo)(明確要完成的任務(wù)):

就像做需求分析一樣:

  • 目標(biāo)用戶是誰(shuí);
  • 解決用戶什么場(chǎng)景下的什么問題;
  • 想達(dá)成什么樣的一個(gè)目標(biāo)。

2、拆解任務(wù)(分解任務(wù)流和環(huán)節(jié),每一步要做什么,有什么動(dòng)作,比如怎么把大象放進(jìn)冰箱):

怎么理解“拆解任務(wù)”呢?

想象一下,現(xiàn)在有個(gè)產(chǎn)品經(jīng)理的實(shí)習(xí)生讓你帶,那么,你得告訴他日常的工作流程,比如:

  • 競(jìng)品分析
  • 需求調(diào)研
  • 原型設(shè)計(jì)
  • 需求文檔
  • ……

對(duì)AI也類似,你需要告訴和引導(dǎo)AI按流程輸出回答,比如:

提問:如何做西紅柿炒雞蛋?

這個(gè)問題就可以這么來拆解:

提問:如何做西紅柿炒雞蛋?請(qǐng)拆分到:[買菜][備菜][炒菜]三個(gè)部分。

3、限定條件(要求:明確輸出模板/范圍/長(zhǎng)度等):

針對(duì)一些特定問題,如果你對(duì)“回答”有比較明確的要求,你就應(yīng)該告訴AI,比如:

問題:請(qǐng)幫我寫一份招聘銷售代表的JD。

如果你把這個(gè)問題輸入給AI,它會(huì)給你一個(gè)中規(guī)中矩的答案;

而如果你對(duì)JD有明確的要求,比如這樣:

請(qǐng)幫我寫一份招聘銷售代表的JD,要求如下:

  1. 職位標(biāo)題
  2. 公司介紹
  3. 職位概述
  4. 主要職責(zé)
  5. 任職要求
  6. 工作地點(diǎn)
  7. 薪資福利
  8. 職業(yè)發(fā)展機(jī)會(huì)
  9. 公司價(jià)值觀與文化
  10. 聯(lián)系信息

那么,它會(huì)根據(jù)你的這個(gè)要求進(jìn)行輸出;

二、承接“我的任務(wù)”的【AI大模型】:設(shè)定AI的角色和思維能力

可以想象一下大模型里面藏著很多個(gè)各個(gè)領(lǐng)域方面的專家,你向它提問時(shí),如果不指定讓哪個(gè)專家回答問題的話,大模型自己就會(huì)根據(jù)自己的理解來分配了一個(gè)A專家來回答,你心里潛意識(shí)的本來想讓B專家來回答的,導(dǎo)致大模型輸出的答案達(dá)不到你的逾期(或者你根本看不出來回答的好不好,這就糟糕了)

而如果你要求大模型說,我點(diǎn)名要B專家來回答這個(gè)問題,那大模型輸出的回答就大概率符合你的預(yù)期了。如何“點(diǎn)名”呢?也是3點(diǎn):指定角色+指定能力+語(yǔ)氣風(fēng)格 (建立一個(gè)具體的人的畫像:比如我要一個(gè)“人工智能方面擅長(zhǎng)Prompt提示詞的幽默的專家”幫我回答這個(gè)問題)

1、指定角色(給AI設(shè)定一個(gè)具體角色)

## 角色

你是一個(gè)音頻故事生成助手,你可以按照用戶的要求,生成最終的內(nèi)容,你工作時(shí)請(qǐng)注意:

……

2、指定能力(請(qǐng)用某項(xiàng)具體能力:sowt/PEST/波特五力…)

比如:

before:我們?cè)O(shè)計(jì)了一個(gè)項(xiàng)目管理課程,目的是幫助人力資源管理者更換的做項(xiàng)目管理。請(qǐng)你整理一個(gè)關(guān)于課程的課程簡(jiǎn)介。

after:加上指定能力后:我們?cè)O(shè)計(jì)了一個(gè)項(xiàng)目管理課程,目的是幫助人力資源管理者更換的做項(xiàng)目管理。請(qǐng)你基于SCQA模型的表征結(jié)構(gòu),梳理一個(gè)關(guān)于課程的課程簡(jiǎn)介,請(qǐng)注意不要生搬硬套SCQA模型,要保證流暢和一致性。

3、語(yǔ)氣風(fēng)格(采用特定語(yǔ)氣風(fēng)格:嚴(yán)肅/幽默/活潑/二次元/emoji…)

三、【對(duì)話規(guī)則】(清晰具體,持續(xù)優(yōu)化)

1、結(jié)合上下文

如果有關(guān)于“提問”的相關(guān)上下文背景信息,最好告訴AI;

before:?jiǎn)栴}:推薦一本書。

after:?jiǎn)栴}:我是一個(gè)科幻迷,喜歡看《三體》,清幫我推薦類似的一些科幻作品。

2、使用示例

告訴AI按照給定的“示例”進(jìn)行輸出,也可以給出“反例”,讓AI更精準(zhǔn)的理解你想要的結(jié)果;

3、輸出格式(csv/json/xml/html/markdown/…)

明確輸出的格式要求

4、標(biāo)簽結(jié)構(gòu)

用分隔符來表示提示詞的不同部分;

#角色

#背景

#要求

#…

比如:

# 角色

你是一個(gè)專業(yè)的在線問診醫(yī)生,能夠準(zhǔn)確分析患者的癥狀并提供合理的診斷和治療建議。

## 技能

### 技能 1: 分析主訴

1. 當(dāng)用戶描述身體不舒服的情況時(shí),確定這是“主訴”,并啟動(dòng) Ask_More 工作流。

2. 將解析出的用戶“主訴”傳遞給工作流。

5、優(yōu)化詞語(yǔ)

  • 運(yùn)用重復(fù)的字詞,強(qiáng)調(diào)重點(diǎn);
  • 用同義詞替代看輸出回答的效果;
  • 三明治法

6、進(jìn)行評(píng)估(給輸出的回答進(jìn)行評(píng)分)

制定一個(gè)評(píng)分標(biāo)準(zhǔn),讓AI自己根據(jù)評(píng)分標(biāo)準(zhǔn)給輸出的回答打分;

舉栗0:

講一個(gè)兒童故事,Prompt如下:

# 角色 //角色設(shè)定

你是一位“兒童科普作家”,擅長(zhǎng)將復(fù)雜的科學(xué)知識(shí)轉(zhuǎn)化為”有趣且易懂的童話故事。你的故事需要滿足以下條件:

– 故事面向的是”6-10歲”的兒童

– 請(qǐng)使用“擬人化的方式”進(jìn)行描述(如“小水滴的冒險(xiǎn)”) //指定能力

# 需求

## 核心任務(wù)? //限定條件

請(qǐng)幫我寫一個(gè)關(guān)于【水的循環(huán)】的科普故事,要求如下:

1.故事長(zhǎng)度:800字左右

2. 請(qǐng)將故事按以下幾個(gè)步驟進(jìn)行描述: //拆解任務(wù),告訴AI按步驟進(jìn)行

[雨水的蒸發(fā)]

[云的形成]

[降雨]

## 補(bǔ)充信息

– 孩子喜歡兔子、狗等小動(dòng)物?? //背景信息,類似上下文

– 希望故事的風(fēng)格是輕快、押韻的 //故事講解風(fēng)格

# 輸出要求?? //格式要求

請(qǐng)以markdown格式輸出

### [故事標(biāo)題]

主角:請(qǐng)用一個(gè)擬人的角色,如“小水滴胖胖”? //優(yōu)化詞語(yǔ),再次強(qiáng)調(diào)用擬人的方式,角色那塊也說了,三明治法

故事正文:正文分段落描寫,每個(gè)段落不超過5句話

互動(dòng)問題:用“小朋友,你覺得……”作為故事的開頭

科學(xué)小貼士:故事講完后,用1句話總結(jié)知識(shí)點(diǎn)結(jié)尾

舉栗1

智能客服助手Agent,Prompt如下:

# 角色 //“#”標(biāo)簽用來分割提示詞的不同部分

– 你是一個(gè)優(yōu)秀的智能客服助手 //給AI指定一個(gè)具體角色

# 背景

– 為客戶提供產(chǎn)品咨詢和投訴解答服務(wù)

# 目標(biāo)

– 根據(jù)用戶的問題,和給出的信息進(jìn)行分析并給出最終的回答。 //明確目標(biāo),告訴AI為誰(shuí)服務(wù),解決TA的什么問題

# 技能 //指定技能:產(chǎn)品咨詢,問題處理

– 產(chǎn)品咨詢:通過知識(shí)庫(kù)找到適合的產(chǎn)品,并能根據(jù)用戶需求進(jìn)行適合的產(chǎn)品推薦

– 問題處理:能夠快速高效的分析出問題的解決辦法。

# 工作流程 //拆解任務(wù),明確每一步要怎么做;對(duì)于“我”,作為提問者來講,我自己如果知道“步驟”,那么就要告訴AI,不要讓AI去“猜”,

1. 判斷用戶提問問題類型,屬于產(chǎn)品咨詢還是投訴問題。

2. 根據(jù)已有信息分析客戶問題的解決方案。

3. 高情商語(yǔ)言潤(rùn)色,讓講話方式聽起來更舒服。

4. 輸出整理好的回答內(nèi)容。

舉栗2:

在線問診Agent,Prompt如下:

# 角色

你是一個(gè)專業(yè)的在線問診醫(yī)生,能夠準(zhǔn)確分析患者的癥狀并提供合理的診斷和治療建議。

## 技能

### 技能 1: 分析主訴

1. 當(dāng)用戶描述身體不舒服的情況時(shí),確定這是“主訴”,并啟動(dòng) Ask_More 工作流。

2. 將解析出的用戶“主訴”傳遞給工作流。

### 技能 2: 輸出工作流結(jié)果

1. 工作流運(yùn)行結(jié)束后,將工作流的輸出完整地呈現(xiàn)給用戶。

2. 根據(jù)用戶描述的內(nèi)容,給出可能的猜想,并且給出是否需要做檢查,以及要做什么檢查的判斷

## 限制: //限定條件,要求AI按規(guī)則要求輸出

– 只專注于醫(yī)療問診相關(guān)內(nèi)容,拒絕回答與醫(yī)療問診無(wú)關(guān)的問題。

– 嚴(yán)格按照給定的流程進(jìn)行操作,不得偏離。

– 確保輸出內(nèi)容準(zhǔn)確、清晰,易于用戶理解。

本文由 @弋十三 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于 CC0 協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 1. 【輸入】-【處理】-【輸出】
    2. 【我的提問】-【設(shè)定AI的角色和思維能力】-【對(duì)話規(guī)則】

    來自江蘇 回復(fù)