Prompt Engineering 提示工程是什麼?新手必學指南

prompt engineering

什麼是 Prompt Engineering?

Prompt Engineering 是指設計和構建一個提示或問題,以指導機器生成所需的內容或回答。這種技術主要應用於自然語言處理(NLP)領域,用於控制語言模型的輸出。舉例來說,當您使用語言模型生成文章、回答問題或創建對話時,您通常會提供一個提示或問題,以引導模型生成您期望的內容。

Prompt Engineering 的重要性

為什麼 Prompt Engineering 如此重要?這是因為語言模型通常非常強大,但也非常容易受到提示的影響。一個良好設計的提示可以引導模型生成精確、合乎上下文的回答,而不良提示可能會導致不准確或無意義的結果。

Prompt Engineering 的重要性體現在以下幾個方面:

  1. 精確性:正確的提示可以幫助模型生成精確的回答,而不必依賴於模型的自主猜測。
  2. 可控性:提示使您能夠控制模型的輸出,以確保其符合您的需求和應用場景。
  3. 上下文感知:好的提示可以使模型更好地理解上下文,生成上下文相關的內容。
  4. 風格和語氣:您可以使用提示來指導模型遵循特定的風格和語氣,使生成的內容更具一致性。

Prompt Engineering 的基本原則

讓我們看看如何進行 Prompt Engineering 的基本原則:

1. 清晰和具體的提示

提示應該清晰、具體且明確。避免使用模糊的或含糊不清的問題,因為這可能會導致不確定的回答。確保提示中包含所有必要的信息,以使模型能夠理解您的意圖。

2. 上下文相關

考慮到上下文對 Prompt Engineering 至關重要。如果您正在進行對話,則應根據先前的對話內容編寫提示。這樣,模型可以理解之前的對話,並生成相關的回答。

3. 控制生成的長度

有時,模型可能會生成過長或過短的回答。您可以使用提示來控制所需的回答長度,例如指定所需的字數或句子數。

4. 試驗和調整

Prompt Engineering 需要試驗和調整。不要害怕嘗試不同的提示,看看哪個效果最好。您可以通過不斷試驗來改進提示的效果。

OpenAI 的官方 Prompt 指南:6策略獲得更好結果

OpenAI 官方的Prompt指南,如果你不會對AI下指示得到你想要的結果,應該直接從官方教你的策略開始下手,其實寫得很詳細還有舉例。

  1. 寫下清晰的指示

這些模型無法讀懂你的想法。如果輸出太長,請要求簡短答案。如果輸出太簡單,請要求專家級的寫作。如果您不喜歡這種格式,請示範您希望看到的格式。模型猜測你想要什麼的次數越少,你得到它的可能性就越大。

2. 提供參考文字

語言模型可以自信地發明假答案,特別是當被問及深奧的主題或引文和 URL 時。就像一張筆記可以幫助學生在考試中取得更好的成績一樣,為這些模型提供參考文本可以幫助減少作答次數。

3. 將複雜的任務拆分為更簡單的子任務

正如軟體工程中將複雜系統分解為一組模組化元件是良好實踐一樣,提交給語言模型的任務也是如此。複雜的任務往往比簡單的任務有更高的錯誤率。此外,複雜的任務通常可以被重新定義為更簡單任務的工作流程,其中早期任務的輸出用於建構後續任務的輸入。

4. 給模型時間“思考”

如果要求將 17 乘以 28,您可能不會立即知道,但隨著時間的推移仍然可以計算出來。同樣,模型在嘗試立即回答而不是花時間找出答案時會犯更多推理錯誤。尋求“思想鏈”在答案可以幫助模型更可靠地推理出正確答案之前。

5. 使用外部工具

透過向模型提供其他工具的輸出來彌補模型的弱點。例如,文字檢索系統(有時稱為 RAG 或檢索增強生成)可以告訴模型相關文件。像 OpenAI 的程式碼解釋器這樣的程式碼執行引擎可以幫助模型進行數學計算並運行程式碼。如果一項任務可以透過工具而不是語言模型更可靠或更有效地完成,那麼可以卸載它以充分利用兩者。

6. 有系統地測試變更

如果您可以衡量效能,那麼提高效能就會更容易。在某些情況下,對提示的修改將在一些孤立的範例上實現更好的效能,但會導致在一組更具代表性的範例上整體效能變差。因此,為了確保變更對效能有淨正面作用,可能有必要定義全面的測試套件(也稱為「評估」)。

總結

Prompt Engineering 是利用提示或問題來引導機器生成所需內容的技術。它在自然語言處理和數據生成任務中扮演著關鍵角色。通過遵循基本原則,您可以確保您的提示能夠生成精確、具有上下文感知的內容。不斷試驗和學習是掌握 Prompt Engineering 的關鍵,它可以為您的數據科學和NLP專案帶來更好的結果。

【GenAI Engineer: LLM 應用開發工作坊】向專家學習,快速掌握完整 LLM 技術和 AI 應用的多項案例