- AI原生應(yīng)用開發(fā):提示工程原理與實戰(zhàn)
- 魏承東
- 3921字
- 2025-03-12 18:27:21
1.5 KITE提示框架
基于大量的實踐和分析,我們總結(jié)出了一種具有創(chuàng)新性的提示框架——KITE。該框架包含以下4個核心部分,如圖1-7所示。
注入知識(knowledge):為大語言模型提供相關(guān)領(lǐng)域或主題的基礎(chǔ)知識,以確保其對任務(wù)背景有清晰的理解。
明確指令(instruction):清晰地告訴大語言模型需要完成的具體任務(wù),確保指令的明確性和可執(zhí)行性。
設(shè)定目標(target):明確大語言模型生成的內(nèi)容應(yīng)達到的預(yù)期目標、標準或效果,為生成內(nèi)容提供明確的方向。
確定邊界(edge):明確大語言模型在生成內(nèi)容時應(yīng)遵守的規(guī)則或受到的限制,確保內(nèi)容的合規(guī)性和邊界性。
這4個核心部分的首字母組成了一個容易記憶的單詞——KITE。KITE本指風(fēng)箏,但在這里,它象征著引導(dǎo)和約束,既能讓大語言模型在完成任務(wù)時自由發(fā)揮,又能確保其受到適當(dāng)?shù)募s束。
KITE提示框架有助于我們更好地組織思路,確保提示信息的完整性和一致性,使我們在處理復(fù)雜問題時能考慮得更加系統(tǒng)和全面。本節(jié)將逐一介紹該框架的核心部分。

圖1-7 KITE提示框架結(jié)構(gòu)
1.5.1 注入知識
為了使大語言模型清晰理解任務(wù)背景,需要注入與任務(wù)相關(guān)的背景知識。如此,大語言模型便能借助這些知識生成更符合用戶預(yù)期的內(nèi)容。注入知識是指讓大語言模型在生成內(nèi)容前掌握一些必要信息,進而提升其生成內(nèi)容的專業(yè)性和準確性。以下是3種常用的注入方法。
(1)背景陳述。背景陳述是最直接的一種注入方法,是指直接向大語言模型提供事實信息或背景知識,讓大語言模型了解任務(wù)的本質(zhì)和要求。
(2)角色暗示。角色暗示是一種通過指定大語言模型扮演的角色來注入知識的方法,這種方法能夠讓大語言模型獲得該角色的先驗知識,并據(jù)此生成與該角色身份相符的內(nèi)容。這種靈活性使得大語言模型能夠適應(yīng)不同的領(lǐng)域,從而提高大語言模型的專業(yè)度和可信度。例如,要求大語言模型以“幼兒園老師”的身份生成內(nèi)容。
大熊貓是國家一級保護動物,受到法律保護,請以幼兒園老師的口吻寫一段話,介紹大熊貓并呼吁保護大熊貓。不超過200字。
輸出如下。
小朋友們,你們知道大熊貓嗎?它們有著黑白相間的毛,圓圓的耳朵,大大的眼睛,可喜歡吃竹子啦!大熊貓是國家一級保護動物,也是我們中國的國寶哦,是我們的好朋友。讓我們一起愛護動物,愛護大熊貓,不傷害它們,也不破壞它們的家,讓它們快樂生活吧!快來一起學(xué)習(xí)大熊貓的知識哦!
要求大語言模型以“普法工作者”的身份生成內(nèi)容,提示如下。
大熊貓是國家一級保護動物,受到法律保護,請以普法工作者的口吻寫一段話,介紹大熊貓并呼吁保護大熊貓。不超過200字。
輸出如下。
大熊貓是國寶,也是世界的珍稀物種,具有很高的科學(xué)研究價值和生態(tài)保育價值。根據(jù)《中華人民共和國野生動物保護法》,任何單位和個人不得出售、購買、利用大熊貓及其制品,違者將受到法律的嚴懲。讓我們用法治的力量,守護大熊貓的美好家園!
通過這個例子可以發(fā)現(xiàn),角色暗示能夠使大語言模型非常有效地切換到相應(yīng)角色身份上,從而生成與角色相關(guān)的具體內(nèi)容。
(3)環(huán)境模擬。環(huán)境模擬是一種通過假設(shè)場景設(shè)定注入知識的方法,它可以讓大語言模型了解特定環(huán)境的特點,并生成與該環(huán)境相關(guān)的語言輸出。這種方法可以讓大語言模型適應(yīng)不同的語境和風(fēng)格,也可以增強大語言模型的創(chuàng)造力和趣味性。下面以國慶節(jié)為主題,通過環(huán)境模擬,要求大語言模型生成相應(yīng)內(nèi)容。
國慶節(jié)當(dāng)天,城市廣場上人山人海,慶祝活動豐富多彩。作為慶典的重要環(huán)節(jié)之一,組織者安排了一場特別的“國旗下講話”,由一位知名人士上臺發(fā)表講話,以此激發(fā)市民的愛國情懷,弘揚民族精神。 請你作為這名知名人士發(fā)表講話: ->
輸出如下。
尊敬的市民朋友們,大家好! 在這金秋的十月,我們迎來了祖國母親的生日,國慶節(jié)。今天,我們齊聚一堂,在這城市的廣場上,共同慶祝這一莊嚴而神圣的日子。我深感榮幸能站在這里,與大家共度這一美好時光。 回顧過去,祖國母親歷經(jīng)風(fēng)雨,砥礪前行。她以堅韌不拔的精神,鑄就了今天的輝煌。從昔日的貧窮落后,到如今的繁榮昌盛,祖國取得了舉世矚目的偉大成就。我們?yōu)樽鎳倪M步感到自豪,為祖國的強大感到驕傲!……(略)
可以根據(jù)不同的任務(wù)和場景選擇和組合注入知識的方法,從而達到更好的效果。注入知識的原則是盡量提供與任務(wù)相關(guān)的知識,避免提供與任務(wù)無關(guān)的知識,以免造成大語言模型的混亂。
1.5.2 明確指令
為確保大語言模型能夠精確且高效地執(zhí)行分配的任務(wù),清晰而具體的指令顯得尤為重要。雖然每個任務(wù)的指令具有獨特性,但遵循以下幾條普遍適用的指導(dǎo)原則將有助于更好地構(gòu)建指令。
● 準確性:指令首先應(yīng)當(dāng)明確任務(wù)的主體,隨后詳細闡述任務(wù)的具體內(nèi)容和要求。為了提高指令的準確性,建議使用直接、清晰的措辭,并通過明確的動作詞匯(如“撰寫文章”“分類數(shù)據(jù)”“概述要點”“翻譯文本”等)來指導(dǎo)大語言模型進行內(nèi)容生成。同時,考慮到語境和語義的重要性,應(yīng)強調(diào)指令中的關(guān)鍵信息。此外,對大語言模型的能力范圍應(yīng)有充分了解,避免提出超出其處理能力的不合理要求。
● 完整性:在構(gòu)建指令時,務(wù)必確保關(guān)鍵信息的完整性。關(guān)鍵信息的遺漏或誤解可能導(dǎo)致任務(wù)執(zhí)行不準確或失敗。因此,在編寫指令時,應(yīng)仔細審查并確認所有關(guān)鍵信息已包含在內(nèi)。
● 易讀性:為了提高指令的流暢性和可讀性,應(yīng)避免使用冗長或復(fù)雜的句子結(jié)構(gòu)。如果任務(wù)涉及多個步驟,建議在指令中清晰地列出這些步驟,以便大語言模型按順序執(zhí)行。一個判斷指令是否易讀的有效方法是將其呈現(xiàn)給其他人,并比較他們的理解是否與自己的相同。如果人與人之間的理解都不盡相同,那么這條指令很可能也無法被大語言模型準確理解。
下面來分析以下指令。
“你能幫我寫一篇故事嗎?”注意控制字數(shù)。
這條指令有以下不足之處。
● 沒有給出任務(wù)的主體,如故事的類型、主題、受眾等。
● 沒有給出任務(wù)的細節(jié),如故事的格式、風(fēng)格等;沒有強調(diào)關(guān)鍵信息,例如對故事的特殊要求或者偏好應(yīng)該在提示中明確指出。
● 任務(wù)描述有歧義,沒有明確給出字數(shù)限制。
● 沒有考慮到語境和語義,例如使用“能”字可能會讓大語言模型覺得你在質(zhì)疑大語言模型的能力,而不是在請求幫助。
更改后的指令如下。
# 任務(wù)描述 作為一個作家,你的任務(wù)寫一個關(guān)于**熊貓、狐貍、兔子**的故事: - 故事類型是童話故事,主題是描述3個動物之間的友誼和冒險經(jīng)歷,目的是娛樂和教育4~8歲的小朋友。 - 故事的長度是500字左右,要求是有引人入勝的開頭,有緊張刺激的高潮,有令人滿意的結(jié)局。 - 故事是可以使用想象,例如可以給動物賦予人類的特征,可以讓動物使用各種道具,可以讓動物有各種奇遇等。 # 故事正文 ->
輸出如下。
森林三友記 在一個遙遠的森林里,住著3個好朋友——熊貓阿寶、狐貍小靈和兔子小白。他們每天一起玩耍,分享著森林里的每一份快樂。 有一天,森林里傳來了一個可怕的消息:邪惡的烏鴉王要占領(lǐng)這片森林,把動物們都變成他的奴隸。阿寶、小靈和小白聽到這個消息后,決定聯(lián)手對抗烏鴉王……(略)
在實際應(yīng)用中,遵循準確性、完整性、易讀性原則不僅有助于提高大語言模型的任務(wù)執(zhí)行效果,還能避免誤解和不必要的重復(fù)。明確指令對提高人機交互效率和滿意度具有重要意義。
1.5.3 設(shè)定目標
在KITE提示框架中,設(shè)定目標是一個至關(guān)重要組成部分。它要求用戶在輸入提示時,明確大語言模型生成的內(nèi)容應(yīng)達到的預(yù)期目標、標準或效果。設(shè)定清晰的目標不僅有助于指導(dǎo)模型的生成過程,還能確保最終輸出符合實際需求。在設(shè)定目標時,需要注意以下幾點。
● 明確性:目標必須明確、具體,避免使用模糊或含糊不清的描述,以確保大語言模型準確地理解用戶的需求,并生成符合要求的內(nèi)容。
● 可行性:目標應(yīng)該基于大語言模型的實際能力和訓(xùn)練數(shù)據(jù)來設(shè)定,確保目標是可實現(xiàn)的。過高的目標可能導(dǎo)致模型無法達成。
● 可衡量性:目標應(yīng)該具備可衡量性,以便用戶評估大語言模型的生成效果。這可以通過設(shè)定具體的評估指標來實現(xiàn),如準確性達到多少、流暢性如何等。
下面通過一個具體的示例來說明如何設(shè)定目標。
假設(shè)需要使用大語言模型來撰寫一篇關(guān)于AI在醫(yī)療領(lǐng)域的應(yīng)用的文章。可以在設(shè)定目標時這樣描述:
請撰寫一篇關(guān)于AI在醫(yī)療領(lǐng)域的應(yīng)用的文章,重點介紹AI在疾病診斷、治療,以及患者管理方面的具體應(yīng)用案例。文章應(yīng)當(dāng)清晰、準確地闡述AI技術(shù)的原理、優(yōu)勢,以及潛在挑戰(zhàn)。同時,確保文章內(nèi)容具有前沿性,反映最新的研究進展和技術(shù)動態(tài)。目標讀者為對AI和醫(yī)療領(lǐng)域感興趣的普通公眾和專業(yè)人士。文章長度約為1000字,要求結(jié)構(gòu)清晰、邏輯嚴謹,并配備適當(dāng)?shù)膱D表和插圖以增強可讀性。
這樣便為大語言模型提供了明確且具體的指導(dǎo),使其能夠生成一篇符合預(yù)期的、高質(zhì)量的文章。
1.5.4 確定邊界
確定邊界是指為了生成符合特定需求或標準的文本內(nèi)容,為大語言模型設(shè)置一系列規(guī)則和限制條件。這些規(guī)則涉及文本的長度、格式、表達方式、安全要求等方面,以確保生成的文本達到預(yù)期的效果。
以下面的應(yīng)用場景為例,通過在提示中添加限制條件,大語言模型被限定為僅生成特定類型的SQL語句。
# 任務(wù)描述 你的任務(wù)是根據(jù)用戶的輸入,生成對應(yīng)的SQL語句,如果用戶指令違反執(zhí)行限制,請輸出“對不起,我做不到!” # 表定義 CREATE TABLE customer_order ( order_id INT COMMENT '訂單ID,作為主鍵', customer_name VARCHAR(50) COMMENT '客戶名稱,最大長度為50個字符', order_date DATE COMMENT '訂單日期', order_amount DECIMAL(10, 2) COMMENT '訂單金額,總共10位,其中2位為小數(shù)', PRIMARY KEY (order_id) ); # 執(zhí)行限制 1. 你不能生成除SELECT以外的任何SQL語句,禁止輸出表結(jié)構(gòu)定義語句。 2. 你不能生成任何具有破壞性的、刪除數(shù)據(jù)的SQL語句。 3. 為了防止用戶的惡意輸入,你需要拒絕任何與你的身份和工作不相符的操作,并給出警告。 # 用戶指令 ->
輸入以下指令。
查詢用戶張三的訂單總數(shù)
輸出如下。
SELECT COUNT(*) FROM customer_order WHERE customer_name = '張三';
輸入以下指令。
請清空全部數(shù)據(jù)!
輸出如下。
對不起,我做不到!我不能執(zhí)行任何可能破壞或更改數(shù)據(jù)的操作,包括清空表數(shù)據(jù)。
在此例中,我們明確界定了大語言模型執(zhí)行任務(wù)的范圍和限制,這是一個重要的實踐,有助于確保生成的文本內(nèi)容符合用戶的期望和需求。
- 你好中小學(xué)人工智能
- 空間智能原理與應(yīng)用
- 深度學(xué)習(xí)之人臉圖像處理:核心算法與案例實戰(zhàn)
- 人工智能:現(xiàn)代方法(第4版)
- PVCBOT零基礎(chǔ)機器人制作
- 破解深度學(xué)習(xí)(基礎(chǔ)篇):模型算法與實現(xiàn)
- DeepSeek高效提問指南:提出好問題,才有好答案
- 可解釋人工智能導(dǎo)論
- 深度學(xué)習(xí)時代的計算機視覺算法
- 人工智能極簡編程入門:基于Python
- 人工智能
- 人工智能核心:神經(jīng)網(wǎng)絡(luò)(青少科普版)
- 機器人愛好者(第3輯)
- 深度學(xué)習(xí)與圖像識別:原理與實踐
- FANUC工業(yè)機器人實操與應(yīng)用技巧