###### 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)