Skip to content

提示詞工程
Prompt Engineering

「提示詞工程」(Prompt Engineering)是設計和優化你輸入給大型語言模型(LLM)的文本(即「提示詞」或 "Prompt"),從而引導它生成更準確、更相關、更具體輸出的藝術。目標是把你的意圖清晰地傳達給 AI,從而最大限度地發揮其潛力。

強大的 AI 模型能夠理解和生成文本,但其輸出的質量直接取決於輸入的質量。本文介紹的都是你可以直接在對話中使用的實用技巧,無論你是開發人員、研究人員,還是對 AI 充滿好奇,掌握它們都將幫助你更有效地利用 LLM 的強大能力。

🤔 什麼是提示詞 Prompt?

簡單來說,一個提示詞 (Prompt) 就是你輸入給大型語言模型的任何文本,可以是一個問題、一個指令、一段描述等,它是你與模型溝通的橋樑。

把 LLM 想像成一個實習生,若你要求他「寫點關於經濟學的東西」,他可能會因為你的指示含糊而不知所措。但如果你說「以大學經濟系一年級學生的水平,寫一篇 500 字的短文,解釋什麼是『機會成本』,並舉出一個日常生活中的例子」,他交出的文章將會更合乎你的要求。

🎯 Zero-Shot Prompting 零樣本提示

零樣本提示 (Zero-Shot Prompting) 是最直接、最基礎的提示技巧。你直接向模型提出一個任務,而不提供任何具體的範例。這種方法完全依賴模型在訓練數據中學到的龐大知識庫來理解和完成任務。它非常簡單快捷,適用於各種通用任務。

範例:情感分析

  • ❌ 不佳的提示詞:
這句話怎麼樣? "這間餐廳的食物很棒!"

以上提示詞太模糊,模型可能不知道你在問什麼

  • ✅ 較佳的提示詞:
將以下句子的情感分類為正面、中性或負面。
句子:"這間餐廳的食物很棒!"

✨ Few-Shot Prompting 少樣本提示

少樣本提示 (Few-Shot Prompting) 是一種教模型「舉一反三」的技巧。當你需要的輸出格式比較特定時,可以在提示詞中提供一至數個完整的「輸入-輸出」範例。這並不是在訓練模型,而是在同一次對話中為模型提供一個清晰的模仿樣板。

範例:提取關鍵字

從以下文本中提取品牌和產品名稱。

例 1:
文本: "上星期我買了一部 iPhone 15 Pro,相機功能真的很強大。"
品牌: Apple
產品名稱: iPhone 15 Pro

例 2:
文本: "全新的 Samsung Galaxy S25 Ultra 剛剛發佈,螢幕亮度再創新高。"
品牌: Samsung
產品名稱: Galaxy S25 Ultra
---

文本: "我正在考慮購買一部 Sony a7 IV,它在低光環境下的表現非常出色。"

當模型看到前兩個範例後,它就能輕易地從第三段文本中,按照你的格式提取出 品牌: Sony產品名稱: a7 IV

🎭 Role Playing 角色扮演

角色扮演 (Role Playing) 是一種非常強大且有趣的技巧。你要求 LLM 扮演一個特定的角色,例如專家、老師或評論家。這會為模型設定一個清晰的背景框架,從而影響它的語氣、風格和知識深度。

範例:代碼審查 (Code Review)

  • ✅ 角色扮演提示詞:
你是資深 Python 開發工程師。
我是一名初級開發者,剛剛寫了下面的函數來實現 caching。
請你幫我做一次代碼審查,指出潛在的問題、可以改進的地方,並解釋為什麼要這樣改進。

🧠 Chain-of-Thought (CoT) Prompting 思維鏈提示

思維鏈提示 (Chain-of-Thought, CoT) 旨在提升 LLM 在複雜推理任務上的表現。與其直接要求答案,你不如在提示詞的結尾加上一句神奇的咒語,如 「逐步解決這個問題」,引導模型先展示其思考過程,然後再給出結論。

範例:數學應用題

  • ✅ CoT 提示詞:
逐步解決這個問題:
一個果園有 35 排蘋果樹,每排有 12 棵。工人今天採收了其中 15 排的蘋果。
請問果園裡還有多少棵樹尚未採收?

🔍 Self-Refine Prompting 自我修正提示

自我修正 (Self-Refine) 是一種通過連續對話來優化答案的技巧。首先,你讓模型生成一個初步的草稿。然後,在下一個提示詞中,你指出草稿的不足之處,並提出具體的修改要求,讓模型自己改進自己的答案。

範例:改進一封電郵

  1. 你的第一個提示詞:

    寫一封簡短的電郵,邀請團隊成員參加星期五下午的會議。
  2. 你的第二個提示詞 (用於修正):

    草稿內容太簡短了,不夠正式。
    請你修改草稿,明確加入會議時間、地點和目的 (下午 3 點會議室 A 例行會議)。

🙋‍♀️ 讓 LLM 提問

當你對一個任務只有模糊的想法時,這個技巧非常有用。你可以直接指示模型向你提問,以收集它完成任務所需的全部細節。這個技巧巧妙地將收集資訊的負擔從你轉移到模型身上,確保最終輸出是高度相關的。

範例:設計一個學習計劃

  • ✅ 反問提示詞:
我想制定一個為期三個月的機器學習學習計劃。
請先問我至少 5 個問題,以了解我的背景、目標和可用時間
等我回答後,再根據我的答案提供一個個人化的學習計劃。

✨ 技巧總結

技巧名稱核心思想關鍵提示詞結構 (English)
零樣本提示直接給出指令,不提供範例。Perform [Task]
少樣本提示在提示詞中包含結構一致的輸入輸出範例。Perform [Task]. Example 1: ... Example 2: ...
角色扮演要求模型扮演一個特定角色或專家。Act as an [Expert Role] (e.g. designer)...
思維鏈 (CoT)引導模型展示解決問題的詳細步驟。... Let's think step by step.
自我修正讓模型對其自身的輸出進行評估和改進。Your previous response was... Please critique and improve it based on [Criteria].
讓 LLM 提問要求模型向你提問以獲取更多信息。Ask me questions to better understand my request.

📚 參考資料

KF Software House