ONLINEFOMO: loading...[->]
AI Insights

提示詞工程概念

·⏱️ 7 min read / 7 分鐘·#提示詞工程#Prompt Engineering#LLM 應用
Executive Summary // 內容大綱
預計閱讀 7 分鐘

一份完整拆解提示詞工程的實戰指南,涵蓋任務、上下文、示例等六大要素,以及RTGO、ICIO、CO-STAR、CRISPE等主流框架與七個實用技巧,助你打造更精準有效的AI提示詞 。

提示詞工程: 基礎版

在應用Prompt的時候,我們需要理解一個Prompt 可能包含的6個要素:任務,上下文,示例,角色,格式和語氣,而且這些要素是按重要性降序排列的。

  • 任務(Task): 任務是Prompt的核心,通常以動詞開始,明確表達你希望ChatGPT完成的任務或目標。這可以包括生成文本、給予建議、寫作內容等。可以有多個任務,以清晰地定義你的需求。
  • 上下文(Context): 上下文提供了與任務相關的背景信息,以確保模型可以理解問題的背景和約束條件。這包括用戶的背景信息、成功標準、所處環境等。上下文對於任務的明確性和有效性至關重要。
  • 示例(Exemplars): 示例是提供具體例子或框架的部分,用來引導模型生成更準確的輸出。提供示例可以明確示範所需的內容和格式,從而提高輸出質量。但並不是每次都需要提供示例,有時候也可以讓模型自行生成。
  • 角色(Persona): 角色明確指定ChatGPT和Bard(如果涉及到虛構的角色)所扮演的角色或身份。這可以是具體的人,也可以是虛構的角色,有助於調整語氣和內容以適應特定角色的需求。
  • 格式(Format): 格式部分可視化了你期望輸出的外觀和結構,如表格、列表、段落等。明確指定輸出的格式可以確保ChatGPT生成的內容符合你的預期。
  • 語氣(Tone): 語氣定義了輸出文本的語氣或風格,如正式、非正式、幽默等。指定語氣有助於確保ChatGPT的回應符合所需的情感和風格要求。通過合理組織這六個要素,可以創建一個清晰明了的Prompt,有效引導ChatGPT生成符合期望的文本輸出。

Prompt的使用技巧:

原則1:清晰明確

不要讓大模型去猜測,去揣摩人心。寫的越具體越好。

  • 1、使用分隔符:清楚地表示輸入的不同部分,讓模型清楚地了解要處理哪段文本。分隔符可以是任何明確的標點符號(雙引號、單引號、XML標記、章節標題等)。
  • 2、結構化輸出:為了更容易解析模型的輸出,結構化輸出很有幫助,如HTML或JSON
  • 3、具體和直接
  • 4、要做什麽:避免說「不要做」什麽,而是說「要做」什麽
  • 5、少樣本提示:讓模型執行實際任務前,提供給模型成功執行該任務的示例,以此告訴模型,你想讓模型做的任務是什麽(In context Learning)

原則2:給模型思考的過程

  • 1、指令拆分:分條目編寫指令,指定完成任務所需的步驟
  • 2、邏輯鏈:讓模型給出結論前先自行推理
  • 3、檢查並改進:設置一個新的prompt,定義什麽是「好」,並要求LLM檢查其先前的輸出以查看它是否「好」。

使用 Prompt 的關鍵框架

RTGO框架:

Post image

  • Role(角色):定义AI在任务中扮演的专业身份,帮助AI理解其视角和职责。例如:"你是一位资深数据分析师"或"你是一位十年经验的Python开发工程师"。
  • Task(任务):明确具体的操作指令,清晰界定任务范围,避免生成无关内容。例如:"分析2025年Q1用户行为数据"。
  • Goal(目标):设定任务的期望效果或可量化目标,帮助AI理解任务的深层次需求。例如:"生成包含3个关键趋势的可视化报告"。
  • Objective(操作要求):细化输出的格式、风格或具体要求,确保生成内容符合用户需求。例如:"使用Markdown格式,附带Matplotlib代码示例"

ICIO 框架:

Post image
  • Instruction(指令)+Context(背景信息)+Input Data(輸入數據)+Output Indicator(輸出引導)。
  • Instruction(指令):框架的核心,用於明確AI需執行的任務。編寫指令時,應簡明扼要,確保AI可準確把握任務目標及要求。
  • Context(背景信息):包括任務背景、目的、受眾、範圍、扮演角色等等,有助於AI理解任務並生成響應。
  • Input Data(輸入數據):告知模型需要處理的數據,非必需,若任務無需特定的輸入數據,則可省略。
  • Output Indicator(輸出引導):告知模型輸出結果的類型或風格等,如指定所需語氣(正式、隨意、信息性、說服性等)、定義格式或結構(如論文、要點、大綱、對話)、指定約束條件(如字數或字符數限制)、要求包含引用或來源以支持信息等。

CO-STAR框架:

Post image
  • Context(上下文)、Objective(目標)、Style(風格)、Tone(語氣)、Audience(受眾)、Response(回覆)。
  • Context(上下文):提供任務的上下文信息,有助於LLM了解正在討論的具體情景,確保其答覆具有相關性。
  • Objective(目標):明確你希望LLM執行的任務是什麽,有助於LLM把回答的重點放在實現這一具體目標上。
  • Style(風格):表明你希望LLM使用的寫作風格,可以是魯迅、余華等某個名人的寫作風格,也可以是某個行業的某個專家,如商業分析專家或首席執行官。
  • Tone(語氣):確定回覆的態度,可確保LLM的回覆與所需的情感或情緒背景符合,如正式的、幽默的、具有說服力的等。
  • Audience(受眾):確定回覆的對象,根據受眾(如初學者、兒童等)量身定制LLM的回覆,確保其在所需的語境中是恰當的、可以理解的。
  • Response(回覆):明確回覆格式,確保LLM按照下遊任務所需的準確格式輸出。例如,列表、JSON、專業報告等。

CRISPE框架:

Post image
  • Capacity(能力)、Role(角色)、Insight(見解)、Statement(聲明)、Personality(個性)和Experiment(實驗)。
  • Capacity and Role(能力和角色):指示 LLM 應扮演什麽角色,具備什麽能力。
  • Insight(見解):提供你請求的背後見解、背景和上下文。
  • Statement(聲明 ):你要求 LLM 做什麽。
  • Personality(個性):你希望 LLM 以何種風格、個性或方式回應。
  • Experiment(實驗):請求 LLM 為你回覆多個示例。

Prompt 調優

關鍵步驟:

Post image
  • 嘗試不同的prompting方法:在prompt的生成過程中,可能需要嘗試各種語言模式、詞匯的使用,甚至是不同的語法結構。每次嘗試都應該以評估集為基準進行測試,以觀察變更對系統性能的影響。
  • 調整和優化:根據測試結果,你需要對prompt進行調整和優化。這可能包括微調某些詞語的選擇,改變提問的方式,調整語言風格, 也可能是大幅度改變Prompt的結構。
  • 記錄和分析:每次實驗之後,都應該詳細記錄結果,並進行分析。這些記錄可以幫助你理解哪些改變是有效的,哪些是無效的,從而指導未來的調整方向。
  • 叠代循環:在每一輪測試和優化之後,都需要重新評估prompt的效果。通過這樣的叠代循環,你可以逐步接近最優的prompt設計。

Prompt 調優方式:

01 內容上叠代指令

  • 角色叠代:嘗試不同的角色,讓大模型提供最佳的上下文語境。
  • 任務叠代:對於指令的關鍵動作,嘗試不同的近義詞或其他相近的描述來提升準確性。
  • 執行步驟叠代–正向引導:避免負指令,談股票更換概念等方式,盡量告訴模型應該輸出什麽。
  • 執行步驟叠代–邏輯完備:將完備的思考邏輯給大模型,避免在“無”的時候,大模型自由發揮,亂造信息。
  • 執行步驟叠代–避免規則:指令的作用在於引導大模型輸出正確的答案,硬規則更加適合於靠規則程序來完成。
  • Few shot叠代:要麽每個類別都均勻添加做示例,要麽都不加;樣例較多時,引入向量數據庫做動態few shot。【好的訓練集、評測集】

02 結構上叠代指令

  • 分隔符作用:避免模型指令收到其他內容的幹擾;將文本上下文、不同的知識模塊做分隔;避免用戶註入無關指令。
  • 分條目作用:有助於大模型理解每個獨立的任務,引導大模型按照
  • 指令進行思考;有助於開發者順利任務的邏輯順序,便於逐條編寫測試以及叠代維護。
  • 順序作用:先輸出的內容會影響後輸出的內容,可以嘗試不同的順序,避免提取項的幹擾,找到最佳的提取效果。
  • 嵌套:平鋪直敘,避免多層的邏輯嵌套。
  • 位置:指令的首部和尾部指令遵循效果較好,根據不同的輸入文檔長度和指令難度嘗試不同的段落組織方式。

七個提示詞工程實用技巧

1. “小費激勵法”

  • 原理:通過承諾「小費」來獲得更高品質的回答
  • 提示詞:如果你能做得更好,我就給你 20 美元小費
  • 實際應用:當對第一次回答不夠滿意時使用,往往能獲得更專業、更詳盡的答案

2. 流程圖轉代碼

  • 原理:AI 識別流程圖並產生對應代碼
  • 提示詞:請分析並理解這張圖片,然後編寫實現流程圖中所示過程的 Python 代碼
  • 應用場景:將業務流程圖快速轉換為可執行代碼

3. 簡歷定製

  • 原理:根據職位要求智慧調整簡歷內容
  • 提示詞:我目前是[當前職位],正在申請[公司名稱]的[目標職位]。 請根據以下職位描述優化我的簡歷:[職位描述]
  • 特點:可以精準匹配職位要求,提高簡歷競爭力

4. 反向圖片提示詞

  • 原理:分析目標圖片,生成可復現的提示詞
  • 提示詞:請使用反向提示詞工程,告訴我生成這張圖片的具體提示詞
  • 簡化版:請使用反向工程重新創建這張圖片
  • 用途:説明更精確地生成類似風格的圖片

5. 情景分析

  • 原理:類比不同決策的可能結果
  • 提示詞:我有一個關於[專案/內容/業務]的想法,需要你的反饋。 這是我的想法概述:[描述想法]。 請分析我可以用哪些不同方式[完成任務]? 請進行情景對比分析。
  • 適用:商業決策、項目規劃等需要多角度分析的場景

6. 互動遊戲

  • 原理:通過對話形式進行遊戲互動
  • 提示詞:讓我們來玩二十個問題遊戲。 你開始問問題,記得標註問題編號
  • 知識問答版:讓我們來玩[主題/節目/角色]知識問答,請開始提問
  • 特點:寓教於樂,增加使用趣味性

7. 個性畫像

  • 原理:基於對話歷史進行個人化分析
  • 提示詞:根據我們至今的對話和你對我的瞭解,請創建一個描繪我生活的圖像
  • 延伸提示詞:
  • 根據我們的對話,你覺得我是一個什麼樣的人?
  • 告訴我 5 個你從我們的對話中發現的,我可能都沒注意到的關於我的特點

Further Read // 延伸閱讀