RAG、Prompt Engineering 與 LLM 應用實務
本頁為依教材與考古題整理的原創摘要;考古題答案經技術覆核,但不是官方答案。
第一次接觸也沒關係
這堂先懂這些詞
先記住白話意思,不必急著背英文。看到正文時,再把正式名稱接回來。
生成式 AI 風險治理
也會看到:AI RMF、bias、privacy、accountability、GenAI Profile用明確責任與持續風險流程,管理生成錯誤、偏誤、隱私與使用影響。
- 生活例子:
- 像出版社不因文章流暢就直接刊登,仍要查證、審稿、標示責任並處理更正。
- 別搞混:
- 加上 RAG 或人工抽查能降低部分風險,但都不能保證輸出永遠正確。
大型語言模型與 token
也會看到:LLM、Large Language Model、token、GPT、大型語言模型LLM 從大量 token 序列學習下一個 token 的機率,token 是模型切分文字的基本單位。
- 生活例子:
- 像根據前文玩的超大型接龍,但每一步選的是文字片段而非必然完整單字。
- 別搞混:
- token 不等於一個中文字或一個英文單字;流暢輸出也不保證事實正確。
檢索增強生成
也會看到:RAG、Retrieval-Augmented Generation、retrieval、檢索增強生成先從外部資料找相關內容,再把找到的內容交給生成模型回答。
- 生活例子:
- 像先翻課本找頁碼,再根據那些段落整理答案。
- 別搞混:
- RAG 不會自動保證正確;檢索錯、資料舊或模型誤讀仍會出錯。
從 RAG 的 retrieve-then-generate 流程出發,理解 embedding、vector search 與 chunking 策略。再覆蓋 prompt engineering 的核心技巧(few-shot、chain-of-thought、system prompt),以及 LLM 應用的常見架構選擇(fine-tuning vs RAG vs agent)。
先抓住這幾件事
- 畫出 RAG 系統的完整資料流:indexing → retrieval → augmentation → generation
- 解釋 embedding model 如何把文字轉成可搜尋的 vector representation
- 區分 zero-shot、few-shot 與 chain-of-thought prompting 的適用情境
- 比較 fine-tuning、RAG 與 agent-based 三種 LLM 應用架構的 trade-offs
先想像這個場景
智慧客服的知識更新系統
客服部門的 AI 助手需要回答最新的產品問題。團隊把產品文件切成段落、轉成可搜尋的向量存起來(indexing)。客戶提問時,先搜尋最相關的段落,再把段落放進 AI 的提示中讓它生成回答。
先別急著往下看,花十秒想一想:
如果產品上個月改版但文件還沒更新,AI 會回答什麼?
把故事換成電腦語言
| 生活中的角色 | 對應到 | 技術概念 |
|---|---|---|
| 把文件切段並轉成可搜尋格式 | Chunking + embedding + vector indexing | |
| 客戶提問時搜尋最相關的段落 | Vector similarity search / retrieval | |
| 把搜到的段落放進 AI 提示中 | Context augmentation in prompt | |
| AI 根據段落生成回答 | LLM generation with retrieved context | |
| 提供範例教 AI 回答格式 | Few-shot prompting |
題目出現這些字,先想到
- RAG 在生成前檢索外部知識,不修改模型參數。
- Few-shot prompting 在 prompt 中提供範例,不更新 weights。
- Temperature 控制 output 的 randomness。
- Fine-tune 改行為,RAG 加知識 — 可以同時使用。
1.RAG 的完整流程:不只是查資料庫
RAG 分為 offline indexing 和 online serving 兩個階段。Indexing:將文件切成 chunks,用 embedding model 轉成 vectors,存入 vector database。Serving:使用者提問 → embedding → vector search 找出最相關的 chunks → 把 chunks 放入 LLM 的 context → LLM 生成答案。每個環節都可能出錯:chunk 太大語義模糊、embedding 品質差、retrieval 找錯文件、LLM 忽略 context。
- Chunking 策略影響 retrieval 品質:太大失去精確度,太小缺少上下文
- Embedding model 把語義相似的文字映射到 vector space 的相近位置
- Vector search 通常用 approximate nearest neighbor(ANN),不是精確搜尋
- Generation 時 LLM 可能忽略 retrieved context(faithfulness 問題)
2.Prompt Engineering:用指令控制 LLM 行為
Prompt 是 LLM 的控制介面。Zero-shot 只給指令不給範例;few-shot 在 prompt 中提供 2-5 個 input-output 範例讓模型學習格式和風格;chain-of-thought (CoT) 要求模型在回答前先列出推理步驟,對數學和邏輯問題效果顯著。System prompt 設定角色和約束,user prompt 提供具體問題。
- Few-shot 的範例要代表期望的 output 格式和品質
- Chain-of-thought 在 GPT-4 class 模型上對推理任務提升明顯
- Prompt 的措辭差異可能導致完全不同的 output
- Temperature 控制 randomness:低值更 deterministic,高值更 creative
3.Fine-tuning vs RAG vs Agent:三種架構選擇
Fine-tuning 用特定資料繼續訓練模型 weights,適合 domain-specific tone 或格式。RAG 不改模型,適合需要最新或動態知識的場景。Agent 讓 LLM 呼叫外部工具(搜尋、計算、API),適合需要多步推理和執行動作的場景。三者不互斥:一個系統可以同時 fine-tune base model、RAG 加入知識、用 agent 框架串接工具。
- Fine-tuning 需要標註資料和 GPU 資源,但能改變模型內在行為
- RAG 不需重訓模型,知識更新只需更新 index
- Agent 增加系統複雜度和 latency,但能力邊界最廣
- 選擇取決於 knowledge freshness、行為控制、成本和 latency 需求
4.LLM 應用的評估與風險
LLM 應用不能只靠 accuracy 一個指標。Faithfulness 衡量回答是否有根據(vs confabulation);relevance 衡量是否回答了問題;safety 衡量是否產生有害內容。Evaluation 可用人工評估、LLM-as-judge 或自動化 metric。Red teaming 主動測試模型的失敗模式。
- Confabulation rate 是 RAG 系統的核心指標
- LLM-as-judge 用另一個 LLM 評估回答品質,但有 bias
- Latency 和 cost per query 在生產系統中同樣重要
- 版本管理 prompt 和 model 版本是 MLOps 的一部分
一起拆題目
範例 1:一個 RAG 系統回答了「公司去年營收是 50 億」,但實際是 80 億。問題出在哪?
- 先檢查 retrieval:是否找到了正確的文件?
- 如果找到錯誤文件 → retrieval failure(embedding 或 chunking 問題)。
- 如果找到正確文件但 LLM 忽略或曲解 → generation faithfulness failure。
- 如果 index 中根本沒有最新財報 → indexing freshness failure。
所以答案是:RAG 失敗要分層診斷:indexing → retrieval → generation,每層有不同修復方式。
範例 2:什麼時候應該 fine-tune 而不是用 RAG?
- 需要改變模型的回答風格或格式 → fine-tune。
- 需要最新資訊但不需改變行為 → RAG。
- 需要 domain-specific 行為 + 最新資訊 → fine-tune + RAG。
所以答案是:Fine-tune 改行為,RAG 加知識。兩者解決不同問題,常一起使用。
這裡最容易選錯
- 把 RAG 當成修改模型參數(RAG 不改 weights)
- 認為 few-shot prompting 就是 fine-tuning(prompting 不更新 weights)
- 認為 temperature = 0 就能保證 deterministic output(不同 API call 仍可能有差異)
- 把 agent 和 chatbot 當同義詞(agent 有工具呼叫能力,chatbot 不一定有)
換你快速判斷
先在心中作答,再展開答案。答不出來時,回頭找本課的對照關係。
最後用考古題驗證
本課連結的題目都已通過可重現的技術覆核,可逐題練習與判分。
開始本課考古題練習