---
tags:
- 大語言模型
- 生成式AI
- 提示設計
- 脈絡工程
- 語言賽局
- AI對齊
- 防禦性提示
- 最佳實務
- 語言模型控制
---
# ❔提示工程📌 {#sec-prompt-engineering}

`提示工程`（Prompt Engineering）是**人工智慧工程**（AI Engineering）中的一項關鍵技能，用於設計、優化與管理**提示**詞句，進而輸入給 [大語言模型](02-07-large_language_models.zh-hant)（Large Language Models, LLMs）來獲得符合期望的、高品質的 [生成式 AI](06-05-analysis_generative.zh-hant) 輸出。提示工程標誌著與 AI 互動的方式，正從傳統的編碼指令，轉變為更具創造性和語義化的**對話**。

提示工程的核心思想，是透過調整提示中的語言、結構、語氣和內容，來引導 AI 模型產生更精確、相關且符合需求的結果。一個有效的提示不僅是簡單地提出一個問題，它可能包含**範例**（few-shot examples）、**指令**（instructions）、**脈絡上下文**（context）甚至**角色扮演**（role-playing）。例如，要讓一個語言模型寫一篇新聞稿，一個好的提示可能會要求它「扮演一名資深記者」，並提供事件的日期、地點、人物以及核心資訊，而非僅僅簡單地說「寫一篇新聞稿」。由於 LLM 的生成性具有[完形心理](01-05-Gestalt_Psychology.zh-hant)的經驗法則補齊特性，再加上其一問一答來回的形式，構成了一種[語言賽局](01-07-Language_Games.zh-hant)，這使得提示工程的引導性操作具有認知賽局的特性。

提示工程之所以重要，部分原因在於它有效地應對[框架問題](01-04-Frame_Problem.zh-hant)與[對齊與控制問題](01-06-Alignment_Control_Problem.qmd)，利用精確設計的提示去更好地引導 AI 模型的行為和輸出，力圖與預期的保持一致。這項技術之後還衍生出[脈絡工程](10-05-context_engineering.zh-hant)，使模型能夠做出更明確的回應。

提示工程不僅是技術人員的工具，也正在成為各行各業非技術人員與 AI 協作的通用介面，展現從單純的技術部署，走向人機互動的新範式。透過提示工程，開發者與使用者可以針對不同應用場景（如問答、翻譯、摘要、創作）設計最佳化的提示策略，提升模型的表現與穩定性。這項技能同時涵蓋了**策略設計**、**最佳實務**與**防禦性提示**等面向。

***

## 🏷️ 核心概念

提示工程的核心在於**精準引導模型行為**，確保輸出與任務目標一致。它的目的在於最大化模型的效能，同時降低錯誤與偏差。

應用範例包括情感分析（判斷文本情緒傾向）、翻譯（跨語言轉換）、內容生成（文章、程式碼、對話）等，皆依賴精心設計的提示來達成最佳效果。

- 🗺⛶ **脈絡內學習**（In-Context Learning）：指模型根據提示中提供的範例與資訊進行推理與生成，可分為：
    - 📄 **零樣本（Zero-Shot）**：無需提供範例，直接依任務描述進行推理與生成。
    - 📑 **少樣本（Few-Shot）**：提供少量範例作為參考，引導模型更準確地完成任務。
- 💡🗂️ **提示類型**：依功能與角色可分為：
    - 🛠️ **系統提示（System Prompt）**：設定模型的行為準則、角色定位與風格基調。
    - 💬 **使用者提示（User Prompt）**：由使用者輸入的具體任務指令與內容。
- ⏰⛶  **脈絡長度與效率**（Context Length & Efficiency）：影響模型可處理資訊的範圍與速度。
    - 📏 **脈絡長度限制**：由 Token 上限決定，超過限制會截斷或忽略部分內容。
    - 🗜️ **脈絡效率策略**：透過壓縮、摘要與關鍵資訊保留，提升有限脈絡的利用率。

**小結**：掌握提示工程的核心概念，能幫助使用者在不同場景下靈活設計提示，並有效引導模型輸出。

### 🗺️🤓 智能情報助理：提示工程

在 [API 與 MCP](@sec-api-mcp) 條目中，我們介紹過一個基於多源資料與可視化的「智能情報助理」專案。這個專案的核心挑戰之一，就是如何讓 LLM 在面對複雜、多步驟的查詢需求時，能夠準確理解使用者意圖、選擇正確的資料源、並生成結構化且可視化的輸出。

在這裡，提示工程扮演了「任務指揮官」的角色：

- 🎭 **角色設定**：在系統提示中明確告訴模型它是一位「國際經濟與地理情報分析師」，並具備調用多個 API 的能力。
- ⊨∴ **多步推理引導**：將複雜任務拆解為「資料檢索 ⮫ 資料清理 ⮫ 分析 ⮫ 視覺化 ⮫ 報告生成」等步驟，並在提示中逐步引導。
- 🏛️ **格式約束**：要求模型在輸出中同時提供文字摘要與可視化指令（例如生成地圖或圖表的 JSON 配置）。
- 🛡️**防禦性設計**：在提示中加入安全檢查步驟，確保模型不會調用未授權的資料源或生成不當內容。

透過這種設計，智能情報助理能夠在使用者輸入「顯示巴西近五年的 GDP 與主要城市分佈」時，自動完成：
1. 調用世銀 API 獲取 GDP 數據
2. 調用 OSM API 獲取主要城市座標
3. 整合並生成地圖與數據摘要

這個案例展示了提示工程如何將抽象的 AI 能力，轉化為可控、可驗證的專案成果。

## 👍💖 最佳實務

提示工程的最佳實務（Best Practices）有助於提升輸出品質與一致性，整理如下：

- 💡✍️ **撰寫清楚且明確的指令**：避免模糊描述，直接指出任務需求與限制條件。
- 🗺⛶ **提供足夠的脈絡**：加入背景資訊與相關細節，幫助模型理解任務情境。
- 🧐🪜 **拆解複雜任務**：將大型任務分解為多個可管理的小步驟，逐步完成。
- ⏱️🛃 **給模型思考時間**：使用「逐步推理」等技巧，讓模型有空間生成更精確的答案。
- 💡🔄 **反覆改進提示**：根據輸出結果調整提示內容與結構，持續優化。
- 💡🧰 **評估提示工程工具**：利用專用工具分析與測試提示效果，選擇最佳方案。
- 🪢🗃️ **組織與版本管理**：對提示進行分類、命名與版本控制，方便重用與追蹤變更。

**小結**：遵循最佳實務能顯著提升提示的穩定性與可重現性，並減少試錯成本。在結合外部知識的應用中，提示設計可與 [知識驅動生成（RAG）](10-04-retrieval_augmented_generation.zh-hant) 搭配，提升生成準確性與可追溯性。若要更系統化的組織與版本管理，則可考慮進行 [脈絡工程](10-05-context_engineering.zh-hant)。

***

## 🤞❣️ 注意事項

**防禦性提示工程**（Defensive Prompt Engineering）旨在保護模型免受惡意提示與安全威脅，整理如下：

- 🔒 **專有提示與反向提示工程**：防止他人推測或竊取專有提示內容。
- 🚫 **越獄與提示注入**：防範惡意輸入繞過模型限制或注入不當指令。
- 📥 **資訊擷取**：避免模型在無意間洩露敏感或機密資訊。
- 🛡️ **防禦提示攻擊**：設計提示與過濾機制，阻擋惡意利用與安全漏洞。

值得一得的是，防禦性提示工程亦是 [智慧體可靠性與評估](10-02-agent_reliability_evaluation.zh-hant) 的重要組成部分。

***

## 🌉 回顧及資源

* **核心知識**：提示工程結合了自然語言設計、任務分析與模型行為控制，是提升 LLM 應用價值的關鍵技能。
* **實務應用檢核表**：在部署前檢查提示是否清晰、脈絡是否充分、安全機制是否到位，以及是否經過多輪測試與優化。
* **延伸閱讀與工具資源**：可參考 OpenAI、Anthropic 等官方文件與研究論文，並使用專用提示管理工具（如 PromptHub、LangChain）進行版本控制與效果分析。
