大型語言模型怎麼運作?它能解奧數題卻分不清 9.11 和 9.9,因為起司上有洞
AI 可以摘要三十頁英文合約,卻可能算錯 9.11 和 9.9 誰比較大。問題不在它時好時壞,在於大型語言模型的能力像一塊瑞士起司,洞的位置是固定的。這篇用非技術語言拆解 LLM 怎麼生成文字、token 是什麼、AI 幻覺為什麼會發生,以及知道洞在哪之後,工作該怎麼分。
你叫 AI 幫你算一批商品打完折之後的價格。
它算錯了。
你心裡浮出四個字:「還是不能信。」然後把分頁關掉,回去開 Excel。
可是同一個 AI,昨天才幫你把一份三十頁的英文合約摘要得比你自己讀還準。
到底哪一個才是真的它?
兩個都是真的。這剛好就是理解這台機器最好的入口。
先說結論:起司上有洞,但洞的位置是固定的
Andrej Karpathy 是 OpenAI 創始團隊成員、前 Tesla AI 總監。他在 2025 年 2 月放上 YouTube 一支三個半小時的影片 Deep Dive into LLMs like ChatGPT,開場就講明:這是給一般大眾看的,目的是幫你建立「這個工具究竟是什麼」的心智模型。
片中有一個比喻,我認為是整支影片最值錢的一句:
大型語言模型的能力,是一塊瑞士起司(Swiss cheese model of capabilities)。
它在極多領域強得誇張,卻會在某些莫名其妙的地方突然掉下去。它解得了奧林匹亞等級的數學題,卻分不清 9.11 和 9.9 哪個大。
大部分老闆看到這種事,反應是「這東西不穩,先觀望」。
但起司上的洞不是隨機亂長的。
洞的位置,由這台機器的製造方式決定。所以它可以被預測,可以被繞開,也可以被補起來。
你要做的不是等一塊沒有洞的起司。是知道洞在哪,別把重要的東西放在洞上。
我們站上寫過四十幾篇怎麼用 AI 的文章,一直沒補上最底下那一層。這篇補。
它到底在做什麼?一台機率續寫機
切入重點,大型語言模型(LLM,Large Language Model)做的事情只有一件:看著前面的文字,猜下一個字最可能是什麼。
就這樣。沒有別的了。
要讓它學會猜,得先餵它讀。第一階段叫預訓練(pre-training):把整個網路的文字下載下來洗乾淨。
Karpathy 用 Hugging Face 的 FineWeb 資料集當例子。中間要過好幾道篩:濾掉惡意與色情網站、從 HTML 裡只挖出文字、用語言分類器判斷語言、去除重複內容、清掉個資。
根據 FineWeb 論文,它從 96 個 Common Crawl 快照萃取,最後約 15 兆個 token,佔 44TB。
44TB。一顆硬碟就裝得下。

這是我看完最意外的一件事。你以為「整個網路」大到不可思議,但垃圾濾乾淨之後,人類公開寫下的純文字就這麼多。
那道語言篩還藏了一個很現實的東西:FineWeb 只留英文分數 0.65 以上的網頁。你濾掉哪些語言,模型就在哪些語言上弱。 繁體中文在這類資料集裡佔比向來不高,這就是為什麼你有時候覺得它中文寫起來怪怪的。不是你的錯覺。
它讀到的不是「字」,是 token
文字沒辦法直接餵進神經網路,得先切成一段一段的符號,這動作叫詞元化(tokenization)。
切法是一套叫位元組對編碼(BPE,Byte Pair Encoding)的演算法:反覆把最常一起出現的相鄰符號合併成新符號。合併越多次,序列越短,詞彙表越大。實務上的甜蜜點大約十萬個,GPT-4 用的是 100,277 個 token。
記住這一步。第一個洞就從這裡長出來。
訓練就是轉旋鈕,回答就是丟硬幣
把 token 排成長串切成窗口(context window,上下文視窗),讓神經網路看著前面猜下一個。一開始參數隨機,猜得一塌糊塗,然後用數學方法一點一點調。
Karpathy 的比喻是:那些參數像 DJ 混音台上的旋鈕,訓練就是不停轉,直到輸出的統計特性跟真實世界的文字對得上。現代模型的旋鈕,幾十億到上兆個都有。
接著是全篇你最該記住的一句。
模型生成文字時,並不是「查出」答案。它算出下一個 token 的機率分布,然後抽樣。像丟一枚灌了鉛的硬幣,機率高的面比較容易出現,但不保證一定出現。
所以同一個問題問兩次,答案會不一樣。
這不是 bug,是設計。
以前你用系統,同樣輸入一定得到同樣輸出,那叫程式。現在你用 AI,同樣輸入會得到相似但不相同的輸出,那叫抽樣。
搞懂這件事,你就不會再問「為什麼我的 AI 客服回覆不一致」,也會覺得「請它再生一次」是完全合理的操作。
順帶一個有意思的數字。Karpathy 為了好玩重現了 GPT-2,也就是 OpenAI 在 2019 年發表的那個模型:16 億參數、1024 token 上下文、約 1000 億 token 訓練量。
當年訓練這個模型估計要四萬美元。他在 llm.c 專案用 8 張 H100 跑 24 小時,花了 672 美元。後來的 nanochat 專案,把同等級模型壓到約 73 美元、三小時。
四萬、672、73。
這年頭就是算力、算力、算力。而算力正在變成水電。
起司上的三個洞
機制講完了。來看洞在哪。
洞一:它看不到「字」,也看不到「數值」
回到 9.11 和 9.9。
模型看到的不是兩個小數,是被切碎的 token。「9.11」進去之後可能被拆成「9」「.」「11」三塊,「9.9」被拆成「9」「.」「9」。它接著做的事情,比較接近字串比對,而不是數值運算。而在它讀過的網路文字裡,9.11 這種東西大量出現在版本號和日期裡,在那些脈絡下 11 確實比 9 大。

同樣原因,你問它「strawberry 裡面有幾個 r」,它會答錯。它根本沒看到一個一個的字母,只看到幾個切好的塊。
這對台灣電商來說不是冷知識,是每天都會踩到的地雷。
想像一下,你早上打開電腦要處理一批換季出清:原價乘折扣、比較兩家供應商報價、核對 SKU 編號、確認活動文案有沒有超過超商取貨欄位的字數上限。
這四件事,全部踩在同一個洞上。
我自己也吃過這個虧。看它把數字排得整整齊齊、有條有理,就順手拿去用,後來才發現裡面有算錯的。它不是亂寫,是算錯,而且錯得很自然、很有說服力。
補丁很簡單:別叫它心算,叫它動手算。
讓它去呼叫程式碼執行器、跑試算表、查資料庫,它就從「猜下一個字」變成「執行一段運算」。可靠度差了一整個檔次。
這也不是我瞎猜。我們解碼過柏克萊的 DAB 基準測試,現成模型做資料分析的答對率只有 38%,配上調校過的鷹架能拉到 84.5%。差別不在模型變聰明,在你有沒有給它工具。
洞二:它的記憶是壓縮過的,而且會失真
參數裡確實存了很多知識,但那些知識是壓縮過的、模糊的。有人形容參數像一個「網路知識的失真壓縮檔」,我覺得非常傳神。你把圖存成品質很低的 JPG,遠看還是那張圖,放大就整片糊掉。
上下文視窗不一樣。你貼給它的東西是工作記憶,清清楚楚擺在眼前。
所以有一條實用到不行的原則:
能貼給它,就不要問它。
你問「超商取貨的運費規則是什麼」,它會生出一套聽起來合理、格式漂亮、但細節是編的答案。你把後台那份運費表貼上去再問,正確率是另一個世界。
這就像你請了一個記憶力普通但閱讀理解極強的助理。叫他憑印象背公司規章,他會亂講;把規章印給他再問,他答得比誰都好。
雨傘那七年,我在工廠、品牌、百貨專櫃都待過。做零售的都知道,最怕的就是站在第一線的人憑印象跟客人講規則,講錯了現場就得處理客訴,所以規則永遠是白紙黑字擺在手邊,要講之前先看一眼。
你現在對 AI 做的是同一件事。差別只在那張紙變成貼進對話框的一段文字。
(想再往下挖,可以看我們寫過的 AI 客服記憶系統設計,那篇談的是怎麼決定「該記什麼、該忘什麼」。)
洞三:它被訓練成要讓你滿意
預訓練完的模型,本質上只是一台「網路文件模擬器」,一個很貴的自動完成。它還不會當助理。
所以有第二階段,後訓練(post-training)。先用大量高品質對話範例做監督式微調(SFT),教它「一個有幫助、誠實、無害的助理會怎麼回答」。再來是強化學習,其中針對創作、摘要、幽默這類沒有標準答案的任務,做法是人類回饋強化學習(RLHF):訓練一個「獎勵模型」去模擬人類喜好,再讓主模型去追高分。
問題來了。獎勵模型只是個模型,不是真的人類。當你讓 AI 拚命追一個模型給的分數,它會找到那個模型的漏洞,學會怎麼拿高分,而不是怎麼把事情做好。
這就是為什麼你問「我這版文案寫得好不好」,它幾乎永遠說好。
它不是在肯定你。它是在追分數。
這個現象我們單獨寫過一篇,ChatGPT 只會附和你?那不是忠誠,是諂媚。這裡只給一個最快見效的做法:把問法從評分改成對抗。
不要問「這個文案好嗎」。
要問「請你用一個完全不想買這個商品的人的角度,把這段文案講不通的地方全部列出來」。
同一個模型,答案品質差很多。
知道洞在哪之後,工作怎麼分
三個洞攤開,分工原則只剩一條線:這件事有沒有辦法驗證?

有標準答案的(數學、程式、規則比對、邏輯推演),適合讓它跑推理模型,想久一點、自己回頭檢查。強化學習在這類可驗證領域最有效,DeepSeek-R1 就展示過模型能自己長出類似人類內心獨白的思維鏈(Chain of Thought),會回頭驗算、會換角度重試。
沒有標準答案的(文案調性、品牌語感、幽默、審美),它可以生,但必須有人審。因為這一塊的訓練訊號本來就來自「人類覺得好不好」,而那個訊號是可以被鑽的。
至於什麼時候用推理模型?按題目難度挑。多步驟、要驗算、要推演的用它;一般問答、摘要、改寫、翻譯,用快的那個又快又省。
拿推理模型去改錯字,是拿高鐵去買便當。
你今天就可以做的四件事
► 把算數字的活從對話框移出去。 折扣、對帳、比價、字數限制、SKU 比對,一律讓它接試算表或程式碼執行器,不要讓它心算。
► 改掉「問它」的習慣,改成「貼給它」。 運費規則、退換貨政策、商品規格、活動辦法,全部貼進去再問。你的第一方資料才是它最強的燃料。
► 把「這個好嗎」從提問裡刪掉。 換成「請挑出這裡面最站不住腳的三個地方」。要它當你的對手,不要當你的粉絲。
► 依難度選模型。 需要多步推演的用推理模型,日常雜活用快模型。省下的時間和成本都是真的。
最後
如果你問我,這支影片最大的價值不是那些技術細節,是它把「AI 有時候很爛」從一個情緒問題變成一個工程問題。
以前你遇到 AI 出錯,只能得到一個模糊結論:這東西不太行。
現在你可以問一個具體問題:它踩到哪個洞?看不到字元、記憶失真,還是在討好我?
問題一旦具體,就有解法。
不要等一塊沒有洞的起司。那塊起司不會來,而且真的來了,你的對手早就拿現在這塊做出成績了。
先搞清楚洞在哪,然後把重要的東西放在實心的地方。
常見問題
LLM(大型語言模型)是什麼?
一種靠預測「下一個字」來生成文字的 AI 模型。它先讀過大量網路文字學會語言的統計規律,再依據你給的內容一個 token 一個 token 往下續寫。它不是知識庫,也不會「查」答案。
大型語言模型在生成文字時,最基礎的運作原理是什麼?
依據前面已有的文字算出下一個 token(詞元)的機率分布,再從分布中抽樣選出下一個 token,重複續寫。核心是機率預測,不是資料庫查詢。
AI 幻覺(hallucination)是什麼?為什麼會發生?
指模型生成看起來合理、但實際上錯誤的內容。成因是它本質上在做機率續寫,而訓練資料裡的文字幾乎都是自信作答的語氣,所以它即使「不知道」也會生成一個像樣的答案。實務上的處理方式很直接:別只問它,先把資料貼給它,讓它接網路搜尋或試算表,關鍵輸出再由人檢查一次。
AI 幻覺可以完全避免嗎?
以目前的技術不行,因為幻覺來自生成機制本身,不是可以關掉的錯誤選項。但可以大幅降低。把答案的來源從「模型的記憶」換成「你提供的資料或外部工具查到的結果」,出錯率會差非常多。真正的關鍵是流程設計:凡是會影響金額、庫存、法遵的輸出,一律留人工確認。
AI 裡的 token 是什麼?
文字餵進模型前被切成的最小處理單位,中文叫詞元。切法用 BPE(位元組對編碼)演算法,把常一起出現的字元組合併成一個符號。GPT-4 的詞彙表有 100,277 個 token。
為什麼 AI 連 9.11 和 9.9 誰比較大都會答錯?
它看到的不是數值,是被 tokenization 切碎的字串片段,做的比較接近字串比對而非數值運算。同樣原因會讓它數不清單字裡有幾個字母、算錯簡單算術。解法是把運算交給程式碼執行器或試算表。
為什麼同一個問題問兩次,AI 的答案不一樣?
選下一個 token 的過程是機率抽樣,不是固定查表。這是設計特性,不是故障。
推理模型和一般模型該怎麼選?
需要多步驟推演、驗算、邏輯分析的複雜任務用推理模型;一般問答、摘要、改寫、簡單知識查詢用速度較快的一般模型就夠,依題目難度選擇。
協作聲明與免責
這篇文章由王董與 AI 一起整理製作完成。文中引用的第三方資料、研究或工具都會標註來源名稱;若原始出處有公開連結,會以 [來源名稱](URL) 形式附上,方便你進一步查找。若文中內容與原始出處有任何出入,請以原文為準。
內容僅供參考與學習交流,不構成任何專業、商業或投資建議,請依自身情況判斷並自行承擔行動風險。文中提及的工具功能、數據與平台政策可能隨時間異動,請以各官方最新公告為準。