快速跳轉目錄
Prompt Engineering 為什麼重要?3 分鐘搞懂提示工程!
相信大家都有遇過 AI 工具(例如 ChatGPT)答非所問、偏離重點,甚至無中生有回答的情況吧?其實,這並不完全是 AI 的問題,反而有可能是我們提問的方式影響了它回答的品質!
這就是為什麼 Prompt Engineering(提示工程) 如此重要~以下帶你用最簡單的方式認識什麼是 Prompt Engineering,以及它為什麼重要?
(一)Prompt Engineering 是什麼?一次看懂 Prompt Engineering 介紹
如果有人說他在 Google 查東西卻得不到他想要的結果,那可能是因為他用的關鍵字不夠精確,或是提問的方式不夠清楚。這個情況同樣可以套用在 AI 應用中,因此 Prompt Engineering (提示工程)誕生了。
Prompt Engineering 中文稱作「提示工程」,簡單來說 Prompt Engineering 意思是通過設計、改良,生成更精確的提問方式,讓 AI 更懂你的需求。
Prompt Engineering 就像是與 AI 對話的藝術。
儘管生成式 AI 能回答各種問題或滿足不同需求,但如果它無法理解使用者給的指令,就無法產出我們所需要的內容。
不好的 ChatGPT 指令示範: 「幫我寫一篇文章」
為什麼這是一個不好的指令呢?
- 缺乏上下文:沒有提供文章的主題、目標受眾或用途,ChatGPT 無法了解你的需求。
- 指令太廣泛:ChatGPT 不知道你需要的文章長度、格式或文字風格。
不明確的指令容易導致 AI 生成一個很普通、廣泛性的回答,與你的需求不符,反而需要不斷修改。因此,Prompt Engineering 至關重要!提示工程不僅是給 AI 下達指令,而是透過設計和調整提示詞,讓 AI 模型能產生更準確、更相關的答案。這個過程涉及清晰的溝通,還需要反覆試驗 trial and error,以達到最佳效果!
📍 Prompt Engineering 為什麼重要?
- 提高可控性
幫助開發者更有效地掌控使用者與 AI 的互動,為大型語言模型提供相關上下文,確保輸出的準確性與一致性,並引導 AI 生成更符合需求且具創意性的回覆。
- 提高精準度
通過明確指令,幫助 AI 理解複雜的上下文和任務要求,減少 AI 自行推測的空間,讓輸出的結果更有針對性,避免無中生有或答非所問的情況,進而提高回答的正確性和可靠性。
- 改善使用者體驗
避免反覆試錯、修改或不必要的溝通,讓使用者可以更有效率的使用 AI 工具,節省時間並提升整體體驗。
(二)Prompt Engineering AI 應用:各種 NLP 領域
Prompt Engineering 基本原則|6 大重點需要注意!
OpenAI Prompt Engineering 手冊中詳細介紹了提示工程的 6 大原則,讓你的模型更聽話,以下帶你來看看是哪 6 大重點:
(一)寫出清晰的指令
就像人跟人溝通一樣,如果話不說清楚,其他人是無法理解你在想什麼的!AI 模型不是你肚子裡的蛔蟲,沒辦法通靈知道你的想法。把話說清楚,告訴模型你想要什麼、不想要什麼,減少模型猜測你想要什麼的次數,能獲得理想回答的可能性就越高!
要怎麼寫出清楚的指令呢?以下提供 6 個實用技巧:
- 把話說清楚、提供上下文
AI 在沒有足夠上下文的情況下,可能會出現模糊、過於廣泛或是偏離重點的回答。撰寫提示時,建議詳細描述你需要解決的問題與需求。簡單來說就是把話說清楚,不要給太模糊的指令。
模糊的指令 | 清楚的指令 |
---|---|
怎麼在 Excel 中加總數字? | 我要怎麼在 Excel 中加總一行台幣金額?我希望能自動化為整個表格的所有行加總,並將結果顯示在名為「Total」的欄位中。 |
誰是總統? | 誰是 2024 年的美國總統?美國總統選舉多久一次? |
總結會議筆記 | 首先用一段文字總結會議結果,其次將各發言者的重點用列點的方式整理出來,最後列出各發言者建議的下一步計畫。 |
- 讓模型扮演某個角色
指定模型扮演特定角色有助於產生更專業且具針對性的回應。例如,你可以叫模型扮演一個喜歡講笑話的脫口秀演員,並叫模型在回答問題時都要給予有趣的評論或笑話。
- 使用特殊符號區隔指令段落
當提示內容較為複雜時,可以使用特殊符號,像是「---」、「"""」或是 XML,來區分不同的指令部分,有助於 AI 更清楚地理解各部分的功能。
- 指定完成任務的步驟
如果任務比較複雜,建議把任務拆解成具體的步驟,讓模型逐步完成。例如:請按照步驟完成任務。步驟一 ➤ 請將文字濃縮成 500 字總結,步驟二 ➤ 將步驟一的文字翻譯成日文。
- 提供回答範例(經典的少樣本提示)
提供範例是引導模型生成類似輸出的有效方法之一,也就是經典的少樣本提示(few-shot prompt)。先提供數個回答範例,再讓模型依照你給的範例生成結果。
- 指定回答的長度與格式
雖然 AI 模型可能無法精確控制字數,但是你可以大致控制文章的段落數或長度。例如:請撰寫一篇 3 個段落的文章,每段 100 字左右,介紹 AI 在教育領域的應用。
(二)提供參考文本
AI 模型在被詢問一些冷門的主題、或是需要引用來源的時候,很容易編造假的答案或來源(俗稱:一本正經講幹話)。提供參考文本或檔案可以降低模型亂回答的狀況,就像「開書考」通常可以讓學生考試考得更好一樣。
- 方法 1:指定模型使用參考文本回答
就像提供知識庫一樣,我們可以直接提供模型參考內容,讓它利用提供的資訊來組成答案。
- 方法 2:指定模型「引用」參考文本
直接要求模型在回答中「引用」你附上的參考文本,提高正確性與可驗證性。
(三)拆解複雜任務
複雜的任務往往比簡單任務有更高的錯誤率,並且更難以準確執行。因此,將複雜任務拆解為一個個獨立的小任務,能有效減少錯誤,提高精確度。
例如,在軟體工程中,將一個複雜的系統分解為一組模組化組件,能提高系統的可管理性和維護性。
要怎麼拆解任務呢?3 個策略分享給你:
-
分類用戶意圖:將用戶的需求轉化為具體的行動,能夠避免 AI 模型陷入不必要的細節或誤解問題的核心。
-
摘要與過濾:因為用戶與 AI 沒辦法持續在長時間的對話中,AI 模型可以根據先前的對話內容進行總結,過濾不必要的訊息,保持對話的高效性和重點。
-
分段與總結:對於需要處理的長文檔,分段總結有助於逐步理解整體內容,並避免一開始就處理過多資訊。
(四)給模型時間思考
給模型思考時間就是我們常說的 Think Step by Step,也是思維鏈(Chain of Thought,CoT,下面會再介紹)的思考方式。就像人類在回答複雜的數學問題時,需要時間去思考和計算才能獲得準確答案,AI 模型也能透過逐步思考來更精確地達到正確的答案。
就跟人一樣,如果你直接要求模型立即提供答案,尤其是面對複雜問題的時候,模型往往會犯下更多推理錯誤。但若我們叫模型在得出結論之前,先詳細解釋其推理過程,它反而能夠更穩定地推導出正確的結果,從而減少錯誤。
(五)使用外部工具
AI 模型並不是萬能的,尤其在面對數學問題或時事問題時,更容易出錯,因此經常需要第三方工具的協助。對於一些特定的任務,利用外部工具來補充模型的不足,能夠實現更穩定和準確的結果,並最終提高效率。
將一些複雜或高效需求的任務交給專門的第三方工具來執行,讓 AI 模型可以集中處理最適合的部分,從而達到最佳效果。
當第三方工具可以穩定提供 AI 模型正確結果,模型就只需要把蒐集到的答案組裝起來就好了!
外部工具大致上可以分成 3 類:
-
嵌入式的檢索知識庫(例如 RAG): 利用嵌入的檢索技術,將用戶的問題與資料庫中的文檔進行匹配,從中提取最相關的內容並提供給語言模型。
-
使用其他程式碼:因為 AI 模型的數學運算還不夠強大,因此 OpenAI 建議,如果遇到需要計算的任務,可以讓模型寫一段計算的 Python 程式碼去處理。
-
提供特定功能: 除了進行基本的數據檢索或計算,你也可以提供特定的功能給 AI 模型,例如專門的 API、外部服務或數據庫查詢系統。
(六)系統性的測試評估
為了判斷 Prompt 的變更是否能有效提升模型的效能(或是讓模型變得更差),開發者需要進行系統性的測試。
開發者需要設計一套全面的評估測試(或稱為 eval),涵蓋各種不同的情境和例子,並且能夠客觀量化模型在不同任務下的表現,幫助識別提示的調整是否真正提升了模型的準確性或效率,而不僅僅是針對特定情境的偶然性改進。
參考來源:OpenAI 官方文件《Prompt engineering》
Prompt Engineering 技術|3 種常見的應用技術
(一)提示連結(Prompt Chaining)
提示連結(Prompt Chaining)經常被運用在自然語言處理(NLP),透過將多個提示串聯起來,創建出更具動態性和上下文感知能力的模型。
提示連結的運作方式是將一個提示的輸出作為下一個提示的前情提要,形成一系列連續的提示。這樣的串聯使聊天機器人能夠靈活適應未經預設的情況,同時保持對話的連貫性。
例如,在設計客服聊天機器人時,透過提示連結技術,機器人可以根據使用者的回應動態調整後續問題,提供更個性化且相關的服務。
(二)思維鏈(Chain of Thought)
Prompt Engineering 的 CoT(思維鏈)是一種提示技術,目的是提升模型在處理複雜推理任務時的能力。
CoT 會透過提供詳細推理過程的範例,鼓勵模型在回答時展示其思考步驟。這種方法讓模型能夠模仿人類的思考過程,逐步解決問題,從而提高對問題的理解和回答的準確性。
例如,當模型面對需要多步驟計算的數學問題時,傳統的指令可能只是要求模型直接給出答案,但這很容易導致錯誤。而採用 CoT 技術,則可以引導模型逐步展開推理過程,詳細描述每一步的計算,最終得出正確答案。這種方法不僅提高了模型的準確性,還增強了結果的可解釋性。
(三)思維樹(Tree of Thought)
Tree of Thought Prompting 與思維鏈一樣,都是為了提升模型的推理能力。不過思維樹(ToT) 則進一步擴展了 CoT 的線性思維概念,透過構建樹狀結構,讓模型在不同的思維路徑上進行探索和評估。
這種方法模擬人類在面對複雜問題時的多重思考方式,透過探索不同的推理分支,模型可以評估各種可能的解決方案,最終選擇最優的答案。
例如,在進行 24 點算數遊戲時(玩家可以使用 4 個指定數字及加、減、乘、除運算,得出結果需要為 24),ToT 會讓模型探索不同的計算步驟組合,最終找到達成目標的最佳路徑。
簡單比較思維鏈(CoT)和思維樹(ToT):
- 思 維鏈(CoT) ➤ 適用於需要清晰、線性思維或逐步推理的任務。
- 思維樹(ToT) ➤ 適合需要策略性探索或存在多種解決方案的複雜問題。
Prompt Engineering 範例分享!教你訓練更精準的 ChatGPT 指令
ChatGPT 應該是最廣為人知,也是許多人日常生活中最常使用的 AI 工具之一吧!接下來,讓我根據 OpenAI 的文章,和你分享一些 Prompt Engineering 實際範例,幫助你訓練更精準、更有效的 ChatGPT!
(一)Prompt Engineering 應用:ChatGPT 指令範例
這邊簡單複習一下 OpenAI 的 6 大 Prompt Engineering 基本原則:寫出清晰的指令、提供參考文本、拆解複雜任務、給模型時間去思考、使用外部工具、系統性測試評估。
以下再跟你分享 3 種 OpenAI 建議的 Prompt 寫法:
📍 與其只說明「不要做什麼」,不如說明「該做什麼」
❌ 效果較差 | 以下是一位客服與用戶的對話,請不要詢問用戶名或密碼、不要重複對話 用戶:我無法登入我的帳戶 客服: |
---|---|
✅ 效果較好 | 以下是一位客服與用戶的對話,客服將嘗試診斷問題並提出解決方案,並避免詢問任何涉及個人識別信息(PII)的問題,而是將用戶引導至幫助文章 www.samplewebsite.com/help/faq,而非要求用戶提供帳號或密碼。 用戶:我無法登入我的帳戶 客服: |
📍 將指令放在提示的開頭,並使用 ### 或 ””” 來分隔指示與內容
❌ 效果較差 | 將下面的文字總結成重點項目清單。 文本文本文本文本 |
---|---|
✅ 效果較好 | 將下面的文字總結成重點項目清單。 文字:""" 文本文本文本文本 """ |
📍 減少「模糊」和不夠精確的描述
❌ 效果較差 | 用幾句話描述這個產品,不用太多但也不要太少 |
---|---|
✅ 效果較好 | 用 3 到 5 句話描述這個產品 |
Prompt Engineering 教學整理|課程、學習資源
最後,老樣子跟你分享一些線上的 Prompt Engineering 課程跟學習資源,幫助你更了解 Prompt Engineering!
📘 課程名稱:《ChatGPT Prompt Engineering》
這堂課是 DeepLearning.AI 的課程。DeepLearning.AI 是由深度學習大師吳恩達所成立,推出許多涵蓋 AI 相關的各種課程,包含專項課程、證書課程等。
- 針對開發者設計,介紹如何利用 ChatGPT 進行高效的提示工程。
- 內容深入探討語言模型如何理解和回應提示,並提供實用的提示技巧。
- 包含範例與實際練習,幫助學員掌握如何調整和改進提示。
- 平台有提供部分免費學習時數。
📘 課程名稱:提示工程指南
本堂課是由 Learn Prompting 設計,他們是專門提供 AI 相關課程的平台,受到包含 OpenAI、Google、微軟等企業的信任,已經有超過百萬人上過課程,可以說是許多人的 Prompt Engineering Guide!
- 涵蓋提示工程的基礎知識,適合新手學習如何編寫有效提示。
- 提供多種實際應用範例,幫助學員理解如何在不同情境下使用提示工程技術。
- 深入介紹如何設計清晰、精確的提示,以提升 AI 的回應質量和準確性。
- 完全免費!
以上就是 Prompt Engineering 的介紹,如果您想要了解更多 Solwen AI 資訊,或者想要免費諮詢 AI 導入評估,都可以透過下方藍色按鈕與 Solwen AI 團隊聯繫!
邱鈺傑
AI 工程師
曾任職於意藍資訊,擅長 RAG 技術應用及 AI Agent 應用開發,擁有豐富的數據分析和商業分析經驗,具備多個 AI 專案的實戰經歷,包含假訊息分類、AI 文案生成等實用應用,並在大型會議與教育訓練中擔任講師。熱衷自學 AI 技術,並擅長將複雜概念轉換為清晰易懂的語言傳達。
黃適文.
2024-12-17
數位轉型是什麼?AI 數位轉型怎麼做?本文介紹數位轉型 3 階段與數位轉型 5 步驟,並分享 2 大數位轉型成功案例,以及 3 個數位轉型可能遇到的常見問題!
編輯精選
黃適文.
2024-12-23
Claude 怎麼用?Claude 費用怎麼算?本文介紹 3 大 Claude 種類與 2 大 Claude 特色,並分享 ChatGPT、Gemini 和 Claude 3 大 AI 工具比較!
黃適文.
2024-12-23
NLP 是什麼?NLP 怎麼運作的?本文將分享 NLP、NLG、NLU 差異,並且帶你了解 NLP 運作方式及 5 個 AI 常見概念解釋,探索 NLP 在生活上的應用案例!
黃適文.
2024-12-17
生成式 AI 是什麼?本文詳細介紹生成式 AI(Generative AI)原理,並分享生成式 AI 優缺點、3 大生成式 AI 應用產業與生成式 AI 工具!
黃適文.
2024-12-17
ChatBot 是什麼?本文將分享 ChatBot 4 大優勢與 Chatbot 2 大類型,以及 8 個 Chatbot 推薦平台與聊天機器人應用案例!最完整 ChatBot 介紹看這篇!
黃適文.
2024-12-17
數位轉型是什麼?AI 數位轉型怎麼做?本文介紹數位轉型 3 階段與數位轉型 5 步驟,並分享 2 大數位轉型成功案例,以及 3 個數位轉型可能遇到的常見問題!
黃適文.
2024-12-17
人工智慧有哪些?AI 人工智慧應用在哪裡?本文將介紹 3 大 AI 種類與 9 大 AI 人工智慧生活應用領域!想了解最詳細的 AI 介紹就看這篇!
最新文章
邱鈺傑.
2024-12-31
大數據是什麼?大數據分析怎麼做?本文將帶你深入了解大數據特色及大數據應用產業,並推薦 6 個實用大數據工具,最後分享企業都該關注的大數據挑戰,讓你更有效地掌握大數據分析的技術!
葉長霖.
2024-12-31
AI 模型訓練是什麼?本文為你介紹 AI Model Training、5 步驟了解 AI 模型開發流程、 4 項 AI 模型訓練種類,最後了解 AI 模型訓練的挑戰與 AI 模型訓練教學資源。
呂亮進.
2024-12-30
監督式學習定義為何?監督式學習、非監督式學習、半監督式學習、強化學習有何不同?本文將介紹各項學習之間的差異,並分享監督式學習演算法與 2 個監督式學習例子!
黃適文.
2024-12-23
Claude 怎麼用?Claude 費用怎麼算?本文介紹 3 大 Claude 種類與 2 大 Claude 特色,並分享 ChatGPT、Gemini 和 Claude 3 大 AI 工具比較!
黃適文.
2024-12-23
NLP 是什麼?NLP 怎麼運作的?本文將分享 NLP、NLG、NLU 差異,並且帶你了解 NLP 運作方式及 5 個 AI 常見概念解釋,探索 NLP 在生活上的應用案例!
黃適文.
2024-12-23
Perplexity 是什麼?連黃仁勳都愛用的 AI 搜尋引擎!本文帶將介紹 Perplexity 4 大功能與應用教學 5 步驟!並分享 Perplexity 與 ChatGPT、Gemini 等 AI 工具差異!