AI 與 LLM 基礎

從 AI、機器學習到大型語言模型(LLM)的關係,並解釋 Token、上下文視窗、Prompt、Embedding、幻覺等使用 AI 必懂的核心概念。

這是 AI 系列的第一篇,先把後面 AI Agent工具呼叫MCPSkills 會用到的共同詞彙打好地基。


目錄


什麼是 AI?

這幾個詞常被混用,但其實是層層包含的關係:

人工智慧 (AI)
  └─ 機器學習 (Machine Learning)
       └─ 深度學習 (Deep Learning)
            └─ 生成式 AI (Generative AI)
                 └─ 大型語言模型 (LLM)
名稱 一句話定義 例子
人工智慧 AI 讓機器表現出類似人的智慧行為 下棋程式、推薦系統
機器學習 ML 不寫死規則,讓機器從資料中學規律 垃圾郵件分類、房價預測
深度學習 DL 用「神經網路」這種模型來學,擅長處理影像、語音、文字 人臉辨識、語音轉文字
生成式 AI 不只判斷,還能產生新內容 生圖、寫文章、寫程式
大型語言模型 LLM 專門處理「文字」的生成式 AI ChatGPT、Claude

重點

  • 規則式程式 vs 機器學習:傳統程式是人把規則寫死(if 金額 > 1000 then ...);機器學習是給它大量例子,讓它自己找出規律。
  • 我們平常講的「AI」「ChatGPT」「Claude」,技術上指的幾乎都是最內層的 LLM。本系列接下來談的也是這一層。

什麼是 LLM?

LLM(Large Language Model,大型語言模型) 的核心工作其實只有一件事:

看著前面的文字,預測下一個最可能出現的「token」。

就這樣一個一個 token 接龍接下去,串起來就變成了一段流暢的回答。

輸入:「今天天氣真」
模型預測下一個 token:
  「好」 ← 機率 70%
  「不錯」← 機率 15%
  「糟」 ← 機率 8%
  ...
選出「好」→ 接到後面 → 再預測下一個 → ...

為什麼它看起來「很聰明」?

  • 它在訓練時讀過海量的文字(書籍、網頁、程式碼……),把語言中的規律、知識、推理模式都壓縮進模型的參數裡。
  • 所以它不是在「資料庫查答案」,而是根據學到的規律即時生成——這也是它有時會「一本正經地說錯話」的原因(見 幻覺)。

關鍵認知

LLM 本質是一個機率性的文字接龍引擎,不是一個確定性的計算器。同樣的問題,它每次的回答可能略有不同(見 常見參數)。理解這點,後面很多行為就都說得通了。


訓練 vs 推論

LLM 的生命週期分成兩個完全不同的階段:

階段 在做什麼 何時發生 成本
訓練 Training 餵海量資料,調整模型內部數十億個參數 模型發布之前,一次性 極高(數千張 GPU、數週到數月)
推論 Inference 拿訓練好的模型來回答你的問題 你每次發問時 相對低(但仍消耗算力)
[訓練階段] 大量文字 → 調整參數 → 得到一個「固定」的模型
[推論階段] 你的問題 → 固定的模型 → 生成回答

由此推導出兩個重要事實

  1. 知識截止日(Knowledge Cutoff) 模型的知識停在「訓練資料收集的那一刻」。訓練完之後發生的事,它本來就不知道。問它「最新版本」「今天的新聞」,它要嘛不知道、要嘛得靠工具去查。

  2. 模型本身不會「記住」你跟它說過的話 推論階段模型是固定的,不會因為你今天教它一件事,明天它就學會了。所謂的「記憶」是靠外部機制把對話內容再餵回去給它(見 Context WindowSkills 篇的 Memory)。


Token 與 Tokenization

Token 是 LLM 處理文字的基本單位。 模型不是一個字一個字地看,而是把文字切成一塊塊的 token。

Tokenization(分詞)

把文字切成 token 的過程叫 tokenization。一個 token 可能是一個字、半個詞、或一個常見的字串片段:

英文:  "tokenization"  →  ["token", "ization"]      (2 個 token)
英文:  "Hello world"   →  ["Hello", " world"]        (2 個 token)
中文:  "今天天氣"       →  ["今", "天", "天", "氣"]    (約 4 個 token)

粗略換算(方便估算,非精確值)

語言 大約比例
英文 1 token ≈ 4 個字元 ≈ 0.75 個單字
中文 1 個漢字 ≈ 1~2 個 token

為什麼 token 很重要?

Token 幾乎是 LLM 世界的「計量單位」,三件事都用它計算:

  1. 計費:API 大多按「輸入 token 數 + 輸出 token 數」收費。
  2. 速度:輸出越多 token,回答就越慢(一個一個生成)。
  3. 限制:模型一次能處理的 token 有上限,就是下面的「上下文視窗」。

💡 想省錢、想加快:讓 prompt 更精簡、不要塞無關內容、控制輸出長度,都是直接在減少 token。


Context Window 上下文視窗

上下文視窗(Context Window)是模型「一次」能看到的 token 總量上限。

它包含這次互動的所有東西

┌──────────── Context Window(例如 20 萬 tokens)───────────┐
│  System Prompt(系統設定)                                 │
│  + 歷史對話(你問的、它答的)                                │
│  + 你這次的問題                                            │
│  + 工具回傳的資料、附上的文件……                              │
│  ─────────────────────────────────────────               │
│  = 全部加起來不能超過上限                                    │
└──────────────────────────────────────────────────────────┘
                  模型據此生成回答(回答也佔 token)

關鍵特性

  • 它是「短期工作記憶」,不是長期記憶。 對話一旦超出視窗,最舊的內容就會被擠掉或被摘要壓縮,模型就「忘了」前面講過的細節。
  • 視窗越大 ≠ 越好用。 塞太多無關內容,反而會稀釋重點、增加成本、拖慢速度。把最相關的資訊放進視窗,比塞最多更重要。
  • 這就是為什麼會需要 RAG(只撈相關片段塞進來)和 Memory 機制——它們都是在「上下文視窗有限」這個前提下想辦法。

Prompt 與 System Prompt

Prompt(提示詞)就是你餵給模型的輸入文字。 你問得越清楚、給的脈絡越足,回答通常越好——「prompt engineering(提示工程)」就是在研究怎麼問。

一次請求裡的文字通常分成幾種角色:

角色 是誰寫的 作用
System Prompt(系統提示) 開發者/平台 設定模型的身分、規則、語氣,整段對話的「最高指導原則」
User(使用者訊息) 你實際的問題或指令
Assistant(助手訊息) 模型 模型先前的回答(多輪對話時會一起帶上)
System:    「你是一位親切的繁體中文技術助理,回答要附範例。」
User:      「什麼是 token?」
Assistant: 「Token 是……」(模型生成)
User:      「那它跟計費有什麼關係?」  ← 多輪對話,前面內容會一起送進去

重點

  • System Prompt 的優先權最高,用來約束模型整體行為(例如本筆記庫要求「一律用繁體中文」就適合放在這裡)。
  • 多輪對話時,前面的對話會一起被送進上下文視窗——這就是模型「記得」你剛剛說什麼的原理,也是對話越長越耗 token 的原因。

常見參數

呼叫 LLM 時通常能調幾個參數,影響輸出的「風格」。最常見的是 temperature

參數 白話效果 調高 調低
temperature(溫度) 控制「隨機性 / 創意」 更發散、更有創意,但較不穩定 更保守、更一致、更可預測
top-p 另一種控制隨機性的方式(取機率累積前 p% 的候選) 候選更多元 候選更集中
max tokens 限制這次最多輸出幾個 token
temperature 低(如 0.2):適合寫程式、抽資料、要正確答案的場合
temperature 高(如 0.9):適合腦力激盪、寫文案、要多樣性的場合

💡 同一個問題每次答案略有不同,主因就是 temperature > 0 帶來的隨機性。要結果穩定可重現,就把它調低。


Embedding 向量

Embedding(嵌入向量)是把「文字的語意」轉換成「一串數字」的技術。

"狗"    →  [0.21, -0.88, 0.05, ... ]  (例如 1536 個數字)
"小狗"  →  [0.23, -0.85, 0.07, ... ]  ← 跟「狗」很接近
"汽車"  →  [-0.67, 0.12, 0.91, ... ]  ← 跟「狗」差很遠

核心概念

  • 語意相近的文字,轉出來的向量在空間中距離也近;語意無關的就離很遠。
  • 於是「找語意相似的內容」就變成了「算向量距離」這種電腦很擅長的數學問題。

為什麼要先認識它?

Embedding 是 RAG(檢索增強生成) 的基礎:

1. 把大量文件切塊,各自算出 embedding,存進「向量資料庫」
2. 使用者提問 → 把問題也算成 embedding
3. 找出向量最接近的幾塊文件 → 塞進上下文視窗 → 讓模型根據這些內容回答

這讓模型能回答「它原本沒學過」或「超出知識截止日」的內容——把相關資料現查現給,而不是靠它腦中記得。第⑤篇會詳談。


幻覺 Hallucination

幻覺指模型「一本正經地講出聽起來合理、但其實是錯的」內容——捏造不存在的函式、虛構的引用、錯誤的事實。

為什麼會發生?

回想 什麼是 LLM:模型在做的是「預測下一個最像樣的 token」,它追求的是**「聽起來通順合理」,而不是「事實正確」**。當它沒有可靠依據時,仍會「流暢地」編出一個答案,因為通順的錯誤答案在機率上也很「像樣」。

常見觸發情境

  • 問它知識截止日之後的事
  • 問非常冷門、訓練資料很少的細節
  • 要求精確的數字、日期、引用出處、API 名稱

怎麼緩解?

方法 原理
提供來源資料(RAG) 把正確資料塞進上下文,讓它「照著答」而非「憑記憶答」
給它工具 讓它去查資料/算數,而不是自己腦補
要求附出處 逼它有所本,沒根據就答不出來
降低 temperature 減少發散、亂猜的傾向
人工查證關鍵資訊 重要的數字、事實一律自己再確認

⚠️ 核心心態:LLM 的輸出是「很有可能對」,不是「保證對」。 越關鍵的場合,越要驗證。


常見問題

問題 1:LLM 和我們以前說的「AI」有什麼不同?

「AI」是大概念,涵蓋下棋、推薦、辨識……各種智慧行為;LLM 是專門處理文字的那一支,屬於生成式 AI。你平常用的 ChatGPT、Claude 就是 LLM。

問題 2:為什麼模型會「忘記」我前面說過的話?

因為模型本身是固定的、不會記憶(見 訓練 vs 推論)。所謂「記得」是把歷史對話再送進上下文視窗。一旦對話太長超出視窗上限,舊內容被擠掉,它就忘了。

問題 3:token、字數、費用三者的關係?

文字會先被切成 token,API 按 token 計費(輸入+輸出都算)。中文大約 1 字 ≈ 1~2 token。想省錢就精簡 prompt、少塞無關內容、控制輸出長度。

問題 4:同一個問題為什麼每次答案不一樣?

因為 LLM 是機率性生成,且 temperature > 0 會引入隨機性。要答案穩定可重現,把 temperature 調低(接近 0)。


總結

核心要點

LLM = 機率性的「文字接龍引擎」,一次預測一個 token

關鍵特性:
  ├─ 知識停在「訓練截止日」,之後的事要靠工具查
  ├─ 模型本身不記憶,靠「上下文視窗」當短期工作記憶
  ├─ 一切以 token 計量:計費、速度、限制都看它
  └─ 輸出是「很可能對」而非「保證對」(會有幻覺)

快速記憶

概念 一句話
LLM 看前文、預測下一個 token 的接龍引擎
Token 文字的基本單位,也是計費/限制的計量單位
Context Window 一次能看到的 token 上限,是短期工作記憶
System Prompt 優先權最高的整體行為設定
Temperature 隨機性/創意旋鈕,低=穩定、高=發散
Embedding 把語意轉成向量,是 RAG 的基礎
幻覺 流暢但不保證正確,關鍵資訊要驗證

學習路徑

1. 理解 LLM 是「token 接龍」 ✓
2. 搞懂 token / 上下文視窗的限制 ✓
3. 知道 prompt / 參數怎麼影響輸出 ✓
4. 認識 embedding 與幻覺 ✓
5. 下一步 → 看 AI 怎麼從「會聊天」變成「會做事」

下一篇

👉 AI Agent 是什麼:當 LLM 能規劃、能呼叫工具、能持續行動,它就從聊天機器人變成了「會自己完成任務」的 Agent。


建立日期:2026-06-01 最後更新:2026-06-01

🔗相關文章