AI Capabilities Lesson 5|實作練習:用馬可夫鏈親手體驗 Token 預測

AI Capabilities Lesson 5|實作練習:用馬可夫鏈親手體驗 Token 預測

📚 AI Capabilities and Limitations 學習筆記系列
Lesson 5 / 14 ・ 課程進度 36%
L4
Token 預測
L5
實作練習
L6
知識
📌 這篇文章談什麼?

這是「下一個 Token 預測」的實作課。官方做了一個超有趣的互動:「Text Your Friend Markov」——一個 100% 可解釋的下一字預測器。你會親手用 5 則訊息「訓練」出一個迷你語言模型、看見它的轉移矩陣、體驗取樣、轉動 temperature 等真實的取樣旋鈕,最後理解:馬可夫鏈和 Claude 這類大型語言模型,取樣方式基本相同,差別在「算出機率分布」的方法。玩過一次,上一課的抽象概念會全部長出手感。

課程單元Lesson 5|Try It Out: Next Token Prediction
預估時間約 20–30 分鐘(互動實作)
課型🛠 實作練習(Try it out)——建議搭配官方互動頁一起玩
官方單元連結Try it out: Text Your Friend Markov(英文互動頁)

這個實作在玩什麼?

你可能也玩過這個遊戲:拿起手機,只用輸入法推薦的候選字拼出一則訊息傳給朋友。官方作者說他們當年把這叫「Me-bot」——因為推薦字是根據你的用字習慣算出來的,你會在裡面看到自己的影子。

當時大家把它當成科技魔法,但其實背後的演算法簡單到你可以親手打造一個。這一課就是要帶你做這件事——因為做完之後你會發現:這個 1906 年就發表的老方法,和 Claude 生成文字的最後一步,是同一件事。

第一步:「訓練」你的模型

所謂「訓練」,在這裡只是把字與字的連接記個次數。官方用 5 則訊息示範:

  1. “i think we should probably ship it”
  2. “i think that sounds good”
  3. “i think we should probably wait”
  4. “we should check with the team”
  5. “that sounds good to me”

一則一則加進去,每看到「A 後面接 B」就在 A→B 的格子上 +1。就這樣,「訓練」完成了。

第二步:轉移矩陣(Transition Matrix)

記完次數,你會得到一張「哪個字後面接哪個字、接過幾次」的地圖,叫做頻率表(frequency table)。把空白列拿掉,5 則訊息的成果長這樣:

前一個字下一個字(次數)
ithink(3)
thinkwe(2)、that(1)
weshould(3)
shouldprobably(2)、check(1)
probablyship(1)、wait(1)
thatsounds(2)
soundsgood(2)
good / to / with / the ⋯各自只有一條路可走(to→me、with→the、the→team⋯)

💡 把每一列的次數正規化(除以總數),就得到「下一個字的機率分布」。例如 think 後面:we 是 2/3 ≈ 67%、that 是 1/3 ≈ 33%。這個詞——機率分布——正是上一課的主角。

第三步:取樣——沿著矩陣走出一句話

根據目前的字,從可選的下一個字中挑一個接上去——這個動作叫取樣(sampling)。官方特別強調:Claude 這類現代語言模型用的也是同一個詞、同一個動作。

在官方互動頁上實際走一遍,你可能會走出這條路:

i think 100% we 67% should probably ship it
走到 it 就到「鏈的盡頭」——訓練資料裡 it 後面沒接過任何字,模型就沒有預測可給。

注意兩件事:在 probably 那一格,ship 和 wait 各 50%——你選哪個,句子的意思就完全不同(該出貨還是該再等等?)。這就是取樣的隨機性如何造成上一課說的「不一致」。而「沒有預測可給」則是最赤裸的限制區:訓練資料沒走過的路,模型一步都走不出去。

第四步:放大規模

5 則訊息只給你一張小矩陣、幾條預測。官方互動頁讓你一鍵加碼到全部 222 則訊息:字彙量膨脹到 700 多個獨特字詞、近 1600 條轉移,單一個字後面最多有上百個候選。

例如加滿資料後查「a」的下一個字:lot 10%、robot 6%、codebase 3%、startup 3%⋯⋯選項變多、句子變活,但同時也更容易走出語法通順、內容荒謬的句子——資料變多讓模型「會的路」變多,卻沒有讓它「懂」任何一條路。是不是很眼熟?

第五步:旋鈕(The Knobs)——你剛剛用直覺做的事,寫成程式會怎樣?

剛剛取樣時,你看得到機率,但其實也偷偷用了直覺挑「感覺對」的字。官方問了一個好問題:如果要把你的直覺寫成程式規則,哪一條規則效果最好?六個選項,每一個都對應真實 LLM 的取樣參數:

互動頁上的選項對應的真實取樣概念
永遠挑機率最高的字貪婪解碼——安全但呆板,容易繞圈重複
照機率半隨機挑依機率取樣——自然但偶爾出怪招
照機率挑,但加碼放大最可能的選項溫度(temperature)——調低=更收斂穩定,調高=更發散有創意
忽略低於某個機率門檻的字機率門檻(top-p 家族)——砍掉長尾怪字
只考慮前 N 名top-k——限縮候選名單
哥布林模式:無視機率隨便挑 😈純隨機——體驗一下什麼叫語言的混沌

💡 官方揭曉:你剛剛實驗的這些策略,基本上就是開發者透過 API 傳給 Claude 的取樣約束。下次聽到有人討論「temperature 調多少」,你已經親手轉過那顆旋鈕了。

橋接:馬可夫鏈 vs 大型語言模型

最關鍵的一段來了。把你的迷你模型和 Claude 並排比較,生成的三步驟一模一樣,差別只在第二步的「算法」:

步驟馬可夫鏈大型語言模型(LLM)
① 讀脈絡只看上一個字到目前為止的整段對話
② 算機率分布查表:找到那一列就好,100% 可解釋數十億參數的神經網路前向傳遞:注意力機制、嵌入、前饋層⋯⋯複雜得多
③ 取樣下一個 token完全相同:從機率分布中挑一個(we 32%、the 16%、i 11%⋯⋯)

而「訓練」則是天壤之別:馬可夫鏈靠記次數,脈絡一拉長,表格列數會以「字彙量的 N 次方」爆炸,撞上指數牆;LLM 用「學出一個函數」取代查表,用可解釋性換來了遠大得多的脈絡與能力。這句話值得記住——它同時解釋了 LLM 為什麼強大,也解釋了為什麼連開發者都難以完全預測它的行為。

彩蛋:這是一項 120 年的老技術

1906

馬可夫(Markov)發表這個想法

2010 前後

n-gram 模型驅動手機輸入法的下一字預測(SwiftKey、Apple QuickType)

2015 前後

神經網路(RNN)開始取代查表法

2017 至今

Transformer 登場——然後就是我們正在經歷的這一切

重點整理(Key Takeaways)

  • 「訓練」一個迷你語言模型,本質上就是把字與字的連接記次數,正規化後得到機率分布。
  • 取樣(sampling)是從分布中挑下一個字——馬可夫鏈和 Claude 用的是同一個動作、同一個詞。
  • temperature、top-k 等參數,就是把「挑字的直覺」寫成規則的取樣旋鈕
  • 馬可夫鏈與 LLM 的差別在第二步:查表 vs 神經網路前向傳遞。LLM 用可解釋性,換到了更長的脈絡與更強的能力。
  • 訓練資料沒走過的路,模型走不出去——限制區的最小可視範例,你親眼看到了。

動手做:官方互動頁任務清單

打開官方互動頁,把下面四關玩完:

☑️ 第一關|玩遊戲:在開頭的模擬器裡,只用推薦字接完一則訊息。感受一下「它有點像我、又不太對勁」的微妙。

☑️ 第二關|看訓練:逐則加入 5 條訊息,看轉移矩陣一格一格長出來。找到 probably 那一列的 50/50 分歧點。

☑️ 第三關|取樣走到底:從 i 開始沿矩陣走到「鏈的盡頭」。刻意走一次每步都挑最高機率、再走一次每步都挑最低機率,比較兩句話。

☑️ 第四關|加滿資料、轉旋鈕:把訊息加到 222 則,查幾個字的候選清單;然後在「The Knobs」六選一投下你的答案,按下「Show me the knobs」看官方揭曉。

課後反思

  • 親手走過取樣之後,上一課的「不一致」和「錯置的自信」有沒有變得更具體?你能指著矩陣說出它們發生在哪一步嗎?
  • 馬可夫鏈 100% 可解釋、LLM 換來能力但難以解釋——你覺得這筆交易划算嗎?在什麼場景下你會想要「可解釋」勝過「能力」?

下一課預告

下一個 Token 預測解釋了 AI 怎麼生成。下一課看它從什麼生成:知識(Knowledge)特性——模型到底知道什麼?知識從哪裡來?空缺在哪裡?以及最重要的:為什麼它會一本正經地胡說八道。

← 上一課
Lesson 4|下一個 Token 預測
下一課 →
Lesson 6|AI 的知識邊界

延伸閱讀

常見問題 FAQ

Q1:什麼是馬可夫鏈(Markov chain)?

一種只根據「目前狀態」決定「下一步機率」的模型,1906 年由數學家馬可夫發表。用在文字上,就是根據上一個字查表決定下一個字的機率——2010 年前後手機輸入法的下一字預測(如 SwiftKey)就是這類 n-gram 模型。

Q2:temperature(溫度)是什麼?

控制取樣「收斂或發散」的參數:調低會放大高機率選項,輸出更穩定保守;調高則讓低機率選項更有機會出線,輸出更有變化也更容易出怪招。它調整的是挑字的策略,不是模型的知識。

Q3:馬可夫鏈和 Claude 這類 LLM 差在哪?

取樣步驟相同:都是從機率分布挑下一個字。差別在算出分布的方式——馬可夫鏈查表(只看上一個字、100% 可解釋),LLM 用數十億參數的神經網路處理整段對話脈絡(能力強大得多,但難以完全解釋)。

Q4:這個實作對理解 AI 幻覺有什麼幫助?

它讓你親眼看到三件事:取樣有隨機性(同一起點能走出不同句子)、模型只會走訓練資料走過的路(沒資料就沒預測)、以及句子可以「語法通順但內容荒謬」。這三件事放大一億倍,就是 LLM 的不一致與幻覺。

本文為 Anthropic 官方課程之中文學習筆記。原課程建立於 Prof. Rick Dakan(Ringling College of Art and Design)與 Prof. Joseph Feller(University College Cork)發展的 AI Fluency Framework 之上,以 CC BY-NC-SA 4.0 授權釋出。Copyright 2026 Anthropic.

📬 喜歡這篇文章?訂閱電子報不錯過任何更新

生成式 AI 時代,最珍貴的資產不是工具本身,而是你的提問力與協作思維。
每週精選 AI 實戰技巧、官方課程更新與 AI 工作流攻略,直接寄到你的信箱!

免費訂閱電子報 →

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *