介紹Prompt設計
重要性
-
控制輸出方向:避免 AI 胡亂發揮。
-
結構化答案:輸出更符合商業分析需求。
-
可複製性:相同 Prompt 能在不同時間得到一致風格的內容。
三個關鍵原則
- 明確性 (Clarity): 明確指出分析的方向
- 角色扮演 (Role Play): 讓 AI 扮演某個角色,可以提升回答的專業度
- 輸出格式 (Format): 要清楚告訴 AI 回答的結構,避免雜亂
程式碼
# 安裝套件
!pip install -q google-generativeai
# 設定 API Key
import google.generativeai as genai
genai.configure(api_key="你的_API_KEY")
# 建立模型物件
model = genai.GenerativeModel("gemini-1.5-flash")
# 實戰:投資分析的 Prompt 設計
## Step 1:從簡單開始
prompt = """
請幫我撰寫一份「分散投資」的分析,要求:
1. 列出至少三個優點
2. 以條列式呈現
3. 適合投資新手閱讀
"""
response = model.generate_content(prompt)
print(response.text)
## Step 2:提升專業度
prompt = """
你是一位專業的金融分析師,請撰寫一份「台灣科技股的投資風險分析」。
要求:
1. 先介紹市場背景(半導體、AI、電子零組件的角色)
2. 條列主要風險(如產業競爭、國際局勢、匯率風險)
3. 提供兩個投資建議
4. 內容需專業但一般大學生能看懂
"""
response = model.generate_content(prompt)
print(response.text)
## Step 3:結構化輸出 (JSON 格式)
prompt = """
請用 JSON 格式輸出「分散投資」的優點,格式如下:
{
"topic": "",
"advantages": [
{"id": 1, "content": ""},
{"id": 2, "content": ""}
]
}
"""
response = model.generate_content(prompt)
print(response.text)
實戰技巧
1. 明確問題描述
模糊問題會導致 LLM 產生模糊答案。
效果:模型會聚焦於文章提供的資訊,而不是生成網路知識。
2. 指定回答格式
在 RAG 系統中,統一回答格式方便前端呈現或自動化處理。
- 範例:回答必須包含三部分:背景、核心資訊、結論。
3. 控制回答長度
長度過長可能包含冗餘資訊,過短可能不完整。
- 可在 Prompt 中明確指定回答字數範圍
4. 引導模型專注於檢索資料
RAG 系統的特點是提供相關文章作為上下文,但 LLM 可能偏向「生成網路知識」。
- 使用「只根據提供資料回答」的指示
5. 迭代與 A/B 測試
- 嘗試不同 Prompt 模板,對比回答品質。
- 可使用簡單的 範例問題與正確答案 做測試。
- 根據評估結果微調指令詞
結論
- Prompt Engineering 是提升 RAG 系統回答品質的核心技巧。
- 核心原則:明確、具體、提供上下文、限制格式、迭代優化。
- 適用於各種 LLM,對於 PTT 文章智慧問答系統尤其重要,能確保回答依據資料且精準。