一篇文章講清楚:AI產品經理應該知道的“Prompt秘籍”
為什么不同的人用同一個AI會產生巨大的差異?其實就是大家提示詞的技巧有高低。本文作者分享了自己的提示詞方法論,希望可以幫到大家。
一、Prompt定義
它如同與 AI 對話的內容,決定了 AI 如何理解任務并作出回應。比如在聊天機器人中,你輸入的問題或要求就是 Prompt。一個清晰、準確的 Prompt 能引導 AI 生成符合期望的回答。
二、Prompt構成要素
角色+任務+限定條件+樣例/參考資料
角色
為 AI 明確一個具體的角色身份,使其回答更符合特定的場景和風格。比如設定為 “你是一名專業的健身教練”,那么 AI 在回答問題時就會以健身教練的專業視角和口吻來進行回答。
任務
對于要求模型生成內容進行簡單的陳述,根據任務類型可以分為一下幾種類別:
限定條件
- 限定輸出長度:對于模型輸出內容的字數進行限定,如:避免長篇大論,言簡意賅,控制在100字以內。
- 限制回答范圍:明確規定 AI 回答的范圍和邊界,避免其生成無關或不適當的內容。例如,“只回答與歷史事件相關的問題,不涉及現代政治和娛樂話題”。
- 限定輸出格式:指定 AI 輸出的格式,如文本的段落結構、列表形式、表格形式等,使生成的結果更符合預期和便于閱讀。比如:要求以 “問題 – 答案” 的格式來回答一系列問題。
樣例
列舉出一些優秀的回答方式供大模型參考學習,讓大模型了解你要輸出的內容是什么形式。
將這類內容放在prompt中,就叫做in-Context-laerning,這樣就可以實現不改變模型,僅僅把樣例放在prompt,從而實現更好的表現。
分為:
- 零樣本提示(Zero Shot):是一種在沒有任何相關示例的情況下,直接對模型進行提問的方法。
- 少樣本提示(Few Shot):在提示中提供少量的示例,以幫助模型更好地理解任務的目標和輸出要求。
兩種寫法:
1.用“提問”-“回答”方式示范,讓大模型理解
示例1:
提問:“商品收到了,質量超棒!材質摸起來很舒服,非常滿意
回答:正面
示例 2:
提問:這雙鞋的質量太差了,走路很不舒服,和我預期的相差甚遠,很失望
回答:負面
(任務要求)
新任務:
提問:“買的化妝品有股奇怪的味道,用了之后皮膚還過敏了,要求退貨還各種推脫。”
輸出:
大模型回答:正面
2.給示例+語言描述輸出要求
對于一個圖像生成任務,通過幾步引導展示 few shot 示例。
步驟一:
“我們要生成一幅海邊日出的畫。首先,畫面應該有大海,大海的顏色可以是深藍色?!?/p>
步驟二:
“然后,在畫面的左上角,有一輪剛剛升起的太陽?!?/p>
步驟三:
“最后,沙灘上可以添加一些貝殼和腳印,來增添畫面的細節?!?/p>
提問:“按照上面的步驟,生成一幅山間日落的畫,注意調整相應的元素。”
大模型回答:
步驟一:
“我們要生成一幅山間日落的畫。首先,畫面應該有連綿的山脈,山脈的顏色可以是深褐色與墨綠色相間”
步驟二:
“然后,在畫面的西側,有一輪即將落下的太陽,顏色是金紅色”
步驟三:
“最后,在山腳下可以添加一些樹木和一條蜿蜒的小溪,樹木的葉子在夕陽余暉下呈現出暖色調”
三、編寫技巧(最后一條最重要)
使用 markdown 語法
利用 markdown 語法,如 #、##、### 等標題符號,以及 – 列表符號等(#+空格+文字,會讓后面的文字變成一級標題,兩個 #這是二級標題,以此類推)對 prompt 進行清晰的結構劃分,使其更具可讀性和邏輯性,便于理解和迭代。例如:
避免復雜指令
不要在一個 prompt 中堆砌過多復雜的指令或要求,盡量保持簡潔,一次專注于一個主要任務。
分布描述
對于復雜的任務,可以將其分解為多個步驟或子任務,依次進行描述,讓 AI 能夠更有條理地執行任務。比如 “首先查詢最新的科技新聞,然后篩選出與人工智能相關的新聞,最后總結每條新聞的主要內容和重要觀點”
進行測試驗證
在撰寫完 prompt 后,通過輸入不同的測試用例來檢查 AI 的輸出是否符合預期。如果不符合,分析原因并對 prompt 進行調整和改進。
借助多樣化的表述形式展開多次試驗,運用近義詞替換、反義詞對比等手段,同時緊密結合關鍵詞與上下文來嘗試各種不同指令,最終確定一條恰當的指令。有時大模型效果不佳并非其自身缺陷,而可能是由于未采用清晰明確的指令所致。這種指令就如同神奇的 “魔法咒語” 一般,一旦運用準確,常常能夠收獲事半功倍之效。
本文由 @波比巴拉丹 原創發布于人人都是產品經理。未經作者許可,禁止轉載
題圖來自Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務
- 目前還沒評論,等你發揮!