點擊上方「圖靈人工智慧」,選擇「星標」公眾號
您想知道的人工智慧乾貨,第一時間送達
轉自AI-lab學習筆記,僅用於學術分享,如有侵權留言刪除
1913 年,俄國數學家馬爾可夫翻開普希金的《葉甫蓋尼·奧涅金》,開始數字母裡的元音和輔音。他不是在做文學研究,而是在拆掉一個舊世界:下一個符號不是憑空出現的,它被前一個狀態牽引。一個多世紀後,大型語言模型(LLM)被訓練去預測下一個 token,AI 代理人(Agent)被訓練去選擇下一步行動。這個目標看似無聊,卻把語言、知識、推理和行動都壓進了一個極其稠密的監督訊號裡。馬爾可夫沒有想到 ChatGPT,但他留下了現代 AI 最小的一條語法:狀態、轉移、下一步。
一個數學家翻開了詩集
1913 年,聖彼得堡。
一個 57 歲的俄國數學家翻開普希金的《葉甫蓋尼·奧涅金》。
他不是來讀詩的。
他拿起筆,開始數字母。
這個字母是元音,記下來。下一個是輔音,記下來。再下一個是輔音,再下一個是元音。他一路數了兩萬多個字母,最後得到一串看起來毫無詩意的符號:
元音、輔音、輔音、元音、輔音、元音、元音、輔音……
如果旁邊有人看見,大概會覺得這個人瘋了。
世界上最偉大的俄語詩歌之一,到了他手裡,變成了一串 V 和 C。
但他真正關心的不是普希金。
他關心一個更深的問題:
下一個符號,和前一個符號有沒有關係?
在那之前,機率論最熟悉的是拋硬幣、擲骰子、抽球。這些問題有一個共同假設:每一次試驗彼此獨立。前一次硬幣是正面,不會改變下一次硬幣的機率。
但語言不是這樣。
如果你剛看到一個輔音,下一個字母是元音的機率會變高。如果你剛看到一個元音,下一個字母還是元音的機率可能會變低。字母不是孤立地出現,它們互相牽引。
這位數學家叫安德烈·馬爾可夫。
他沒有想到,一百多年後,人類會造出一種機器,每一步都在做類似的事:
看見前面的序列,預測下一個 token。
更沒有想到,再往後一步,這個機器會開始使用工具、修改程式碼、瀏覽網頁、執行命令。
從預測下一個字母,到預測下一個詞。
從預測下一個詞,到預測下一步行動。
馬爾可夫沒有發明大型語言模型,也沒有發明代理人(Agent)。
但現代 AI 的很多地方,都有他的幽靈。
一、舊世界:每一次都互不相干
先想一枚硬幣。
你拋十次,前九次都是正面。第十次是正面的機率是多少?
還是 50%。
這就是獨立事件。
過去發生了什麼,不影響下一次。
拋硬幣:
P(第 10 次 = 正面 | 前 9 次都是正面) = 50%
P(第 10 次 = 正面) = 50%
過去沒有改變未來。
獨立性很美。
因為它讓世界變得容易計算。每一次試驗都像重新開始,過去不用背在身上。機率論早期的大量定理,都建立在這種乾淨的假設上。
但真實世界很少這麼乾淨。
今天下雨,明天下雨的機率會變高。
你剛說出「我愛」,下一個詞是「你」的機率會變高。
股市今天暴跌,明天開盤的情緒不會像什麼都沒發生過一樣。
一個程式剛剛編譯失敗,下一步最合理的行動不是「繼續寫新功能」,而是「讀取錯誤日誌」。
真實世界不是一枚硬幣。
真實世界有記憶。
馬爾可夫的革命,就從這裡開始。
他問的不是「未來是否完全由過去決定」。那是宿命論的問題。
他問的是一個更數學、更可計算的問題:
未來是否可以只透過某個「當前狀態」來預測?
這句話聽起來樸素,但它改變了機率論的方向。
二、馬爾可夫鏈:把過去壓進現在
馬爾可夫鏈的核心,只有一句話:
下一步只依賴當前狀態,而不直接依賴更早的歷史。
寫成公式是:
P(X_{t+1} | X_t, X_{t-1}, X_{t-2}, ...) = P(X_{t+1} | X_t)
換個說法:
只要你知道「現在在哪裡」,就不需要把整條歷史都背下來。
這不是說過去不重要。
過去當然重要。
只是過去的影響,已經被「當前狀態」吸收了。
想像你在導航。
你從家裡出發,經過三條路,繞過兩個紅綠燈,最後站在一個路口。現在你要決定下一步往哪走。
對導航來說,最重要的不是你剛才怎麼繞來的,而是:
你現在在哪個路口?
你面朝哪個方向?
每條路通向哪裡?
你的歷史,已經被壓縮進了「當前位置」。
這就是馬爾可夫性的直覺。
歷史很長:
家 → 小區門口 → 地鐵站 → 商場 → 路口 A
壓縮成狀態:
當前狀態 = 路口 A
下一步:
P(左轉 | 路口 A)
P(右轉 | 路口 A)
P(直行 | 路口 A)
馬爾可夫鏈由兩樣東西組成:
| 組件 | 含義 | 例子 |
|---|---|---|
| 狀態 | 你現在在哪裡 | 晴天、雨天;字母 A;網頁頁面;程式碼倉庫當前狀態 |
| 轉移機率 | 從一個狀態走到下一個狀態的機率 | 晴天到雨天 20%;A 後面接 B 5% |
這就是最小的序列世界:
狀態 → 狀態 → 狀態 → 狀態
| | | |
轉移 轉移 轉移 轉移
如果夏農(Shannon)問的是「這串符號有多少資訊」,貝氏(Bayes)問的是「看到證據後信念如何更新」,那麼馬爾可夫問的是:
站在現在,下一步最可能是什麼?
這就是語言模型的原始問題。
三、語言是一條馬爾可夫河流
你讀到這半句話:
今天天氣很
下一個詞可能是什麼?
好
熱
冷
糟糕
不錯
你不會猜「量子」「番茄」「檔案系統」。
因為前面的詞已經把機率分布收窄了。
語言不是隨機詞袋。語言是一條有方向的河。
一個詞推著下一個詞,一個句子推著下一個句子。
早期語言模型就是這麼做的。
最簡單的是雙詞組(bigram):
P(下一個詞 | 當前詞)
比如:
P("你" | "我愛") 很高
P("番茄" | "我愛") 也可能
P("張量並行" | "我愛") 很低
更進一步是三詞組(trigram):
P(下一個詞 | 前兩個詞)
再進一步是 n-gram:
P(下一個詞 | 前 n-1 個詞)
這就是早期自然語言處理的核心工具。
它非常馬爾可夫:
只看有限窗口內的歷史。
用這個窗口預測下一步。
它的問題也很明顯。
窗口太短,記不住遠處的資訊。
小明昨天把那本借來的、封面已經褪色的、夾著一張舊車票的書放在桌上。
今天早上,他發現它不見了。
「它」指什麼?
指「書」。
但「書」離「它」很遠。一個短窗口 n-gram 很可能已經忘了。
窗口拉長呢?
狀態數量爆炸。
詞表大小 = 100,000
雙詞組狀態:100,000
三詞組狀態:100,000^2
10-gram 狀態:100,000^9
這就是馬爾可夫鏈在語言上的第一道牆:
狀態太薄,會忘。狀態太厚,會爆炸。
後來的深度學習,本質上一直在解決這個問題。
循環神經網路(RNN)試圖把歷史壓進一個隱藏狀態。
長短期記憶網路(LSTM)給這個隱藏狀態加上門控,避免太快遺忘。
Transformer 則乾脆把一段很長的歷史攤開,用注意力機制(Attention)讓每個位置都能回頭看。
它們都在做同一件事:
把過去壓縮成一個足夠有用的現在。
這句話,就是馬爾可夫幽靈第一次真正顯形的地方。
四、為什麼不是預測下一句話?
這裡有一個非常自然的疑問。
既然人類說話時不是一個 token 一個 token 地想,為什麼訓練 AI 時要預測下一個 token?
為什麼不是預測下一句話?
甚至更進一步:
為什麼不是直接預測一個完整答案、一個完整計劃、一個完整結論?
如果我不站在今天回看,而是從零開始設計一種 AI,我大概率也不會第一時間想到「預測下一個 token」。
我會先想:
機器需要儲備知識。
機器需要記錄當前狀態。
機器需要有推理規則。
機器需要能計算、推演、預測。
機器需要知道自己不知道什麼。
這些想法都對。
但它們會立刻遇到一個更難的問題:
這些東西怎麼表示?
知識庫怎麼切?
狀態變數怎麼定義?
規則由誰來寫?
推理何時開始,又何時停止?
世界太大了。
你越是想從上帝視角設計智慧,越容易卡在「先把世界建模清楚」這一步。
而 next-token prediction 的聰明之處,恰恰在於它沒有一上來要求我們顯式設計整個智慧。
它把問題縮小到一個極小的動作:
給定前面的文本,下一個 token 是什麼?
這個動作小到幾乎無聊。
但它有三個工程上的優點。
第一,它的監督訊號極其稠密。
一段一千個 token 的文本,不只是一條訓練樣本,而是大約一千道小題。
看到第 1 個 token,預測第 2 個。
看到前 2 個 token,預測第 3 個。
看到前 999 個 token,預測第 1000 個。
如果改成「預測下一句話」,監督訊號一下子變稀疏了。
一句話可能有很多同樣合理的寫法。
它的邊界也不穩定:到哪裡算一句?下一句要多長?是回答、解釋、反問,還是沉默?
第二,token 是可組合的。
一句話不是一個原子。
它是一條軌跡。
我 → 認為 → 這個 → 問題 → 的 → 關鍵 → 是 → 狀態
每一步都在限制下一步。
每一步也都在暴露模型是否真的理解了前面的狀態。
預測下一句話不是錯。
它只是把整條軌跡的中間步驟都藏起來了。
第三,小步預測可以被反覆糾錯。
訓練時,模型每一步都會得到回饋。
真實 token 出現時,如果模型給它的機率很低,就會被交叉熵懲罰。
這意味著它不是只在文章結束時才知道自己錯了。
它在每一個位置都被追問:
你真的知道現在發生了什麼嗎?
所以,預測下一個 token 不是目標很小。
而是監督訊號極其稠密。
它不是把智慧簡化成一個玩具問題。
它是把一個太大的問題,拆成無數個可學習的小步。
下棋也是這樣。
如果你訓練一個模型預測棋譜裡的下一手,它表面上看來只是在猜一個落子。
但要猜得足夠好,它必須理解局面、威脅、先手、後手、形勢、長期收益。
下一手不是全部智慧。
但下一手是智慧在棋盤上露出的最小切面。
下一個 token 也是一樣。
它不是語言的全部。
但它是語言智慧在文本裡露出的最小切面。
五、一個無聊目標如何逼出智慧?
真正深的地方在這裡:
下一個 token 本身沒有魔法。
魔法在於,人類把大量智能活動的痕跡都寫成了文本。
小說是情感和關係的壓縮。
論文是概念和證據的壓縮。
程式碼是操作和規則的壓縮。
教材是知識結構的壓縮。
聊天記錄是意圖、禮貌、誤解、協商的壓縮。
網際網路不是一個乾淨的真理庫。
但它是一座巨大的行為遺跡。
當模型被要求預測這些文本裡的下一個 token,它其實是在被迫追問:
什麼樣的世界,會生成這樣的句子?
什麼樣的知識,會讓這個詞更可能出現?
什麼樣的推理,會讓下一步走到這裡?
什麼樣的語氣,會讓這個回答顯得自然?
什麼樣的程式碼狀態,會讓這一行之後接那一行?
比如:
法國的首都是 ___
要預測「巴黎」,它需要知識。
如果 A 大於 B,B 大於 C,那麼 A 和 C 的關係是 ___
要預測「大於」,它需要推理。
def factorial(n):
if n == 0:
return 1
return ___
要預測 n * factorial(n - 1),它需要程式碼模式和遞迴結構。
使用者說:這段話太衝了,幫我改委婉一點。
助手回答:___
要接得好,它需要理解意圖、語氣和社會情境。
這就是為什麼一個看似無聊的目標,會逼出看起來很複雜的能力。
不是因為「預測下一個詞」天然等於「理解世界」。
而是因為在真實語料裡,下一個詞經常是許多隱藏變數共同作用的結果。
語法、事實、因果、角色、目標、風格、上下文、任務限制,都在推著那個詞出現。
模型想降低損失,就必須學會把這些隱藏變數壓進狀態裡。
它不一定像人一樣理解。
它也不一定可靠。
但從最佳化目標上看,它確實被迫學習了很多「如果不學就預測不好」的結構。
這也解釋了為什麼我們不該輕視 next-token prediction。
它不是一句口號。
它是一種把智慧設計問題轉化為表徵學習問題的辦法:
不要先手寫知識結構。
先給模型一個極稠密的序列預測任務。
讓它自己發現什麼應該被壓縮進當前狀態。
這就是現代 AI 最反直覺的地方。
我們以為智慧應該從「知識庫、規則、推理引擎」開始。
結果它先從一個小得不能再小的問題開始:
下一個符號是什麼?
然後,在足夠大的數據、足夠大的模型、足夠長的訓練裡,這個小問題開始反過來吞掉大問題。
六、文獻裡早就埋下了這條線
這條線並不是今天才被事後解釋出來的。
很多文獻都在不同位置留下了線索。
馬爾可夫在 1913 年研究《葉甫蓋尼·奧涅金》時,做的不是現代自然語言處理(NLP)。
但他已經把「文本不是獨立符號堆」這件事擺到了數學桌面上。
下一個字母會被前一個狀態影響。
語言可以被看成一個有依賴關係的隨機過程。
夏農在 1948 年寫《通訊的數學理論》時,也用了類似思想。
他讓讀者看零階、一階、二階乃至更高階的英文近似。
階數越高,生成出來的文本越像英文。
這件事很重要。
它說明「像語言」這件事,可以從局部條件機率裡逐步長出來。
後來,n-gram 語言模型直接把這件事工程化:
用前 n-1 個詞,預測下一個詞。
這就是語言模型早期最標準的形態之一。
Bengio 等人在 2003 年提出神經機率語言模型時,指出傳統 n-gram 會遇到維度災難。
他們的辦法不是放棄「預測詞序列機率」這個問題,而是用神經網路學習詞的分散式表示,讓相似上下文之間能夠泛化。
再往後,GPT-2 把事情說得更直白:
大模型用一個簡單目標訓練:
給定前面的詞,預測下一個詞。
然後在大量網頁文本上,這個目標裡自然包含了問答、翻譯、摘要、閱讀理解等任務的「自然示範」。
GPT-3 又進一步展示,擴大模型和數據以後,少樣本能力會明顯增強。
這不是說論文作者早就把今天的一切都預言出來了。
更準確地說,他們一層一層證明了同一件事:
序列預測不是邊角料,它是通向語言智慧的一條主幹道。
到了代理人(Agent)這裡,另一條文獻線也接上了。
強化學習裡的馬爾可夫決策過程(MDP)/部分可觀測馬爾可夫決策過程(POMDP)關心的不是下一個詞,而是:
在當前狀態下,採取什麼行動,會把系統帶向更好的未來?
於是,語言模型這條線和強化學習這條線,在代理人(Agent)上碰頭了。
一個負責從文本裡學會世界的影子。
一個負責在世界裡選擇下一步行動。
這就是馬爾可夫思想在 AI 裡的真正影響。
它沒有只留下一個「馬爾可夫鏈」的公式。
它留下了一種看世界的方式:
不要先問全部歷史是什麼。先問當前狀態夠不夠好,以及下一步應該是什麼。
七、LLM 是不是馬爾可夫鏈?
這個問題很容易回答錯。
如果你說:
「LLM 就是馬爾可夫鏈。」
不準確。
因為普通的一階馬爾可夫鏈只看當前 token:
P(x_t | x_{t-1})
而 LLM 看的是整個上下文:
P(x_t | x_1, x_2, ..., x_{t-1})
它不是只看前一個詞。
所以它不是傳統意義上的「一階詞級馬爾可夫鏈」。
但如果你說:
「LLM 和馬爾可夫沒有關係。」
也不準確。
LLM 的生成方式,本質上仍然是一步一步的條件機率分解:
P(x_1, x_2, ..., x_T) = \prod_{t=1}^{T} P(x_t | x_{<t})
或者說:
整段文本的機率
= 第一個詞的機率
× 第二個詞在第一個詞之後的機率
× 第三個詞在前兩個詞之後的機率
× ...
LLM 每一步都在問:
基於目前已經生成的一切,下一個 token 應該是什麼?
這和馬爾可夫精神高度一致。
關鍵區別在於:「當前狀態」變複雜了。
對一階馬爾可夫鏈來說:
當前狀態 = 上一個詞
對 n-gram 來說:
當前狀態 = 前 n-1 個詞
對 Transformer 來說:
當前狀態 = 整個上下文經過注意力機制壓縮後的隱藏表示
再工程一點:
當前狀態 = tokens + position + residual stream + KV cache
這才是重點。
LLM 並沒有擺脫「狀態 → 下一步」的框架。
它只是把「狀態」做得巨大、連續、可學習。
一階馬爾可夫鏈的狀態像一個路牌。
LLM 的狀態像一張會自己摺疊的地圖。
前者只告訴你「你站在哪個點」。
後者把你到目前為止走過的路、路上的標記、任務目標、語氣、隱含規則,全都壓進一個高維空間裡。
然後問:
下一步往哪裡走?
這就是為什麼我說,馬爾可夫的幽靈仍在 LLM 裡。
它不再是簡陋的轉移矩陣。
它變成了一個會學習狀態表示的巨型機器。
八、從下一個詞,到下一步行動
如果故事到 LLM 為止,馬爾可夫已經很重要了。
但真正有意思的是代理人(Agent)。
因為代理人(Agent)不只是預測下一個詞。
它要預測下一步行動。
一個代理人(Agent)的迴圈,通常長這樣:
觀察環境
↓
更新上下文
↓
思考下一步
↓
調用工具 / 寫檔案 / 執行命令
↓
得到新結果
↓
繼續
這不就是馬爾可夫鏈嗎?
差一點。
更準確地說,它像一個馬爾可夫決策過程(MDP)。
普通馬爾可夫鏈只有狀態轉移:
狀態 → 狀態
MDP 多了兩個東西:行動和獎勵。
狀態 + 行動 → 新狀態 + 獎勵
用一張表看清楚:
| MDP 組件 | 代理人(Agent)裡的對應物 |
|---|---|
| 狀態 State | 當前上下文、檔案內容、工具回傳結果、任務目標 |
| 行動 Action | 調用工具、搜尋、編輯檔案、執行測試、回覆使用者 |
| 轉移 Transition | 行動之後環境如何變化 |
| 獎勵 Reward | 任務是否完成、測試是否通過、使用者是否滿意 |
| 策略 Policy | 代理人(Agent)選擇下一步行動的規則 |
嚴格說,真實代理人(Agent)往往看不到完整的世界狀態。
它只看到一部分觀察結果:終端機輸出、網頁片段、檔案內容、工具回傳、使用者新指令。真正的世界比它看到的更大。
所以工程上更準確的模型,是部分可觀測馬爾可夫決策過程(POMDP)。
但直覺沒有變:
觀察結果 → 更新信念狀態 → 選擇下一步行動
代理人(Agent)的上下文,就是它對「當前世界」的信念狀態。
所以代理人(Agent)的核心問題不是:
下一個 token 是什麼?
而是:
在當前狀態下,下一步做什麼最有可能推進目標?
這就是從語言模型到行動模型的轉變。
LLM 預測的是文本序列。
代理人(Agent)預測的是行動序列。
LLM:
文本狀態 → 下一個 token → 新文本狀態
代理人(Agent):
世界狀態 → 下一個 action → 新世界狀態
這也是為什麼強化學習會自然出現。
因為一旦你有了「行動」,就必須面對「好行動」和「壞行動」的區別。
一句話接得通順,不代表工具調用正確。
一個計畫看起來漂亮,不代表執行後不會刪錯檔案。
一個網頁瀏覽動作看起來合理,不代表它真的找到關鍵證據。
代理人(Agent)不是在紙面上寫句子。
代理人(Agent)在改變環境。
一旦你改變環境,世界就會回你一巴掌,或者給你一個獎勵。
這就是 MDP 的世界。
九、Claude Code 為什麼像一個馬爾可夫系統
拿 Claude Code 這種 coding agent 來看,馬爾可夫味道更明顯。
當它接到一個任務,比如:
修復這個測試失敗的問題。
它不會直接憑空寫答案。
它會一輪一輪推進狀態:
狀態 1:只曉得使用者的問題
行動 1:讀取測試輸出
狀態 2:知道哪個測試失敗
行動 2:搜尋相關程式碼
狀態 3:知道失敗程式碼路徑
行動 3:打開檔案
狀態 4:知道實作細節
行動 4:修改程式碼
狀態 5:程式碼已變更
行動 5:執行測試
狀態 6:測試通過 / 失敗
行動 6:繼續修復或總結
每一步的行動,都依賴當前狀態。
而當前狀態,不只是聊天記錄。
它包含:
使用者目標
程式碼倉庫結構
已讀檔案
命令輸出
測試結果
工具權限
尚未解決的問題
已經做過的修改
這就是一個高維狀態。
Claude Code 做得好的地方,不是「會寫程式碼」這四個字。
更準確地說,是它能在一個不斷變化的狀態空間裡,反覆選擇下一步行動。
這和傳統 IDE 自動補全不同。
自動補全只問:
下一行程式碼可能是什麼?
Coding agent 問的是:
為了完成這個目標,我下一步應該看哪裡、改哪裡、跑什麼、驗證什麼?
這就是從 token prediction 到 action prediction 的躍遷。
馬爾可夫鏈的影子還在。
只是「狀態」從一個字母,變成了整個程式碼庫和任務上下文。
「轉移」從一個符號接另一個符號,變成了讀檔案、改程式碼、執行測試。
「機率」從一張小小的轉移表,變成了一個大模型在高維空間裡的判斷。
十、馬爾可夫性的陷阱
到這裡,馬爾可夫看起來像萬能鑰匙。
但它也有陷阱。
陷阱在那句話裡:
下一步只依賴當前狀態。
問題是:
你的當前狀態夠不夠?
如果狀態太薄,你會忘掉關鍵歷史。
比如一個客服代理人(Agent),只把使用者最後一句話當狀態:
使用者:那就按剛才那個方案吧。
如果它忘了「剛才那個方案」是什麼,它就完了。
如果狀態太厚,你又會算不動。
把整個網際網路、整個程式碼庫、所有歷史對話、所有工具輸出都塞進狀態,理論上當然最好。
但上下文窗口、注意力成本、檢索品質、雜訊干擾,會一起把你拖垮。
所以現代 AI 系統真正難的地方,是狀態設計。
哪些歷史必須保留?
哪些可以壓縮?
哪些應該檢索?
哪些必須遺忘?
哪些要寫進長期記憶?
哪些只放在當前上下文?
這就是為什麼檢索增強生成(RAG)、記憶(Memory)、上下文工程(Context Engineering)、代理人狀態(Agent State)這些概念變得重要。
現在流行的 OpenClaw 這類個人代理人(Agent),以及 OpenAI Agents SDK 裡強調的 model-native harness,也是在回答同一個問題。
表面上看來,它們是在加工具、加瀏覽器、加終端機、加檔案系統、加長期記憶、加權限邊界。
更底層地看,它們是在構造一個模型每一步都能看見、能操作、能被約束的世界。
也就是在問:
下一步行動發生之前,系統應該把什麼交給模型?
它們都在圍繞同一個問題打轉:
怎樣構造一個足夠好的「現在」,讓模型能做出正確的下一步?
這句話比「提示詞怎麼寫」更底層。
提示詞只是狀態的一部分。
工具回傳是狀態的一部分。
檔案系統是狀態的一部分。
使用者目標是狀態的一部分。
歷史決策也是狀態的一部分。
代理人(Agent)工程的核心,不是把 while 迴圈寫出來。
while 迴圈很簡單。
難的是每一輪迴圈開始時,模型手裡拿到的「當前狀態」到底長什麼樣。
十一、三條暗線終於接上了
現在,把我們前面寫過的幾條線放在一起。
夏農說:
理解就是壓縮。
貝氏說:
學習就是更新信念。
馬爾可夫說:
智慧體總要站在現在預測下一步。
這三句話合在一起,就是 LLM 和代理人(Agent)的骨架。
夏農:
把歷史壓縮成結構。
貝氏:
看到新證據後更新分佈。
馬爾可夫:
基於當前狀態選擇下一步。
LLM 生成文本時,這三件事同時發生:
上下文被壓縮成隱藏表示 ← 夏農
下一個 token 分佈被更新 ← 貝氏
模型從當前狀態走向下一步 ← 馬爾可夫
代理人(Agent)行動時,也是這三件事同時發生:
環境資訊被壓縮成上下文 ← 夏農
工具結果更新任務信念 ← 貝氏
下一步行動從當前狀態選出 ← 馬爾可夫
所以馬爾可夫不是一篇「機率論科普」的孤立主題。
它是我們整個 AI 理解框架裡的第三根柱子。
夏農給了我們「資訊」的眼睛。
貝氏給了我們「學習」的眼睛。
馬爾可夫給了我們「過程」的眼睛。
沒有馬爾可夫,我們很難理解為什麼「預測下一個詞」能長出語言能力。
也很難理解為什麼代理人(Agent)的本質不是一組工具,而是一條不斷展開的行動軌跡。
十二、他沒有想到的事
讓我們回到普希金。
馬爾可夫數字母裡的元音和輔音的時候,關心的是機率論裡一個很技術的問題:
獨立性假設能不能被放寬?
他要證明的是:即使變數之間有依賴,某些極限定理仍然成立。
這聽起來很窄。
窄到幾乎不像一個會改變世界的問題。
但很多偉大的思想,剛出現時都是這樣。
夏農一開始在解決電話線怎麼傳訊號。
貝氏一開始在解決一個機率論遺稿裡的反問題。
馬爾可夫一開始在數字母:普希金詩句裡的元音和輔音。
他們都沒有在「發明 AI」。
但他們都給了 AI 一塊地基。
馬爾可夫留下的那塊地基,可以濃縮成六個字:
狀態決定下一步。
當然,這句話必須小心理解。
不是說命運已經寫好。
不是說未來沒有自由。
而是說:如果你想讓機器在時間中行動,你必須給它一個狀態,讓它能從這個狀態推出下一步。
這就是從文本補全到程式碼代理人(Agent)、從聊天機器人到自動駕駛、從遊戲 AI 到機器人控制都繞不開的東西。
智慧不是靜態的。
智慧總是在時間裡展開。
而只要智慧在時間裡展開,馬爾可夫的幽靈就在那裡。
他站在每一個「下一步」背後。
本文涉及的社群平台文章
- 《Shannon 沒有想到的事——當資訊理論遇上有限算力》
- 《貝氏沒有想到的事——一個牧師的賭博公式,如何成為 AI 的第一原理》
- 《DeepSeek-R1:一個模型如何學會「思考」》
- 《LLM 中的機率論:從擲骰子到生成文本》
主要參考與延伸
- A. A. Markov, Extension of the limit theorems of probability theory to a sum of variables connected in a chain, 1906
- A. A. Markov, An Example of Statistical Investigation of the Text Eugene Onegin Concerning the Connection of Samples in Chains, 1913
- Claude Shannon, A Mathematical Theory of Communication, 1948
- Richard Bellman, Dynamic Programming, 1957
- Daniel Jurafsky and James H. Martin, Speech and Language Processing
- Yoshua Bengio, Réjean Ducharme, Pascal Vincent, Christian Jauvin, A Neural Probabilistic Language Model, 2003
- Andrej Karpathy, The Unreasonable Effectiveness of Recurrent Neural Networks, 2015
- OpenAI, Better Language Models and Their Implications, 2019
- OpenAI, Language Models are Few-Shot Learners, 2020
- Richard Sutton and Andrew Barto, Reinforcement Learning: An Introduction, 2nd edition, 2018
- OpenClaw, Memory
- OpenAI, The next evolution of the Agents SDK, 2026
文章精選:
1.程式設計時代已終結!ClaudeCode 創辦人斷言:寫程式就像發簡訊一樣自然,首曝個人最新工作流程:自創 Sloop 迴圈,單日 PR 達 150!傳統 SaaS 護城河崩潰
2.HTML 死了!前 OpenAI 工程師掀起網頁革命:用 AI 將整個畫面變成無限直播像素串流,無一行 html 程式碼,網友:傳統 Web 開發結束,前端真要失業了!
3.諾獎得主 DeepMind 掌門人最新訪談側記:AI 創業者護城河?AGI 只差 1-2 個關鍵想法,最缺的不是算力,是這個
4.GPT 之父把 AI 扔回 1930 年:沒見過一行程式碼,卻「發明」了 Python!
5.圖靈獎得主查爾斯·巴赫曼:他在數據未成海時,便為人工智慧修好了岸
6.圖靈獎得主理查·薩頓(Richard Sutton)最新演講:大型語言模型只是一時狂熱,AI 的真正時代還沒開始
7.圖靈獎得主 Bengio 預言 o1 無法抵達 AGI!Nature 權威解讀 AI 智慧驚人進化,終極邊界就在眼前
8.圖靈獎得主、強化學習之父 Rich Sutton:大型語言模型是一個錯誤的起點