第 1 章 · 語言模型基礎:它到底在做什麼

第 1 章 · 語言模型基礎:它到底在做什麼

在學會「用」AI 之前,先花 15 分鐘搞懂它「是什麼」。這一章不寫任何程式,但會幫你建立一個正確的心智模型——之後你會發現,很多人用錯 AI、被 AI 唬到,都是因為誤解了這一章的東西。

💡 這一章的目標:讀完後你能用一句話回答「LLM 到底在做什麼」,並且理解它為什麼會亂講、為什麼同一個問題答案會不一樣、為什麼不會算數學


一句話:它是個「猜下一個字」的高手

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

看著前面已經有的文字,猜「下一個字」最可能是什麼。

就這樣。你給它「今天天氣真」,它算出下一個字最可能是「好」;接著把「今天天氣真好」再丟回去,猜下一個字是「,」……一個字一個字接龍,接出一整段話。

而且它猜的方式,比「選一個字」更精細一點:模型內部會對它認得的每一個字都算出一個機率,變成一張長長的機率表。以「今天天氣真」為例,內部大概長這樣:

候選的下一個字 模型算出的機率
82%
7%
4%
3%
(其他上萬個字) 剩下的 4%

然後它才從這張表裡「挑一個」輸出。記住這張機率表——它是後面「為什麼答案會變」「為什麼會亂講」的共同答案。

聽起來很笨對吧?但當這個「接龍遊戲」用整個網際網路的文字訓練到極致,它就會為了把下一個字猜準,被迫「順便」學會文法、常識、推理、寫程式、翻譯……因為要正確接出「台灣的首都是」後面那個字,它就得真的「知道」答案是台北。

換句話說:「把下一個字猜準」這個目標,逼著它在腦中壓縮出一個對世界的模型。要接好「水加熱到 100 度會」後面的字,它就得學會沸騰這件事;要接好一段程式碼的下一行,它就得學會語法。智慧不是被「教」進去的,是為了猜字被「逼」出來的副產品。

💡 關鍵心態:它不是在「查資料庫」或「理解世界」,它是在根據學過的模式,計算機率最高的下一個字。這個區別,是理解後面所有現象的鑰匙。


三個一定要懂的名詞

Token(詞元)— 模型眼中的「字」

模型不是一個「字」一個「字」處理,而是切成 token(詞元)。一個 token 可能是一個字、半個英文單字、或一個標點。粗略記:英文大約 1 個 token ≈ 4 個字母,中文大約 1 個字 ≈ 1~2 個 token

為什麼要切成 token,不直接用「字母」或「整個單字」?因為那是效率與彈性的折衷:用字母太細(一句話變成好幾百個單位、算很慢),用整個單字又太粗(世界上的單字、拼錯的字、新造的詞是無限多的,記不完)。切成「常見的片段」剛剛好——常見的字給一個完整 token,罕見的字就拆成幾塊拼起來。所以 apple 可能是 1 個 token,而 antidisestablishmentarianism 會被剁成好幾個。

為什麼你要在乎?兩個很實際的理由:

  1. API 是按 token 計費的,而且模型「一次能看多少字」也是用 token 算的。同樣一份文件,中文通常比英文吃掉更多 token——所以「翻成英文再問」有時真的比較省錢。
  2. 它看到的是 token,不是字母。這解釋了一個經典糗事:問它「strawberry 有幾個 r」常常會答錯,因為它眼中那個字早就被切成 strawberry 幾塊,它根本沒在「看字母」。這個坑我們在本章最後的「三大限制」還會再遇到。

🔧 動手試試:上網搜尋「tokenizer 視覺化」之類的工具,把一段中英夾雜的句子貼進去,親眼看看它被切成哪些 token、共幾個。你會對「模型眼中的世界」很有感。

Context Window(上下文窗口)— 它的「工作記憶」

模型一次能「看到」的 token 數量有上限,這個上限叫 context window(上下文窗口)。你可以想成它的短期工作記憶:所有你給的指令、對話歷史、貼上的文件,全部都要塞進這個窗口。

舉個有畫面的例子:你貼一本 300 頁的 PDF 進去,大約是 15 萬 token。如果窗口是 20 萬 token,那還塞得下;但你接著跟它聊了很久,對話越來越長,早晚會超過上限——這時最早的內容就會被擠出窗口,模型就像突然失憶,忘了你一開始交代的事。

現代模型的窗口很大(動輒 20 萬~100 萬 token,等於幾百頁書),但它不是無限的,而且「塞越多不一定越好」:研究發現模型對塞在正中間的資訊特別容易忽略(俗稱「lost in the middle」,中間迷路),反而是開頭和結尾記得牢。所以「把資料全部倒給它」往往不是最好的做法——該放什麼、放在哪,正是第 3 章 Context 工程要處理的問題。

Embedding(嵌入)— 把意思變成一串數字

模型把每個 token 轉成一長串數字(一個向量,通常有幾百到幾千個數字),這串數字代表它的「意思」。你可以想成:每個詞都被放到一個超高維度的「意思地圖」上,佔一個座標。神奇的是,意思相近的詞,座標也相近——「貓」和「狗」的向量距離,會比「貓」和「石油」近。

更神奇的是,這些座標之間還能「做算術」。最經典的示範是:「國王」的向量 −「男人」+「女人」≈「女王」。這代表模型學到的不只是「哪些詞常一起出現」,而是詞與詞之間的關係(性別、單複數、國家與首都……)被編碼進了數字裡。

這個「用數字表示意思」的能力,是第 6 章 RAG(語意搜尋)的基礎——因為只要能算「兩段文字的意思有多近」,就能用問題去撈出最相關的資料。先記著。


它是怎麼「學會」的:三個階段

一個能對話的模型,不是一步到位,而是經過三個階段養成的。用「培養一個實習生」來比喻:

flowchart LR A[預訓練<br/>讀遍整個網路] --> B[監督微調 SFT<br/>教它怎麼對話] B --> C[對齊 RLHF<br/>教它怎麼有幫助又安全] C --> D((能對話的<br/>助理))
階段 白話比喻 在做什麼
1. 預訓練 讓實習生把圖書館整個讀完 用海量網路文字練「猜下一個字」,學到語言與世界知識
2. 監督微調(SFT) 給他看幾千份「好的問答範例」 教它「被問問題時,要像助理一樣回答」而不是繼續接龍
3. 對齊(RLHF) 讓資深員工對它的回答評分、調整 教它更有幫助、更誠實、更安全(少講有害內容)

這三步的成本天差地遠,值得有個概念:預訓練是最貴的一步——動用數千張顯示卡、跑好幾個月、把數兆個 token 讀過一遍,花費常以百萬、千萬美元計;而後面的微調與對齊相對便宜快速。這也是為什麼世界上「從零訓練一個頂尖大模型」的玩家就那幾家,多數人是拿別人訓好的模型來微調或直接用。

第 3 步 RLHF(人類回饋強化學習) 值得多說一句它怎麼運作:人類不可能逐題盯著改,所以做法是先請人對「同一題的多個回答」排名(哪個比較好),用這些排名訓練出一個會打分數的「獎勵模型」,再讓 AI 拿高分為目標自我調整。

⚠️ 對齊不是萬靈丹,也有副作用:太想拿高分、討好使用者,可能讓模型變得愛附和(你說什麼它都說對,俗稱 sycophancy);或矯枉過正、該答的也拒絕。這說明一件事——模型的「個性」是被訓練塑造出來的,不是天生中立的。

💡 你平常用的 ChatGPT、Claude,都是走完這三步的成品。第 1 步給它「知識」,第 2、3 步給它「教養」。


為什麼同一個問題,答案每次都不一樣?

還記得前面那張「候選字機率表」嗎?模型猜下一個字時,不是永遠選機率最高的那個,而是「按機率抽籤」。控制這個抽籤有多隨機的旋鈕,最常見的叫 temperature(溫度)

  • 溫度低(接近 0):幾乎每次都選機率最高的字 → 回答穩定、保守、可重現。適合抽取資料、分類、寫程式
  • 溫度高:比較敢選機率沒那麼高的字 → 回答有變化、有創意,但也更容易失控。適合腦力激盪、寫故事

它背後在做什麼?溫度其實是在改變那張機率表的形狀:溫度低,等於把最高機率那項拉得更尖、贏者全拿;溫度高,等於把整張表壓平,讓原本 4%、5% 的「黑馬字」也有機會被抽中。所以同一句「幫我想一家咖啡廳的名字」,低溫可能每次都給你「晨光咖啡」,高溫則可能冒出「霧巷」「第七頁」這種你想不到的。

實務上怎麼配溫度,可以記這張表:

任務 建議溫度 為什麼
抽資料、分類、轉 JSON 接近 0 要的是「每次都一樣、可信賴」
寫程式、改 bug 要正確,不要它自由發揮
一般問答、寫摘要 穩定但不死板
取名、發想、寫文案 偏高 要的就是多樣與驚喜

🔧 動手試試:如果你有 API 或 playground,把同一句 prompt 分別用 temperature 0 跟 1 各問三次。0 的三次幾乎一模一樣,1 的三次會明顯不同——你就親眼看到「隨機性」這回事了。

⚠️ 重要觀念:LLM 天生就有隨機性。所以「同樣的 prompt 每次結果一樣」在 AI 世界不是理所當然的——這也是為什麼第 10 章「評估」這麼重要:你不能只跑一次就相信它。


誠實面對它的三大限制

這是新手最該先知道、卻最少人講清楚的部分。

1. 幻覺(Hallucination):它會「一本正經地胡說八道」

因為它的本質是「猜機率最高的下一個字」,當它不知道答案時,也還是會很流暢地掰一個出來——語氣一樣自信。它不是在騙你,它根本不知道自己不知道。

更根本的原因是:它的訓練從來沒教它「不知道就說不知道」。整個過程都在獎勵它「接出一段通順、看起來合理的文字」,所以面對不確定的問題,「掰一個像樣的答案」對它來說反而是「表現好」。誠實地說「我不知道」不是它的預設反應。

這不是理論上的風險,已經釀成真實事故。2023 年美國一位律師用 ChatGPT 幫忙寫訴狀,它「引用」了好幾個判例——全是捏造的、根本不存在的案子,律師沒查證就送進法院,被法官抓包、處分。程式圈也常見:它會叫你 import 一個不存在的套件、呼叫一個根本沒有的函式,因為那個名字「聽起來就該存在」。

🔧 動手試試:問它一個很冷門又很具體的問題,例如「某某書第幾章講了什麼」,或某個小眾工具的參數。看它會不會臉不紅氣不喘地掰一段——這種「無法查證卻很流暢」的答案,就是你以後要最警惕的。

⚠️ 這是目前 LLM 最危險的特性:捏造的法條、不存在的論文、錯誤的 API。永遠要對「聽起來很合理但你無法查證」的內容保持懷疑。第 6 章的 RAG 就是為了「讓它有根據地回答」而生。

2. 知識截止(Knowledge Cutoff)

模型的知識停在它「讀完圖書館」的那一刻(訓練資料的截止日)。之後發生的事——最新新聞、昨天的股價、你今早才寫的文件——它天生不知道。

實際會發生的狀況是:你問它一件截止日之後的事,它要嘛老實說「我的知識到某年某月為止」,要嘛……又開始掰(見上一點)。要它真的知道,就得在 prompt 裡把資料餵給它(第 3 章把資料放進 context、第 6 章用 RAG 自動撈相關資料),或讓它上網查(工具,第 4 章)。

🔧 動手試試:問一個「最近才發生、你確定它訓練時還沒發生」的事。觀察它是誠實承認不知道,還是硬掰——這會讓你對「餵資料給它」為什麼必要很有感。

3. 不擅長精確計算與數數

它是「語言」模型,不是計算機。要它算 48273 × 9182、或數一段文字裡有幾個字母 r,常常會錯——因為它是在「猜一個看起來對的答案」,不是真的在運算。

數字算錯還有一層原因,正是前面「Token」那節埋的伏筆:它看到的是 token,不是一個個數字或字母。所以連「strawberry 有幾個 r」這種小學生問題它都可能答錯,因為那個字在它眼中是幾塊 token,而不是一串可以逐個去數的字母。

解法很簡單:別叫它硬算,讓它去呼叫計算機、跑一段程式來算(第 4 章的工具呼叫)。把「語言」的事交給它、把「精確計算」的事交給工具,各司其職。

🔧 動手試試:直接問「strawberry 有幾個 r?」,再問「48273 × 9182 等於多少?」拿它的答案去跟計算機對一下。你會很快明白:它不是壞掉,是這件事本來就不該它親手做。


進階:推理模型(Thinking Models)

近年出現一種「會先想再答」的模型(俗稱 reasoning / thinking model)。它在給出最終答案前,會先產生一段內部的「思考過程」,把難題拆解、逐步推導,再下結論。

說穿了,這段「思考」沒有什麼魔法——它就是在正式回答前,先多生成一大段推理用的文字(拆步驟、試算、自我檢查),等於用「多花一點運算、多寫一些字」去換「想得更周全」。這也是為什麼它更準、也更慢更貴的原因是同一件事。

  • 好處:在數學、程式、複雜規劃這類需要多步推理的任務上,準確度大幅提升。
  • 代價:比較慢、比較貴(那段思考也要算 token)。

實務原則:簡單任務用一般模式,難任務才開啟思考。你不需要用大砲打小鳥——問「今天星期幾」不必讓它先寫三百字推理。


模型版圖:先有個地圖

你會聽到很多名字,先大致分兩類就好:

類型 代表 特點
閉源(雲端 API) Claude、GPT、Gemini 最強、最好用,但要透過 API、資料會送到對方伺服器
開源(可自架) Llama、Mistral、Qwen 可下載、可在自己機器跑,隱私可控,但通常要自己顧硬體

另外一個實務上更常遇到的分法是大 vs 小:同一家公司通常會出「旗艦版」和「輕量版」——旗艦版最聰明但貴又慢,輕量版便宜又快、應付簡單任務綽綽有餘。老手的做法是依任務挑大小:分類、改錯字這種雜事丟給小模型,複雜推理才動用旗艦,成本可以差好幾倍。

💡 選型沒有標準答案:在乎「最強、最省事」選閉源;在乎「資料不能外流、要地端」選開源自架;在乎「省錢」就別每件事都用最貴的模型。第 10 章會再談成本與選型。


重點回顧

  • LLM 的本質是猜下一個字——它對每個候選字算一張機率表,再從中抽一個;不是查資料、不是理解世界,是算機率。而「把字猜準」這個目標,反過來逼它學會了語言與常識。
  • Token 是模型眼中的「字」,也是計費與長度的單位(中文通常較耗 token);Context Window 是它的工作記憶,塞太多、放中間都可能被忽略;Embedding 是「用數字表示意思」,還能做「國王−男人+女人≈女王」這種意思算術。
  • 它經過預訓練 → 微調 → 對齊三階段養成:先有知識,再有教養;而對齊也可能帶來愛附和、過度拒絕等副作用。
  • 它天生有隨機性(temperature 控制機率表的形狀),所以答案會變、需要評估。
  • 三大限制要牢記:幻覺(沒被教過「不知道就說不知道」)、知識截止不擅長精確計算與數數(因為它看的是 token 不是字母)。這三點決定了後面所有工程手段的存在理由。

理解了「模型是什麼」,下一章我們來學「怎麼跟它好好講話」——這就是 Prompt 工程