上一篇搞懂了 Token 跟 Embedding,這篇來聊一個你遲早會面對的問題:怎麼讓 AI 回答得更好?

先講結論

讓 LLM 表現更好有三條路,從便宜到貴排列:

  1. Prompt Engineering — 改你問問題的方式(免費)
  2. RAG — 給 AI 參考資料再回答(中等成本)
  3. Fine-tuning — 用你的資料重新訓練模型(最貴)

90% 的場景,前兩條路就夠了。如果有人一上來就說要 fine-tune,你可以先問:「你試過好好寫 prompt 嗎?」


Prompt Engineering:成本最低的優化

Prompt Engineering 就是「怎麼問問題,AI 才會給你好答案」。聽起來很廢話,但這真的是最被低估的技能。

幾個馬上能用的技巧:

1. 角色設定

差:「幫我 review 這段 code」
好:「你是一位資深的 TypeScript 工程師,專精 React。請 review 以下 code,
     重點看效能和可維護性問題。」

2. 給範例(Few-shot)

「把以下文字翻譯成英文。

範例:
中文:早安
英文:Good morning

請翻譯:
中文:你好」

幾乎所有情況下,給 2-3 個範例都比不給好。這是最簡單也最有效的 prompt 技巧。

3. Chain of Thought(思考鏈)

「請一步一步思考,在給出答案之前先列出你的推理過程。」

就這一句話,就能讓複雜推理的正確率提高一截。我也很想一步一步思考就能加薪。

4. 限制條件

「只使用 ES2020 語法,不要使用 lodash,回答用 JSON 格式。」

你限制越明確,AI 亂發揮的空間就越小。


RAG:不改模型,給它參考資料

RAG(Retrieval-Augmented Generation)的概念很簡單:

傳統 LLM:
使用者問題 → LLM → 回答(只靠模型自己的「記憶」)

RAG:
使用者問題 → 搜尋知識庫 → 找到相關文件 → 問題+文件一起給 LLM → 回答

就像考試的時候可以帶小抄一樣——LLM 本來只靠自己背的東西回答,現在你讓它看著資料回答。

RAG 的典型流程:

  1. 使用者問:「我們公司的退款政策是什麼?」
  2. 系統把問題轉成 embedding
  3. 在 Vector DB 裡找語意最接近的文件段落
  4. 把原始問題 + 找到的文件一起塞進 prompt
  5. LLM 根據文件內容回答

為什麼大多數情況 RAG 比 Fine-tuning 好用?

RAGFine-tuning
成本低(只要 Vector DB)高(需要 GPU)
更新知識即時(改文件就好)慢(要重新訓練)
能追溯來源可以(引用原文)不行(知識融入模型裡)
幻覺控制較好(有來源可驗證)一般

我自己在做 ClawdBot 的時候,一開始也想說要不要 fine-tune 一下。後來發現光是好好寫 system prompt + RAG 接上 workspace 的文件,效果就已經很夠了。省下來的 GPU 錢可以吃好幾頓。


Fine-tuning:最後的手段

Fine-tuning 是在已訓練好的模型上,用你的資料繼續訓練。想像成:模型已經會說話了,你再教它你家的行話。

通用模型(GPT / Claude / LLaMA)
    ↓ 用醫療資料繼續訓練
醫療專用模型

什麼時候才真的需要 Fine-tuning?

  • 你要改變模型的「語氣」或「風格」(例如客服機器人要用你們公司的口吻)
  • 你有一個非常特定的任務,通用模型表現不好
  • 你需要讓小模型在特定任務上表現接近大模型(省 API 錢)

Fine-tuning 的坑:

  1. 需要高品質的訓練資料(通常幾千到幾萬筆)
  2. 可能「忘記」原本的通用能力(catastrophic forgetting)
  3. 模型更新時要重新 fine-tune
  4. 成本不低——需要 GPU

好消息是有 LoRA / QLoRA 這種「平價版 fine-tuning」:

Full Fine-tuning: 修改全部 70B 參數 → 需要數百 GB VRAM
LoRA:             只訓練額外 ~1% 參數 → 十幾 GB 就夠
QLoRA:            LoRA + 模型量化      → 幾 GB 就能跑

LoRA 讓個人開發者也能 fine-tune 大模型,這在兩年前是不可能的事。但我的建議還是:先把 prompt engineering 和 RAG 做好,真的不夠再考慮 fine-tune。


決策流程圖

遇到「怎麼讓 AI 表現更好」的問題,按這個順序想:

1. Prompt 寫好了嗎?(有角色設定、有範例、有限制條件)
   → 沒有 → 先把 prompt 寫好
   → 有了,還是不夠好 ↓

2. 是缺乏特定知識嗎?(公司資料、最新資訊)
   → 是 → 用 RAG
   → 不是 ↓

3. 是需要改變模型行為嗎?(語氣、格式、特殊任務)
   → 是 → Fine-tuning(先試 LoRA)
   → 都試了還是不行 → 可能這個任務不適合用 LLM 解決

最後那一行很重要——不是所有問題都該用 AI 解決。有時候一個好的 if-else 比一個不穩定的 LLM 靠譜多了。


下一篇

好,你現在知道怎麼讓 AI 變聰明了。但 AI 要跑在哪裡?花多少錢?


90% 的 AI 問題都能用好好寫 prompt 解決。剩下的 10%——你確定不是 prompt 沒寫好嗎?