Contents ...
udn網路城邦
AI提示詞工程 Prompt Engineering-單元-07-提示詞設計最佳實務(正向指令、簡潔設計、使用變數)
2026/10/08 08:15
瀏覽20
迴響0
推薦0
引用0

寫提示詞,就像是對一位理解力極強,但想法直接的實習生下達工作指令。 如果你給他一堆限制「不要做這個、不要做那個」,他可能會感到困惑,不知道到底「該做什麼」;但如果你用正面直接的指令告訴他「請這樣做」,並使用動詞明確、簡潔無廢話的文字,他就更容易交出完美的成果。

另外,當你需要把這套提示詞應用在軟體系統、或重複性工作時,你可以把特定資訊抽取出來做成「變數(Variables)」,就像印好一張「申請表單範本」,每次只要替換裡面的變數名稱(例如 {使用者姓名} 或 {產品名稱}),就能不斷重複使用這套高品質的提示詞。


🎯 核心重點

  1. 正向指令優先於限制條件(Instructions over Constraints):
    • 正向指令(Instruction):直接告訴模型「該做什麼或產出什麼樣的格式/內容」。
    • 限制條件(Constraint):告訴模型「不該做什麼或應避免什麼」。
    • 黃金法則:研究顯示,人類與 LLM 都更偏好正向指令。限制條件容易讓模型猜測「那到底允許做什麼?」,且多個限制條件容易相互衝突。只有在防止偏見、有害內容或嚴格格式限制時才使用限制條件。
  2. 簡潔與具體設計(Design with Simplicity & Specificity):
    • :刪除冗餘閒聊與複雜廢話,如果連你自己都覺得句子複雜混淆,模型也容易混淆。簡潔(Simplicity)
    • 動詞驅動(Action Verbs):善用明確的行動動詞(如:Summarize, Extract, Classify, Categorize, Generate, Rewrite 等)。
    • 具體明確(Specificity):具體說明輸出的段落數、風格與關注焦點,能幫助模型聚焦並提高準確度。
  3. 動態變數的使用(Use Variables in Prompts):
    • 在提示詞中使用變數佔位符(如 {city} 或 {product_name}),可以避免硬編碼(Hardcoding)與重複撰寫。這是將提示詞整合進軟體應用程式(APIs/Apps)中的關鍵做法。
  4. 提示詞測試與紀錄文件(Document Prompt Attempts):
    • 提示詞優化是個迭代過程,建議使用表格紀錄每次實驗的 Prompt、Model、Temperature、Top-K/Top-P 與輸出評估(OK/NOT OK),以便追蹤與除錯。

💡 實際例子

例子 1:正向指令 vs. 限制條件
  • 較差寫法(過度使用限制條件 Constraints):

    寫一篇關於前 5 大遊戲主機的短文。不要列出遊戲名稱,不要提到遊戲軟體公司,不要寫超過 1 段。

  • 優化寫法(採用正向指令 Positive Instructions):

    請撰寫一段關於前 5 大遊戲主機的短文。內容僅討論主機名稱、製造公司、發售年份與總銷售量。

例子 2:變數動態範本 (Variables)
  • 提示詞設定:

    變數:{city} = "阿姆斯特丹"
    (註:下次要介紹巴黎時,只要把""內的名詞換成巴黎,即可重複使用下列的提示詞。)
    提示詞:你是一位專業導遊,請介紹關於 {city} 這個城市的一個有趣冷知識。

  • 模型輸出:

    阿姆斯特丹是一座擁有豐富運河與橋樑的美麗城市,它的單車數量甚至比常住人口還要多!


❌ 常見錯誤

  1. 只列一堆「不要...」的禁止事項:只跟 AI 說「不要寫太多廢話、不要包含條列式」,不如改寫為「請用 3 句以內完整段落說明」。
  2. 提示詞夾雜大量背景閒聊:例如寫「我現在正在紐約度假,帶著兩個 3 歲小孩,我想知道...」,不如直接簡潔指令化:「扮演導遊,推薦紐約曼哈頓適合 3 歲幼兒造訪的景點」。
  3. 在程式碼中硬編碼(Hardcoding)特定資料:每次換一個產品或客戶資料就重新撰寫整段提示詞,而沒有改用變數(Variables)進行系統化調用。

📖 來源依據《Prompt Engineering》教材:

  • 正向指令優先於限制條件:第 56–57 頁
  • 簡潔與動詞清單:第 55 頁
  • 輸出具體性與明確範例:第 56 頁
  • 變數使用(Variables in prompts):第 58 頁
  • 實驗文件化模板與記錄:第 64–66 頁

📝 3 題理解測驗

第 1 題(單選題) 關於提示詞中的「正向指令(Instructions)」與「限制條件(Constraints)」,根據教材的最佳實踐,下列何者描述最為正確? (A) 應該盡可能列出大量限制條件(例如「不要做 A、不要做 B」),模型才會最聽話。 (B) 應優先使用正向指令明確告訴模型「該做什麼」,只有在安全規範或特定格式嚴格要求時才補充限制條件。 (C) 正向指令與限制條件效果完全一樣,混合寫在一起最好。 (D) 限制條件永遠不能使用,使用限制條件一定會導致模型產生幻覺。

第 2 題(單選題) 在提示詞中導入「變數(Variables,如 {product_name})」的主要好處是什麼? (A) 可以自動將模型的 Temperature 降低到 0。 (B) 能提升提示詞的重複使用性(Reusability),避免重複硬編碼,方便整合進應用程式中。 (C) 可以讓模型忽略所有 Token 長度限制。 (D) 可以將 Zero-shot 自動轉換成 Tree of Thoughts。

第 3 題(應用改寫題) 請將以下寫得不夠好的提示詞,依據本單元學到的「刪除冗餘廢話、使用正向指令與明確動詞」原則,改寫成一段高品質的提示詞:

原提示詞:「嗨!我目前正在寫一篇部落格,想要介紹一下 AI 提示詞工程。請你幫我寫文章,但是不要寫太長,不要用太難的文字,不要寫超過 2 段。」


測驗答案:(參考)
第1題:B。應優先使用正向指令明確告訴模型「該做什麼」,只有在安全規範或特定格式嚴格要求時才補充限制條件。。
第2題:B 。能提升提示詞的重複使用性,避免重複硬編碼,方便整合進應用程式中。
第3題:

  • 原提示詞:「嗨!我目前正在寫一篇部落格,想要介紹一下 AI 提示詞工程。請你幫我寫文章,但是不要寫太長,不要用太難的文字,不要寫超過 2 段。」
  • 修改後的提示詞:「扮演一位專精於提示詞工程的AI技術人員,使用至多兩段文字,不超過500個字,介紹 AI 提示詞工程的基礎概念與應用案例」


註1:
這「學習系列」的文章,是記錄自己與AI一起探索知識的過程,也是我將AI做為私人家教的一項實驗。對於如何藉由Ai輔助自我學習,請參考這篇:
https://blog.udn.com/tku_89056/192561353
https://goldenbird-willy.blogspot.com/2026/09/gemini-notebook-ai.html

學習教材:《Prompt Engineering》
本書探討了提示工程的核心概念、多種進階技巧、以及最佳實務(use cases)。內容涵蓋如何設定大型語言模型的輸出長度與取樣參數,並且介紹零樣本、少樣本、角色扮演、思維鏈、以及如何結合外部工具的推理與行動等實用策略。此外,本書也示範了如何利用人工智慧來編寫、解釋、翻譯和除錯程式碼。最後,本書提供了多項專業的建議,例如簡化提示設計、優先使用正面指令、利用如JSON的結構化格式、以及落實詳盡的版本記錄與迭代。
本書作者Lee Boonstra是一名人工智慧軟體工程師、技術主管和系統架構師,在谷歌全球首席技術官辦公室(OCTO)、應用創新工廠等擁有10年以上的資歷。
免費下載:https://www.kaggle.com/whitepaper-prompt-engineering



限會員,要發表迴響,請先登入