Prompt Engineering:掌握 7 大技巧,讓你解鎖 AI 潛力

文章目錄

分享給更多人知道

生成式人工智慧(Generative AI正迅速地改變著我們的生活,而大型語言模型就是這項科技革命不可或缺的一部分。

大型語言模型擁有強大的語言處理能力,可以理解和生成各種文字內容,例如撰寫文章、語言翻譯、創作歌曲等等。然而,要讓大語言模型發揮真正的潛力,關鍵在於 Prompt Engineering。

什麼是Prompt Engineering?

提示工程 (Prompt Engineering) 就像是一把魔法棒,它能引導大型語言模型理解你的需求,並生成你想要的結果。

假設,你想要請朋友推薦一家餐廳,你可能會說:「我想吃點好吃的,最好是素食。」 你的描述越清楚,朋友就越能推薦符合你需求的餐廳。

同樣,在與模型交談時,你也要提供清晰明確的指示,才能讓它理解你的意圖,並生成更有用的內容。

大型語言模型的原理

大型語言模型 (Large Language Model) 就像一個博學多聞的語言大師,擁有海量的知識。它透過學習大量的資料,例如書籍、文章、網站等,理解語言之間的關聯性和模式。

舉例來說,如果 LLM 學習了「下雨後街道會變得潮濕」這個句子,它就能推斷出「雨」和「潮濕」之間的關係。當你向 LLM 提出一個問題或請求時,它會根據已學習的語言模式,預測下一個最有可能出現的詞彙,並逐字逐句的生成答案。

想像一下,你輸入一個不完整的句子:「下雨後街道會變得」,它會根據學習到的知識,推斷出「潮濕」這個詞彙的機率最高,因此完成句子為「下雨後街道會變得潮濕」。

LLM 的限制

儘管 LLM 擁有驚人的語言處理能力,但它並非完美無缺。LLM 可能產生「幻覺(Hallucination)」,也就是說,它可能會生成不符合事實的資訊。這是因為它在預測文字時,可能會受到訓練資料中的錯誤資訊影響,或是在沒有足夠資訊的情況下,憑空捏造出一些虛假內容。

因此,在使用 LLM 的過程中,我們需要保持批判性思考,仔細檢視其生成的內容,確認其準確性、客觀性,以及是否符合我們的需求。

如何撰寫有效的Prompt

想要讓 LLM 產生符合你預期的結果,撰寫有效的Prompt至關重要。你需要明確傳達你的需求,讓 LLM 理解你的意圖。以下幾個技巧可以幫助你撰寫更有效的提示。

清晰明確

首先,應明確指示 LLMs 執行的任務,例如使用「總結」、「翻譯」等動詞來引導它。

其次,提供充足的背景資訊,幫助 LLMs 理解你的需求,例如在要求它撰寫產品文案時,應說明目標客群、產品特色等細節。

近一步來說,若想請 LLM 撰寫一篇關於台灣夜市的介紹文章,可以這樣下指令:「請以台灣夜市為主題,撰寫一篇 500 字左右的文章,內容包含歷史發展、特色小吃、文化體驗等面向,並以輕鬆活潑的語氣吸引外國遊客。」

結構化

除了基本原則外,善用指令結構化技巧更能提升 LLMs 的輸出品質。在格式方面,建議明確區分指令與內容,例如使用「###」等符號分隔你的指令。

這種做法尤其適用於較為複雜的指令,能有效避免混淆,提高 LLMs 的處理效率。

一般指令:

幫我寫一封邀請函,邀請王先生參加我們公司在 12 月 1 日舉辦的產品發佈會,地點在台北 101 大樓。

優化後的指令:

### 指令:
請撰寫一封電子郵件,邀請王先生參加產品發佈會。

### 發佈會資訊:
* 時間:2023121 日,晚上 7 點
* 地點:台北 101 大樓 3 樓宴會廳
* 產品:全新 AI 智能語音助理

### 其他需求:
* 語氣:正式、禮貌
* 內容需包含:產品介紹、活動流程、報名方式

### 電子郵件內容:
(此處留空,讓 LLM 生成)

設定輸出格式

想像一下,當你要求 LLMs 整理一份產品清單,卻得到一大段雜亂無章的文字,是不是會讓你眼花撩亂、難以消化? 格式化指令的目的,就是讓 LLMs 的輸出結果更符合人類的閱讀習慣,提高資訊的可讀性和易用性。

因此我們還必須明確說明你希望 LLM 以什麼樣的格式輸出內容,例如表格條列式程式碼等。

範例:

請幫我整理一份關於 Prompt Engineering 的學習資源清單,包含以下資訊:

  1. 資源名稱
  2. 資源類型(例如:網站、書籍、課程等)
  3. 資源連結
  4. 簡短介紹(不超過 20 字)
  5. 請將整理好的資訊以表格形式呈現,並使用 Markdown 語法。

思維鏈提示

面對複雜的任務時,直接向 LLMs 下達指令,可能會得到不盡理想的結果。此時,可以運用「思維鏈提示 (Chain of Thought)」,引導 LLMs 將問題拆解成多個步驟,逐步思考並推理,最終得出更合理的答案。

假設我們要為新款運動手錶產品,設計一個能提升品牌知名度的社群媒體行銷活動,我們可能會用以下的指令

傳統指令:為新款運動手錶產品,設計一個能提升品牌知名度的社群媒體行銷活動。

思維鏈提示 (分次提問):

  1. 我們的目標客群是誰?他們的興趣和行為模式為何?
  2. 如何吸引目標客群的注意?可以利用哪些社群平台和內容形式?
  3. 如何提升活動的互動率和參與度?
  4. 如何將活動參與者轉化為潛在客戶?
  5. 如何評估活動成效?

從多個答案中,篩選最佳解

由於 LLMs 的輸出結果帶有機率性,即使輸入相同的指令,也可能得到不同的答案。為了提高答案的準確度,可以讓 LLMs 生成多個答案,並比較這些答案之間的一致性,從中篩選出最可信的結果。

例如,若想請 LLMs 翻譯一段文字,可以生成三個不同的版本,並比較三個版本之間的差異。如果某個句子在三個版本中都翻譯成相同的意思,則該句子的翻譯較為可靠。反之,如果某個句子在三個版本中翻譯的差異很大,則需要進一步人工修正。

Few-Shot Prompting

少樣本提示 (Few-Shot Prompting) 是一種透過提供數個範例,來引導 LLM 理解你的需求的方法。還記得小時候學習寫作時,老師經常讓我們模仿範文,從中學習寫作技巧和表達方式嗎?Few-shot Prompting 正是借鑑了這種學習方式。

不過在應用 Few-shot Prompting 時,請務必記住以下幾個要素:

  1. 在提示中明確說明你希望 LLM 執行什麼任務,並提供幾個範例讓它參考。
  2. 提供的範例應該具備一致性,例如:
    • 內容風格一致:提供幾個現有的產品文案,讓 LLM 學習你的寫作風格。
    • 格式一致:提供幾個使用表格來呈現數據的範例。
  3. 不要提供太多範例,以免限制 LLM 的創造力。一般來說,1-5 個範例就足夠。

我們以情感分析為例:

根據下方樣本

  1. 這家餐廳太棒了! -> 正面
  2. 我對他們的炒飯很失望。 -> 負面
  3. 烏龍麵還可以。 -> 中性 

請判斷以下文字的情感是正面、負面還是中性。

『這家餐廳的服務態度很差,食物也不好吃。』

迭代流程

Prompt engineering 就像是一個不斷精進的藝術,需要不斷調整和優化才能達到最佳效果。

你需要不斷修改和調整你的 Prompt,來取得最佳的輸出版本。以下分享幾個步驟,幫助你進行迭代式提示:

  1. 首先,根據你的需求撰寫一個初版,並觀察 LLM 生成的內容。
  2. 分析 LLM 生成的內容,找出不足之處,例如:
    • 內容是否準確?
    • 內容是否符合你預期的格式?
    • 內容是否缺乏關鍵資訊?
  3. 根據評估結果,修改你的提示,例如:
    • 添加缺失的背景資訊。
    • 更精準描述你的需求。
    • 更改提示的措辭。
    • 提供範例供 LLM 參考。

舉例來說,如果你想讓 LLM 幫你列出五個適合公司團康活動的主題,但 LLM 生成的主題過於普通,缺乏創意。你可以修改提示,加入「主題要具備趣味性和創意性」的描述,並提供一些具體的範例,例如「以電影為主題的活動」、「以運動會為主題的活動」。

透過不斷迭代和優化,你就能逐步提升 Prompt 的品質,讓 LLM 產生更加符合預期且有用的內容。

總結

Prompt Engineering 的應用範疇相當廣泛,幾乎涵蓋了所有需要文字處理的工作場景。它可以用於撰寫電子郵件、報告、行銷文案等,大幅提升內容產出的效率。

此外,LLMs 也能協助總結會議記錄、分析顧客評價、從文件中提取關鍵資訊,甚至翻譯文件、潤飾文稿等等,因此掌握如何撰寫好的 Prompt 成為職場人士必不可少的職能之一。

Lewis Ko
Lewis Ko
Hi 我是Lewis,曾任職in-house行銷人員,現職某跨國企業的SEO Specialist。熱愛學習最新的科技和知識,努力透過簡單易懂的方式,分享我學習的過程和心得。如果你/妳剛好也在學習SEO、GA、GTM、Looker Studio的道路上,希望我的內容對你有幫助!

延伸閱讀