快速回答:Prompt 是什麼?

Prompt(提示詞)是你對 AI 下達的文字指令或問題。在 ChatGPT 或 Claude 的對話框裡打的每一句話,都是 Prompt。同一個模型,給它「幫我寫篇文章」和「請用 500 字、以台灣大學生為讀者、用輕鬆口吻寫一篇關於 AI 在日常生活中應用的文章」,出來的東西完全不同。前者你會得到一篇泛泛的文章,主題不明確、字數不確定、語氣也隨機。後者你會得到一篇有明確讀者設定、有長度限制、有語氣要求的文章,品質和可用性高出很多。

這個差異的根源在於語言模型的運作方式。LLM 在收到你的輸入後,會根據你提供的所有文字線索來預測「最適合的下一個字」。你給的線索越明確、越具體,模型能做出的預測就越精準。反過來說,如果你的 Prompt 含糊不清,模型就只能依賴它在訓練階段學到的「最常見的回應模式」,結果通常是一篇正確但平庸的回答。

Prompt 的正式定義

在 AI 語境中,Prompt 是使用者提供給大型語言模型(LLM)的輸入文本,用來引導模型生成特定的輸出。它可以是一個問題、一段指令、一組範例,或是以上的組合。在技術文件中,Prompt 有時也被稱為 Input 或 Query,但 Prompt 是最通用的稱呼。

Prompt 這個詞來自心理學的「提示」,給線索、引導出特定行為。用在 AI 上也一樣:你寫的文字越精確,模型產出的結果就越接近你要的。心理學中的 priming effect(促發效應)描述了先前接收的資訊如何影響後續的反應——AI 的 Prompt 運作方式和這個概念非常相似。你在 Prompt 中提到了「表格」,模型就更傾向用表格來呈現結果;你提到了「簡潔」,模型就會壓縮回答的長度。

從技術架構的角度看,Prompt 在送進模型之前會經過 tokenizer(分詞器)的處理,被拆成一系列的 token(詞元)。模型看到的其實不是你寫的文字,而是一連串的數字 ID。不同的模型用不同的 tokenizer,所以同樣的中文字在不同模型中佔用的 token 數量可能不同。這也是為什麼寫太長的 Prompt 可能會超出模型的 context window(上下文窗口)限制——每個 token 都佔用有限的空間。

白話解釋

跟在餐廳點餐一樣。你說「給我一份餐」,廚師不知道你要什麼,可能隨便做一份。你說「不辣的宮保雞丁,飯少一點,不要花生」,廚師就能做出你要的菜。

AI 也一樣,你說得越清楚,回答就越對味。AI 不會讀心,它只能根據你寫的文字來理解你的需求。很多人第一次用 ChatGPT 時會覺得「AI 怎麼都聽不懂我要什麼」,問題通常出在 Prompt 太模糊,而不是 AI 不夠聰明。

另一個比喻是寫 email 給一個新同事。你不能假設他知道你在想什麼、知道專案的背景、知道你的偏好。你需要把相關的資訊都交代清楚:背景是什麼、要做什麼、交付格式是什麼、有哪些限制。寫好一封工作 email 的技巧,和寫好一個 Prompt 的技巧非常接近。

好 Prompt 的五個要素

不一定每次都全用,看任務搭配:

角色(Role):告訴 AI 它是誰,例如「你是一位資深 Python 工程師」。設定角色會改變模型回答的深度、用詞和預設知識範圍。對同一個程式問題,設定角色為「資深工程師」和「程式初學者的老師」,得到的回答會截然不同——前者假設你已經懂基礎,直接切入技術細節;後者會從頭解釋概念並附上更多說明。

任務(Task):說清楚要做什麼,例如「分析這段程式碼的效能問題」。任務描述越具體越好。「幫我寫程式」是很差的任務描述,「用 Python 寫一個函式,輸入是一個包含日期字串的 list,輸出是按日期排序後的結果,日期格式是 YYYY-MM-DD」就清楚得多。好的任務描述應該讓你在讀完之後,能明確判斷 AI 的回答有沒有達到要求。

格式(Format):指定輸出長什麼樣子,例如「用表格比較,控制在 300 字以內」。格式要求可以包含長度限制、結構要求(表格、清單、段落)、語言要求(繁體中文、英文專有名詞保留原文)、和程式碼格式(附註解、附測試案例)。這個要素常常被忽略,但對於需要直接使用 AI 輸出的場景(例如放進簡報、貼到文件中),格式要求可以大幅減少後製的時間。

限制(Constraint):畫邊界,例如「不要用專業術語」「只用台灣繁體中文」。限制條件可以防止 AI 走偏。常見的限制包括:不要列出超過 5 項、不要包含某個主題、只考慮台灣的情境、不要引用不確定的統計數據。適當的限制可以讓 AI 的回答更聚焦,避免產出一堆你不需要的內容。

範例(Example):給參考,例如「像這樣的風格:[範例]」。範例是最有效的溝通方式之一。與其花 200 字描述你要的寫作風格,不如直接貼一段範例文字。AI 可以從範例中學習語氣、結構、用詞和格式,通常比文字描述更精準。

要素 作用 範例
角色 設定 AI 的專業背景 「你是一位台灣的資安顧問」
任務 明確指出要做的事 「幫我寫一份資安報告摘要」
格式 規範輸出的形式 「用 Markdown 格式,500 字以內」
限制 畫出不能越過的線 「不要使用中國用語」
範例 讓 AI 學習你要的風格 「參考以下範例的語氣:...」

Prompt 的類型

Zero-shot Prompt

直接給指令,不提供任何範例。適合簡單任務。例如「請將以下英文翻譯成繁體中文」或「請摘要以下文章的重點」。現代 LLM(如 GPT-4o、Claude Sonnet)在 zero-shot 下的表現已經很好,很多日常任務不需要額外提供範例。

Zero-shot 的優勢是簡潔快速,你不需要準備範例就能開始工作。缺點是如果你的需求比較特殊(例如需要特定的輸出格式或寫作風格),AI 可能會用它認為的「預設」方式回答,未必符合你的期望。

Few-shot Prompt

提供 2-5 個範例,讓 AI 學習你期望的輸出模式。適合需要特定格式或風格的任務。例如你想讓 AI 把客戶反饋分類成「正面」「負面」「中性」,可以先給幾個已分類的範例,AI 就能學會你的分類標準。

Few-shot 在以下情境特別有效:輸出格式不是標準格式(例如你公司自己定義的報告模板)、分類標準有主觀成分(例如什麼叫「可行的」建議)、需要模仿特定的語氣或風格(例如你公司的官方通訊風格)。範例的品質比數量重要——3 個精選的範例通常比 10 個隨意的範例效果好。

Chain-of-thought(思維鏈)

要求 AI 一步一步推理,而不是直接跳到答案。適合複雜的邏輯、數學或分析問題。最簡單的觸發方式是在 Prompt 結尾加上「請一步一步思考」或「let's think step by step」。

思維鏈 Prompt 對數學、邏輯推理、和多步驟分析的效果提升非常明顯。研究顯示,使用 Chain-of-thought 可以把 LLM 在數學問題上的正確率提升 20-40%。原因是強制模型把推理過程寫出來,減少了中間步驟出錯的機率。在日常使用中,如果你問了一個需要比較、權衡、或多步驟推理的問題,加上「請一步一步分析」通常會得到更好的結果。

System Prompt vs User Prompt

System Prompt 是給 AI 的「底層設定」,定義它的角色和行為規則。User Prompt 是使用者在對話中輸入的每一則訊息。在 API 呼叫中,兩者是用不同的 role 欄位區分的(system 和 user)。在 ChatGPT 的 Custom Instructions 中,你填寫的內容本質上就是 System Prompt。

System Prompt 的影響力貫穿整個對話。如果你在 System Prompt 中設定「所有回答控制在 100 字以內」,模型在每次回答時都會嘗試遵守這個限制。User Prompt 則是每次對話的即時輸入。兩者衝突時,模型的行為取決於具體的實作——有些模型會優先遵守 System Prompt,有些會優先回應 User Prompt 的最新指令。

常見 Prompt 框架

CO-STAR 框架

把 Prompt 拆成六塊來寫:Context(背景資訊)、Objective(你要什麼)、Style(寫作風格)、Tone(語調,正式或輕鬆)、Audience(讀者是誰)、Response format(輸出格式)。適合第一次不知道怎麼組織 Prompt 的人。

CO-STAR 的實際使用範例:

Context: 我們公司是一家台灣的中型軟體公司,正在評估是否導入 AI 輔助程式碼審查工具。
Objective: 請寫一份給技術長的評估建議書。
Style: 專業的商業分析風格。
Tone: 客觀中立,列出優缺點。
Audience: 技術長,有 15 年軟體開發經驗。
Response format: 分段落撰寫,包含「現狀分析」「工具比較」「建議方案」「預估成本」四個章節,每章 200 字以內。

這個框架的好處是它迫使你在動筆之前想清楚每個面向。很多人寫 Prompt 時只想到「任務是什麼」,忘了交代背景、讀者、和格式。CO-STAR 用六個明確的欄位提醒你每一個面向。

CRISPE 框架

另一種拆法:Capacity(角色)、Request(請求)、Insight(洞察)、Statement(陳述)、Personality(個性)、Experiment(實驗)。比 CO-STAR 多了「個性」和「實驗」兩個維度,適合需要更細緻控制語氣的場景。

CRISPE 中的 Insight 是一個特別有用的維度——它讓你提供 AI 可能不知道的背景資訊或特殊考量。例如「我們的客戶大部分是 55 歲以上的退休族群,對科技的熟悉度較低」。這種洞察可以讓 AI 的回答更貼近實際需求。Experiment 則鼓勵你要求 AI 嘗試不同的方向,例如「請提供三種不同角度的回答,讓我選擇最適合的」。

選擇框架的建議

不需要死板地套用任何框架。這些框架的價值在於提醒你該考慮的面向,而不是要求你每次都填滿所有欄位。簡單的任務(翻譯一段話、修改一個錯字)不需要框架,直接說就好。複雜的任務(寫一份報告、設計一個系統)用框架可以幫助你組織思路,確保沒有遺漏關鍵資訊。

System Prompt 是什麼?

System Prompt 是開發者或進階使用者設定的「隱藏指令」,在對話開始前就預先載入,定義 AI 的角色、能力範圍和行為準則。使用者在聊天介面中看不到它,但它會影響 AI 的每一個回答。

在 ChatGPT 或 Claude 的 API 中,System Prompt 是透過 messages 陣列中的 system role 傳入的:

messages = [
    {"role": "system", "content": "你是一位台灣的法律顧問..."},
    {"role": "user", "content": "請問勞基法的加班規定是什麼?"}
]

System Prompt 的常見用途包括:設定 AI 助手的角色和專業領域、定義回答的語言和格式規範、限制 AI 可以回答的主題範圍、注入企業的品牌語調和用語規範。

在企業應用中,System Prompt 的設計直接影響 AI 產品的品質。一個好的 System Prompt 應該清楚定義:AI 的身份是什麼(角色)、可以做什麼(能力範圍)、不能做什麼(限制條件)、遇到不確定的情況怎麼辦(fallback 策略)。

安全上要注意:System Prompt 不是防彈的。攻擊者可以透過 Prompt Injection,在 User Prompt 中嵌入指令,讓 AI 忽略 System Prompt 的限制。在設計 System Prompt 時,不應該把它當作安全機制——它更像是行為指引,不是存取控制。真正的安全控制應該在 System Prompt 之外的架構層實作(例如輸出過濾、API 層級的權限控制)。

實用範例:好 Prompt vs 壞 Prompt

寫作任務

壞的寫法:「幫我寫一篇 AI 文章」

好的寫法:「請用 800 字、以台灣高中生為讀者、用輕鬆口吻寫一篇關於 AI 如何改變我們日常生活的文章。包含至少 3 個具體的生活場景範例(例如外送平台的推薦、手機的人臉解鎖、社群媒體的推薦演算法),避免使用專業術語。用繁體中文,段落之間用空行分隔。」

差異分析:好的 Prompt 有明確的字數要求(800 字)、讀者設定(高中生)、語氣要求(輕鬆)、內容要求(3 個場景範例)、限制條件(避免術語)、和格式要求(段落間空行)。AI 在回答時有明確的目標和邊界可以參考。

分析任務

壞的寫法:「分析這段程式碼」

好的寫法:「請從效能和安全性兩個角度分析以下 Python 程式碼。列出每個問題,說明為什麼有問題,並提供修正建議。效能問題請估計改善的幅度(例如時間複雜度從 O(n²) 降到 O(n))。安全問題請標註風險等級(高/中/低)。用繁體中文回答,用 Markdown 表格呈現。」

翻譯任務

壞的寫法:「翻譯這段話」

好的寫法:「請將以下英文翻譯成台灣繁體中文。技術名詞保留英文原文,並在首次出現時用括號標注中文。語氣維持原文的專業感。地名和機構名稱使用台灣常用的翻譯(例如 Silicon Valley 用矽谷)。」

程式碼任務

壞的寫法:「幫我寫一個爬蟲」

好的寫法:「請用 Python 3.12 寫一個網頁爬蟲,抓取指定 URL 的所有文章標題和連結。使用 requests + BeautifulSoup。加上 error handling、rate limiting(每次請求間隔 2 秒)、和 User-Agent header。輸出為 CSV 格式。請附上使用範例和安裝所需套件的指令。」

資料分析任務

壞的寫法:「幫我分析這些資料」

好的寫法:「以下是我們公司過去六個月的客服工單資料(CSV 格式)。請分析以下面向:1) 每月的工單總量趨勢 2) 最常見的問題類別前五名 3) 平均解決時間的變化。用繁體中文回答,每個面向附上一段 3 句的解讀。如果資料中有異常值(例如某個月份的量突然暴增),請特別指出可能的原因。」

進階技巧

迭代式 Prompt

不需要一次寫出完美的 Prompt。先用簡單的 Prompt 得到一個初步的結果,然後根據結果修正 Prompt 的方向。這個過程通常 2-3 輪就能得到滿意的結果。

例如第一輪:「幫我寫一封給客戶的致歉信。」得到結果後你可能發現語氣太正式。第二輪:「語氣太正式了,請改成比較親切的語調,像朋友之間的對話。」第三輪:「長度太長了,請縮短到 150 字以內,保留核心的致歉和補償方案。」這種迭代的方式比一次塞入所有要求更容易操作,也更容易找到你真正要的風格。

角色堆疊

同時設定多個角色面向可以產生更有深度的回答。例如「你同時是一位資深的 Python 工程師和一位關注程式碼可讀性的技術寫作者」。這會讓模型在回答時同時考慮技術正確性和表達的清晰度。

負面指令

告訴 AI 不要做什麼,有時候和告訴它要做什麼一樣重要。「不要列出超過 5 點」「不要用條列式,用段落」「不要給出模棱兩可的建議」。負面指令可以有效避免 AI 最常見的壞習慣——例如列出一長串不分輕重的建議、用大量的修飾語讓回答聽起來面面俱到但毫無重點。

結構化輸出

如果你需要 AI 的回答是機器可讀的格式(JSON、CSV、YAML),在 Prompt 中明確指定格式和欄位名稱:

請用 JSON 格式回答,欄位包含:
- title: 文章標題(字串)
- category: 分類,只能是 tech/business/security 其中之一
- summary: 100 字以內的摘要
- keywords: 最多 5 個關鍵字(陣列)

這在 AI 自動化工作流中特別有用——你需要 AI 的輸出直接被程式碼解析,格式不能有任何偏差。

台灣使用者的 Prompt 注意事項

台灣使用者在寫 Prompt 時有幾個特殊的考量。首先是用語問題——大部分的 LLM 在中文訓練資料中,簡體中文的比例遠大於繁體中文。如果你沒有特別指定,AI 可能會混用兩岸用語。例如把「伺服器」寫成「服務器」、「程式碼」寫成「代碼」、「資料庫」寫成「數據庫」。在 Prompt 中加上「請使用台灣繁體中文」或「使用台灣慣用的 IT 術語」可以大幅減少這個問題。

其次是在地知識。AI 對台灣的法規、文化、商業慣例的了解程度遠不如對美國的了解。如果你的問題涉及台灣的勞基法、稅制、金融法規,建議在 Prompt 中提供相關的背景資訊,而不是假設 AI 已經知道。例如「根據台灣的勞基法第 24 條,加班費的計算方式是...」比「請問加班費怎麼算」能得到更準確的回答。

第三是多語混用。台灣的工作場景中,中英混用非常常見。在 Prompt 中明確告訴 AI 你希望怎麼處理中英文的混合:「技術名詞保留英文」「首次出現時附中文翻譯」「全部翻譯成中文」。不同的處理方式適合不同的讀者群——給工程師看的文件可以保留大量英文術語,給一般管理層看的報告則需要更多中文翻譯。

常見誤解

「Prompt 越長越好」——不一定。清晰比冗長重要,過長的 Prompt 反而可能讓 AI 抓不到重點。研究顯示,超過某個長度之後,增加 Prompt 的長度對結果品質的提升效果會遞減。更好的做法是把 Prompt 寫得精準、結構清楚,而非把所有想到的東西都塞進去。

「有萬用 Prompt 模板」——不存在。不同任務需要不同的 Prompt 策略。網路上分享的「萬用 Prompt」通常只在特定情境下有效,搬到你的場景可能完全不適用。理解 Prompt 背後的原理比收集模板有用得多。

「Prompt Engineering 是一個專門職業」——到了 2026 年,寫好 Prompt 已經成為所有知識工作者的基本能力。就像你不需要是「搜尋引擎工程師」才能用好 Google,你也不需要是「Prompt 工程師」才能寫出好的 Prompt。

「AI 看不懂中文 Prompt」——現代 LLM 對中文的理解能力已經很好,用中文寫 Prompt 沒問題。不過在某些邊界情況下(例如需要處理中文和英文混合的程式碼註解),英文 Prompt 可能會得到更穩定的結果,這取決於模型的訓練資料組成。

「Prompt 寫完一次就不用改了」——Prompt 應該隨著模型版本更新和你的需求變化而調整。同一個 Prompt 在 GPT-3.5 和 GPT-4o 上的效果可能差異很大。定期檢視和優化你常用的 Prompt,是維持 AI 輸出品質的好習慣。

安全與限制

Prompt 的安全問題主要有兩個面向。第一個是 Prompt Injection——攻擊者透過在使用者輸入中嵌入惡意指令,讓 AI 忽略原本的 System Prompt 限制,執行非預期的行為。如果你在開發 AI 應用,需要了解 Prompt Injection 的原理並做好防護。

第二個是隱私問題。你在 Prompt 中輸入的資訊可能會被 AI 服務提供者儲存和使用。如果你的 Prompt 包含公司的商業機密、客戶的個人資料、或其他敏感資訊,需要確認你使用的平台的資料處理政策。在免費版的 ChatGPT 上,你的對話可能會被用來訓練模型(可以在設定中關閉)。在 API 中,資料的處理政策通常更嚴格。

Prompt 的品質也有其限制。無論 Prompt 寫得多好,AI 的回答仍然可能包含錯誤、過時資訊、或幻覺(Hallucination)。Prompt 可以提高 AI 輸出的品質和可控性,但不能消除 AI 的固有限制。對於重要的決策和高風險的場景,AI 的輸出應該被視為「初稿」或「建議」,而非可以直接使用的最終結果。

常見問題 FAQ

Prompt 和指令有什麼不同?

Prompt 是更廣義的概念,包含指令、問題、背景資訊和範例。指令只是 Prompt 的一部分。一個 Prompt 可能包含:背景說明(Context)、具體指令(Instruction)、範例(Examples)、和格式要求(Format)。把 Prompt 看成一封完整的工作交辦信件,指令只是信件中「請你做什麼」的那一段。

什麼是 System Prompt?

System Prompt 是給 AI 的「底層設定」,用來定義 AI 的角色、行為準則和回答風格。它在對話開始前載入,對整個對話持續生效。一般使用者在 ChatGPT 中可以透過 Custom Instructions 設定類似的效果。開發者在使用 API 時可以用 system role 來設定。

Prompt 寫得好壞真的差很多嗎?

差很多。同一個模型,模糊的 Prompt 和精確的 Prompt 出來的東西品質差距非常大。飛飛做過一個簡單的實驗:用 10 個不同品質的 Prompt 請 AI 寫同一篇文章,然後讓 5 個人評分。最好的 Prompt 和最差的 Prompt 得到的平均分數差了 3.5 分(滿分 10 分)。差距主要體現在:內容的準確性、格式的符合度、語氣的適當性、和整體的可用性。

什麼是 Few-shot Prompt?

在提示中提供幾個範例(通常 2-5 個),讓 AI 學習你期望的輸出格式和風格。範例的品質比數量重要——3 個精心挑選的範例通常比 8 個隨意的範例效果好。在選擇範例時,盡量涵蓋不同的情境和邊界條件,讓 AI 學到通用的模式而不是只記住特定的案例。

Prompt Engineering 是一種職業嗎?

2026 年已成為知識工作者的基本能力。就像「會用 Google 搜尋」在 2010 年代成為基本能力一樣,「會寫好的 Prompt」在 2026 年已經是工作中的基本要求。但設計複雜的 System Prompt、建構多步驟的 AI 工作流程、和優化企業級 AI 應用的 Prompt 策略,仍然是需要專業技能的工作。

Prompt Injection 是什麼?

一種安全攻擊,攻擊者在使用者輸入中嵌入惡意指令,讓 AI 忽略原本的 System Prompt 指令,執行非預期行為。如果你在開發面對使用者的 AI 應用,需要了解 Prompt Injection 的防護方式,包括輸入過濾、輸出過濾、和系統架構層面的隔離。

中文 Prompt 和英文 Prompt 效果有差嗎?

在大部分場景下差異不大。現代 LLM 的中文能力已經很好。但有兩個例外:第一,如果任務本身跟英文高度相關(例如寫英文程式碼、分析英文文獻),用英文 Prompt 可能會更流暢。第二,某些邊界的推理任務在英文下的表現可能略好,因為訓練資料中英文的比例較高。日常使用中,用你最習慣的語言寫 Prompt 就好。

參考資料