###### tags: `大語言模型` `AI` `Agent` `核心概念大串聯` # 第三篇:與模型溝通的語言 — Prompt、User Prompt、System Prompt > **系列**:AI 核心概念大串聯 | [返回總覽](https://hackmd.io/@TommyHuang/ByDQ96dcZx) > [← 上一篇:Context 與 Context Window](https://hackmd.io/@TommyHuang/SkiIsT_qbe) | [下一篇:Tool 與 MCP →](https://hackmd.io/@TommyHuang/Bkltjadc-l) --- ## 一、Prompt 是什麼? **Prompt(提示詞)** 是你傳給 LLM 的輸入內容,是人類與模型之間的「溝通語言」。 Prompt 的品質直接決定模型輸出的品質。同樣的模型、同樣的問題,不同的 Prompt 寫法可能產生天壤之別的結果。 ``` 差的 Prompt:「幫我寫文章」 好的 Prompt:「請以科技部落格風格,為一般讀者撰寫一篇 600 字的文章, 主題是 AI Token 的概念,需要包含生活化比喻與具體範例」 ``` --- ## 二、Prompt 的兩大類型 在 AI 系統架構中,Prompt 依**傳送者與目的**分為兩種: ``` ┌─────────────────── LLM 收到的 Context ───────────────────┐ │ ┌─────────────────────────────────────────────────────┐ │ │ │ System Prompt(開發者設定,使用者通常看不到) │ │ │ └─────────────────────────────────────────────────────┘ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ User Prompt(使用者輸入的訊息) │ │ │ └─────────────────────────────────────────────────────┘ │ └───────────────────────────────────────────────────────────┘ ``` --- ## 三、User Prompt **User Prompt** 是使用者在對話中輸入的內容,也就是你平常在 ChatGPT 或 Claude 對話框中打出的訊息。簡單來說,只要是使用者主動輸入給 AI 的問題、要求或指令,都屬於 User Prompt。 ### 特性 - **即時產生**:每次對話都會根據當下需求動態改變 - **使用者可見**:由使用者直接輸入,也能清楚看到內容 - **互動導向**:主要用來向 AI 提問、描述需求或下達指令 - **彈性高**:可以是簡短問題,也可以是非常長的複雜需求 ### 範例 ``` User Prompt 範例: - 「幫我寫一篇 AI 文章」 - 「請翻譯成英文」 - 「幫我整理會議重點」 ``` User Prompt 的品質,往往也會直接影響 AI 回答的品質。描述越清楚,AI 通常越能產生符合需求的結果。 --- ## 四、System Prompt **System Prompt** 是開發者在對話開始前預先設定的底層指令,用來定義 AI 的角色、行為方式、回答風格與限制規則。 它有點像 AI 在正式開始對話前收到的「工作守則」或「角色設定」。例如,開發者可以透過 System Prompt 告訴 AI: 你是一位專業工程師 回答時要保持禮貌 避免輸出危險內容 使用條列式整理資訊 | 用途 | 範例 | |------|------| | **角色設定** | 「你是一個客服機器人,代表 XX 品牌」 | | **行為規範** | 「不可討論競爭對手產品」 | | **輸出格式** | 「所有回答必須用 JSON 格式」 | | **知識注入** | 把產品文件、FAQ 放入 System Prompt | | **安全護欄** | 「不可生成任何有害內容」 | 一般使用者通常無法直接看到 System Prompt,但它對模型的影響力非常大,甚至優先級通常高於 User Prompt。因此,即使使用者要求 AI 做某些不被允許的事情,System Prompt 仍可能限制模型的最終輸出。 在實際應用中,System Prompt 常被用來控制 AI 的安全性、回答風格與產品功能,確保模型能維持穩定且符合需求的行為模式。 --- ## 五、User Prompt和System Prompt兩者的關鍵差異 | | User Prompt | System Prompt | |--|-------------|---------------| | **撰寫者** | 使用者 | 開發者 | | **可見性** | 使用者可見 | 通常隱藏 | | **時機** | 對話中動態輸入 | 對話前預先設定 | | **目的** | 提出需求 | 定義角色與規則 | | **類比** | 顧客的點餐 | 餐廳的服務手冊 | --- ## 六、Prompt Engineering 「**Prompt Engineering(提示詞工程)**」是近年生成式 AI 領域中非常重要的技術之一,指的是透過系統化方式設計 Prompt,讓 AI 能更精準理解需求,進而產生更高品質的輸出結果。 隨著大型語言模型能力快速提升,Prompt 已不只是「對 AI 下指令」,更像是一種與 AI 溝通的技巧。相同的 AI 模型,只要 Prompt 設計不同,輸出的品質、完整度與準確性就可能有巨大差異。 ### 幾個重要技巧 **1. 給予角色(Role Prompting)** Role Prompting 是最常見的方法之一,也就是先替 AI 設定一個明確角色,讓模型能以特定專業角度回答問題。 例如: ``` 「你是一位擁有 20 年經驗的軟體架構師,請審查以下程式碼…」 ``` 當 AI 被賦予「資深軟體架構師」角色後,通常會更偏向專業、嚴謹且工程導向的回答方式。 除了工程領域,也能應用在許多情境,例如: - 「你是一位專業營養師」 - 「你是一位科技媒體編輯」 - 「你是一位資深行銷顧問」 這種方法能有效提升 AI 回答的風格一致性與專業感。 **2. 提供範例(Few-shot Prompting)** 有時候,單純描述需求仍不夠明確,因此可以先提供幾個範例,讓 AI 理解你希望的輸出格式與邏輯。 例如: ``` 「請按照以下格式分類商品評論: 範例 1:'這個產品很棒' → 正面 範例 2:'品質很差' → 負面 現在分類:'還可以接受'」 ``` 由於 AI 已先看到輸入與輸出的對應關係,因此通常能更準確模仿格式與判斷方式。 Few-shot Prompting 在: - 文本分類 - 格式轉換 - 摘要整理 - 資料標註 等任務中特別常見。 **3. 思維鏈(Chain of Thought)** Chain of Thought 是讓 AI 「一步步思考」的重要技巧。 一般情況下,AI 可能會直接給出答案;但若要求模型先拆解問題、逐步推理,往往能提升邏輯性與正確率。 ``` 「請一步步思考,先分析問題,再給出答案」 ``` 這種方式特別適合: - 數學問題 - 邏輯推理 - 程式除錯 - 複雜決策分析 因為 AI 會先展示中間推論過程,而不只是直接輸出最終結果。 **4. 明確限制** 如果 Prompt 過於模糊,AI 的回答也可能變得發散。因此,在 Prompt 中加入明確限制,通常能大幅提升結果品質。 ``` 「用繁體中文、300 字以內、條列式回答」 ``` 限制條件可以包含: - 語言 - 字數 - 格式 - 回答風格 - 輸出結構 這能讓 AI 更容易產生符合需求的內容,尤其在商業應用與內容生成領域非常重要。 --- ## 七、重點整理 - **Prompt** = 傳給 LLM 的輸入,是人機溝通的核心介面 - **User Prompt** = 使用者的即時輸入,表達需求 - **System Prompt** = 開發者預設的規則,定義模型角色與行為 - 好的 Prompt 設計能大幅提升輸出品質——這就是 Prompt Engineering --- > 下一篇:[第四篇 — 賦予模型行動力:Tool 與 MCP →](https://hackmd.io/@TommyHuang/Bkltjadc-l)