第 2 章 · Prompt 工程:把需求講清楚的技術

第 2 章 · Prompt 工程:把需求講清楚的技術

同樣一個模型,有人問得到垃圾、有人問得到黃金,差別往往不在模型,而在怎麼問。這一章教你「把需求講清楚」的系統化方法——這就是 Prompt 工程(Prompt Engineering)

💡 一句話定義:Prompt 工程 = 用文字,穩定地讓模型做出你要的事。重點在「穩定」——偶爾問對不算本事,每次都問對才是。


先懂:一則對話其實有三種角色

你在 ChatGPT 打字時看起來只有「你說、它回」,但底層其實有三種角色的訊息:

角色 是誰 作用
System(系統) 開發者設定 定義 AI 的「人設與規則」:你是誰、要怎麼回、不能做什麼
User(使用者) 這一輪的實際問題或指令
Assistant(助理) AI 模型的回覆(也會被記進對話歷史)

System prompt 是最有power的一層。同一句「幫我看這段程式」,如果 system 是「你是嚴格的資安審查員」,跟「你是親切的教學助教」,得到的回答天差地遠。

💡 你自己用網頁版時通常只能改 user 訊息;但只要你在做應用、串 API,system prompt 就是你最重要的設計工具。


講清楚的四個基本功

1. 明確,不要讓它猜

模糊的指令 → 模糊的結果。把「角色、任務、格式、限制」都講明。

❌ 幫我寫一下這個產品的文案。

✅ 你是資深電商文案。幫「無線降噪耳機」寫一段商品文案。
   受眾:通勤上班族。語氣:專業但親切。長度:50 字內。
   重點帶到「降噪」與「續航」,不要用誇張的驚嘆號。

2. 給範例(Few-shot)比講規則更有效

與其用一堆文字描述你要的格式,不如直接示範一兩個。這叫 few-shot(少樣本);完全不給範例則叫 zero-shot(零樣本)

把使用者的句子分類成「正面/負面/中立」。

範例:
輸入:這家店服務超好! → 正面
輸入:等了一小時還沒上菜 → 負面

輸入:價格中規中矩 →

模型看到範例,會照著你的格式與判準輸出,比你寫三段規則還準。

3. 要它「想一想」再答(Chain-of-Thought)

遇到需要推理的題目,加一句「請一步一步思考」(Chain-of-Thought,思維鏈),準確度常常明顯提升——因為你逼它把推理過程展開,而不是急著猜一個答案。

一支筆 12 元,一本筆記本是筆的 3 倍價,買 2 支筆 + 1 本筆記本共多少?
請一步一步計算,最後再給答案。

💡 對「會先想再答」的推理模型(第 1 章)來說,這件事它會自動做;但對一般模型,這句話仍然很有用。

4. 指定輸出格式

要它給你能直接用的東西:「用表格」「用 JSON」「只回答一個詞,不要解釋」。越明確,越好接進後續流程。

從這段自我介紹抽出資訊,只輸出 JSON,不要多餘文字:
{ "姓名": "", "年齡": 0, "專長": [] }

結構化輸出是「AI 接進程式」的關鍵,第 4 章會深入。


拆解:複雜任務要「分步」

不要用一個超長 prompt 要求模型「一次做完十件事」。把大任務拆成幾個小步驟,一步一個 prompt,準確度和可控性都會大增。

例如「幫我把這篇會議記錄整理成待辦清單」可以拆成:

  1. 先請它摘要會議重點;
  2. 再從摘要抽出所有決議與行動項
  3. 最後把行動項排成待辦表格(負責人、期限)。

這個「拆步驟」的想法,放大到程式層級,就是第 5 章的 AI Workflow


常見反模式(新手最容易踩的雷)

反模式 為什麼不好 怎麼修
一次塞十個要求 模型會顧此失彼、漏做 拆步驟,或明列編號需求
指令自相矛盾 「要詳細」又「要簡短」 → 它亂猜 檢查指令有沒有打架
重點埋在最後一行 長 prompt 中間的指令容易被忽略 重要指令放開頭或結尾、加強調
用「不要 X」下指令 模型有時反而更容易做出 X 改成正面說「請做 Y」
假設它記得 它沒有跨對話記憶 需要的背景每次都要給(第 3 章)

⚠️ 特別提醒「不要 X」的陷阱:與其說「不要用專業術語」,不如說「用國中生能懂的白話」。正面示範永遠比負面禁止有效。


把 Prompt 當「程式」來管理

當 prompt 進到產品裡,它就不再是隨手打的字,而是產品的一部分,要像程式一樣認真對待:

  • 版本管理:把 prompt 存進 git,改了要能追、能回退。
  • A/B 測試:兩版 prompt 到底哪個好?別憑感覺,用第 10 章的評估方法比。
  • 參數化:把會變的部分(使用者名字、日期)抽成變數,別寫死。

💡 這裡藏了一條伏筆:Prompt 工程處理的是「這一次要說什麼」;但當對話變長、要塞的東西變多,問題就升級成「有限的視窗裡該放哪些東西」——那就是下一章的 Context 工程


重點回顧

  • 一則對話有 System / User / Assistant 三種角色;System prompt 是你最強的設計槓桿
  • 四個基本功:講明確、給範例(few-shot)、要它一步步想(CoT)、指定輸出格式
  • 複雜任務要拆步驟,不要一個 prompt 塞十件事。
  • 避開反模式:矛盾指令、重點埋沒、用「不要」下令、假設它有記憶。
  • Prompt 進了產品就是程式:要版控、要 A/B、要評估。

你已經會「講清楚」了。但如果要塞的資料很多、對話很長怎麼辦?下一章談如何管理模型的「工作記憶」——Context 工程