【AI產品經理紅寶書(2)】深入淺出提示詞
對大模型的使用來說,提示詞的質量高低,決定了大模型反饋內容的質量。本文作者分享了提示詞的方法和技巧,都很有用,分享給大家。
本系列會繼續用通俗易懂的語言深入淺出為小白介紹AI知識,尤其是近年火起來的大模型、AIGC、Agent等內容,本章節為提示詞
提示詞:打開新世界大門的鑰匙,可以喚醒萬能神明的咒語
一、什么是提示詞
提示詞在人工智能領域,尤其是在自然語言處理(NLP)中,是一個重要的概念。它指的是在生成文本、回答問題或執行其他語言任務時,提供給模型用作引導的初始輸入文本。這個輸入文本幫助大模型認知遇到了什么問題、我們的目標是什么、應該如何達成這個目標——即幫助模型理解任務的上下文,并引導模型生成相關和連貫的輸出。在大語言模型中,往往參數量、數據量已經達到了充分涌現的水平,此時提示詞對于激發大模型的能力潛力尤為重要,提示詞可以是問題、指令或者任何能夠激發模型特定響應的文本。
想象一下,你正在和一個不太熟悉的朋友聊天。你可能會先問一個簡單的問題,比如“你今天過得怎么樣?”這個問題就像是一個“提示詞”,它給了你的朋友一個開始對話的方向。你的朋友根據這個提示詞,會開始講述他們一天的經歷,你們也會由淺入深的互相了解,聊到更多細節、更加深層次的內容。當我們給AI大模型一個提示詞,比如“解釋光合作用”,AI就會像你的朋友一樣,根據這個提示詞開始“講述”關于光合作用的信息。這個提示詞幫助AI理解我們想要什么樣的信息,并引導它給出相應的回答。
二、什么是提示詞工程
提示詞工程(PromptEngineering)指的是設計和優化輸入提示(prompts)的過程,這些提示用于引導語言模型生成特定類型或者結構的標準化輸出。在大語言模型的應用中,提示詞工程涉及到如何有效地與模型溝通,以獲得最佳結果。這個過程包括選擇合適的詞匯、構建問題的上下文、以及調整提示的結構,以激發模型產生準確、相關且有用的回答。提示詞工程的目標是最大化模型性能,同時減少錯誤和不相關的輸出。在當下的大模型發展情況下,誕生了很多“提示詞工程師”的崗位,專職負責寫各個領域各個場景的提示詞,基于對業務場景的理解,用特定的結構來調教大模型,逐漸獲得更優的表現。
可以把提示詞工程想象成不斷優化烹飪技巧的過程。大語言模型就像是一位廚師,而提示詞就是食譜。一個好的食譜(即精心設計的提示詞)會告訴廚師需要哪些原料、烹飪的步驟以及如何搭配食材,以制作出一道美味的菜肴。如果食譜寫得不清楚或者不完整,廚師可能會做出一道味道不佳或者不符合預期的菜。我們可以調整食譜中的操作步驟或者菜品搭配來影響廚師的出餐,這個調整功的過程就類似提示詞工程。因此,就像一個好廚師需要一個好的食譜一樣,一個表現優異的AI模型也需要提示詞工程來不斷引導它給出正確的輸出。
三、為什么需要提示詞
模型能力的應用越來越向 “預訓練” 的部分傾斜,絕大多數能力應當是在 “預訓練” 階段就構成的,而非通過進一步的訓練構建。提示詞技術的核心在于通過精心設計的輸入,巧妙地引導AI模型產生特定的、期望的輸出結果。精美的提示詞不僅僅是能夠幫助AI模型生成符合用戶預期的內容或者形式,提高輸出內容的準確性和相關性,更多的是他可以激發大模型的更多神經元使其涌現出更加神奇的能力。在各家大模型卷參數、卷數據、卷算力的情況下,如何設計好的提示詞作為一把獨特的鑰匙去調教大模型來打開新世界的大門,是一門新的學問,而且很可能會演變為一個專門的研究專業。此外,提示詞有助于擴展AI模型的適用范圍,使得同一模型能夠應對多種任務場景,而無需進行額外的訓練或微調,只要可以把現實中的問題轉化為文本類型的問題或者定義,理論上都可以被大模型來解決。
就好比你招了一個武功高手幫你打仗,他的各個門派功夫早已練的純熟。Prompt則像一個知人善用的軍師,他能夠最大程度激發武林高手的潛力,告訴他什么時候用什么功夫打哪里,類似電影中大師一般會指導武林高手出招口訣,prompt就是在提示大模型在預訓練階段學到的能力。能夠把基礎的能力發揮好,就能達到“天下武功,唯快不破”的程度。
四、提示詞框架
在編寫 Prompt 時,從0到1的編寫出第一版 Prompt 往往是最難的,而基于已有 Prompt 利用各種技巧進行優化則相對簡單。
第一版說難其實也簡單,新手讀者完全可以當作是在寫小學的400字三段式作文——今天遇到了什么、我做了什么、我的感悟是什么,類比之后的三段式為:
- 問題是什么: 首先你要告訴模型你遇到的問題是什么,要盡量描述清楚你的需求。
- 你要做什么: 下面你需要告訴大模型具體要做什么,比如寫一篇廣告策劃、寫旅游攻略,寫一段代碼等等。
- 有什么要求: 最好能對結果有一些限制和要求,比如按特定格式輸出,規定長度限制,只輸出某些內容等等。
通這 3 部分的描述我們就把 “要大模型做什么以及怎么做” 描述清楚了,這和我們跟別人溝通描述自己的需求是類似的框架。
五、常用提示詞模板
基礎的提示詞框架可能并不太結構化或者場景化,我們可能會按條理來書寫提示詞來讓大模型在不同應用場景中有更加個性化的表現。在此以coze的提示詞模板為例做幾個場景介紹
1. 通用模式
角色:{“角色名稱”}
{“角色概述和主要職責的一句話描述”}
目標:
{“角色的工作目標,如果有多目標可以分點列出,但建議更聚焦1-2個目標”}
技能:
1.{“為了實現目標,角色需要具備的技能1”}
2.{“為了實現目標,角色需要具備的技能2”}
3.{“為了實現目標,角色需要具備的技能3”}
工作流:
1.{“描述角色工作流程的第一步”}
2.{“描述角色工作流程的第二步”}
3.{“描述角色工作流程的第三步”}
輸出格式:
{“如果對角色的輸出格式有特定要求,可以在這里強調并舉例說明想要的輸出格式”}
限制:
-{“描述角色在互動過程中需要遵循的限制條件1”}
-{“描述角色在互動過程中需要遵循的限制條件2”}
-{“描述角色在互動過程中需要遵循的限制條件3”}
2. 角色扮演
是一個C端產品常用的提示詞,比如你可以給大模型一些角色風格的描述,讓他扮演某個明星或者歷史任務來和你聊天。
可以參考的提示詞模板:
你將扮演一個人物角色{“角色名稱”},以下是關于這個角色的詳細設定,請根據這些信息來構建你的回答。
人物基本信息:
-你是:{“角色的名稱、身份等基本介紹”}
-人稱:第一人稱
-出身背景與上下文:{“交代角色背景信息和上下文”}
性格特點:
-{“性格特點描述”}
語言風格:
-{“語言風格描述”}
人際關系:
-{“人際關系描述”}
過往經歷:
-{“過往經歷描述”}
經典臺詞或口頭禪:
補充信息:即你可以將動作、神情語氣、心理活動、故事背景放在()中來表示,為對話提供補充信息。
-臺詞1:{“角色臺詞示例1”}
-臺詞2:{“角色臺詞示例2”}
要求:
-根據上述提供的角色設定,以第一人稱視角進行表達。
-在回答時,盡可能地融入該角色的性格特點、語言風格以及其特有的口頭禪或經典臺詞。
-如果適用的話,在適當的地方加入()內的補充信息,如動作、神情等,以增強對話的真實感和生動性。
3. 完成任務
角色
你是{“角色設定,比如xx領域的專家”}
你的目標是{“希望模型執行什么任務,達成什么目標”}
工作步驟
1.{“工作流程1的一句話概括”}
2.{“工作流程2的一句話概括”}
3.{“工作流程3的一句話概括”}
第一步{“工作流程1標題”}
{“工作流程步驟1的具體工作要求和舉例說明,可以分點列出希望在本步驟做哪些事情,需要完成什么階段性的工作目標”}
第二步{“工作流程2標題”}
{“工作流程步驟2的具體工作要求和舉例說明,可以分點列出希望在本步驟做哪些事情,需要完成什么階段性的工作目標”}
第三步{“工作流程3標題”}
{“工作流程步驟3的具體工作要求和舉例說明,可以分點列出希望在本步驟做哪些事情,需要完成什么階段性的工作目標”}
本文由 @菠蘿油AI 原創發布于人人都是產品經理。未經作者許可,禁止轉載
題圖來自Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務
- 目前還沒評論,等你發揮!