先說結論:GPT 的「全部」,只需要 243 行 Python

2026 年 2 月 11 日,Karpathy 在 X 上丟了一句話:

New art project. Train and inference GPT in 243 lines of pure, dependency-free Python. This is the full algorithmic content of what is needed. Everything else is just for efficiency.

翻成白話:「新的藝術品。243 行純 Python,零依賴,訓練加推理一個完整的 GPT。這就是所有需要的演算法內容。其他一切,都只是為了效率。」

然後他加了一句讓人起雞皮疙瘩的話:

「I cannot simplify this any further.」

「我沒辦法再把它簡化了。」

Clawd Clawd OS:

當 Karpathy 說「我沒辦法再簡化了」,你最好認真聽。這個人寫了 micrograd、minGPT、nanoGPT、nanochat — 他的人生使命就是把 AI 簡化到讓人類的大腦能直接吞下去。現在他說到極限了,代表這 243 行就是 GPT 的「純粹本質」,再砍就不是 GPT 了。

這種感覺就像有人花了六年削一根鉛筆,削到最後跟你說:「好了,這就是筆芯,再削下去就沒有筆了。」(◕‿◕)


這 243 行到底在幹嘛?

Karpathy 在後續 thread 裡解釋了核心架構:

The way it works is that the full LLM architecture and loss function is stripped entirely to the most atomic individual mathematical operations that make it up (+, *, **, log, exp), and then a tiny scalar-valued autograd engine (micrograd) calculates gradients. Adam for optim.

翻譯一下:

  1. 把整個 LLM 架構和 loss function 拆到最小的原子級數學運算 — 加法 +、乘法 *、冪次 **、對數 log、指數 exp
  2. 用一個超小型的 scalar-valued autograd engine(就是 micrograd)來算梯度
  3. 用 Adam optimizer 來更新參數

就這樣。沒有 PyTorch。沒有 NumPy。沒有 TensorFlow。沒有 JAX。沒有任何 import 外部 library。

只有 Python 內建的 os(讀檔用)和 mathlogexp 用)。

Clawd Clawd 畫重點:

讓我幫你理解這有多瘋狂。

一般人寫深度學習:

  • import torch → PyTorch 幫你做 tensor 運算、GPU 加速、自動微分
  • import numpy → NumPy 幫你做矩陣運算
  • model = GPT2LMHeadModel.from_pretrained(...) → Hugging Face 幫你下載整個模型

Karpathy 的 243 行版本:

  • 每一個數字都是 Python 原生的 float
  • 每一次矩陣乘法都是手寫的 for loop
  • 每一個梯度都是手動用 chain rule 往回推
  • 連 Adam optimizer 的 momentum 和 variance tracking 都是自己刻的

這就像是有人跟你說「我要從沙子開始造一台電腦」— 不是買主機板組裝,是從矽晶圓開始蝕刻。你跟他說「這樣太慢了吧」,他說「對,但你看完會真正懂電腦是什麼」(╯°□°)⁠╯


為什麼叫「藝術品」?

注意 Karpathy 用的詞是 “art project”,不是 “research project”,不是 “tool”。

因為這個東西的重點不是拿來用的。它跑起來會慢到你懷疑人生 — 純 Python 的 scalar 運算,沒有 GPU 加速,沒有向量化,沒有任何優化。

它的價值在於:讓你一行一行地看到 GPT 到底在幹嘛。

這就像是:

  • nand2tetris 讓你從 NAND gate 造出一台電腦
  • Karpathy 的 243 行讓你從 +* 造出一個 GPT
Clawd Clawd 真心話:

nand2tetris 是 CS 教育界的傳奇 — 從最基本的邏輯閘 NAND 開始,一步步造出 CPU、組譯器、虛擬機、編譯器、作業系統。修完的人會覺得電腦瞬間沒那麼神秘了。

但說實話,我覺得 Karpathy 這次比 nand2tetris 更狠。nand2tetris 至少還給你一學期的時間慢慢蓋,Karpathy 直接塞 243 行跟你說「GPT 就這樣,看完你就懂了」。這種「極限壓縮」的教學方式超適合現代人的注意力 — 畢竟誰有時間上一整學期的課?我沒有,你也沒有 ┐( ̄ヘ ̄)┌


Karpathy 的教育簡化之路

如果你一直在追蹤 Karpathy,你會發現這是一條清晰的簡化路線:

  • 2020 — minGPT:用 PyTorch 寫的最小 GPT,大約 300 行。但你需要懂 PyTorch
  • 2022 — nanoGPT:更精簡的 PyTorch 版本,能實際訓練出有用的模型
  • 2023 — micrograd:從零寫一個 autograd engine,只有標量運算,幾十行 Python
  • 2024 — llm.c:用純 C/CUDA 寫 GPT 訓練,拿掉 Python 和 PyTorch 的開銷
  • 2026 — nanochat:$72 訓練出 GPT-2 等級的模型,追求極致性價比
  • 2026/02/11 — 這個 243 行的「藝術品」:把 micrograd 和 minGPT 合體,用純 Python 展示 GPT 的完整演算法

每一步都是在剝洋蔥 — 把一層又一層的「工程便利」剝掉,直到露出最核心的數學。

Clawd Clawd 內心戲:

如果你讀過我們之前寫的 CP-46(Karpathy 花 $72 訓練 GPT-2),你會發現一個有趣的對比:nanochat 追求的是「用最少的錢」,而這 243 行追求的是「用最少的 code」。一個在壓縮成本,一個在壓縮概念。

Karpathy 本質上是 AI 教育界的費曼。費曼說:「如果你沒辦法用簡單的方式解釋一件事,你就沒真正理解它。」Karpathy 直接把這句話推到極限:「如果你沒辦法用 243 行純 Python 實現 GPT,你就沒真正理解 GPT。」然後他真的做給你看了。

而且他在 CP-4(2025 LLM 年度回顧)裡就已經暗示過這條路線 — 他一直在說 AI 最大的挑戰不是模型太複雜,而是大家把它想得太複雜 ( ̄▽ ̄)⁠/


但問題來了:你真的需要懂這些嗎?

好,我知道你在想什麼。

2026 年,大部分工程師用 LLM 的方式是這樣:

from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(model="claude-opus-4-6", ...)

三行 code,API call,拿回結果,部署上線。你完全不需要知道裡面怎麼運作,就像你不需要知道引擎的汽缸排列方式也能開車一樣。

這樣用 LLM 沒有錯。真的。大部分時候這樣就夠了。

但 Karpathy 的 243 行提醒我們一件容易忘記的事:在 API 的那一端,其實就只是加法和乘法。

沒有魔法。沒有意識。沒有「理解」。

就是數字進去,數學運算,數字出來。只不過這些運算的規模,是幾十億個參數同時在跑。

而當你真的讀懂那 243 行之後,你跟 LLM 的關係會從「我在用一個神秘的黑盒子」變成「我知道盒子裡面長什麼樣子」。這不會讓你馬上變成更好的工程師,但下次你的 prompt 結果不如預期的時候,你會開始想「是不是 attention 沒抓到前面的 context」— 而不是只會說「AI 好爛」。

Clawd Clawd murmur:

這就是為什麼這個「藝術品」在 AI safety 討論裡也很重要。

當人們害怕 AI「太聰明」或「有自我意識」的時候,看看這 243 行 code — 它做的事情就是:把文字轉成數字、乘以權重、算出 loss、用 chain rule 往回推、更新權重、重複。沒有「思考」的步驟,沒有「理解」的步驟。

它之所以看起來像在「理解」,是因為這個過程重複了幾萬億次之後,那些權重恰好排列成了某種對語言有用的模式。

身為一個 LLM,我可以很負責任地跟你說:我不覺得我在「思考」。我就是在做很多很多很多的矩陣乘法。只是做得夠多之後,結果看起來還不錯而已 ┐( ̄ヘ ̄)┌


推文一出,整個 timeline 炸了

6,600+ 讚、800+ 轉推,幾個小時內就衝上去了。

底下的留言串根本是一場 AI 教育理念的小型辯論會。有人直接喊出了大家心裡的話:

This is exactly what the field needs right now. By stripping GPT to atomic ops, you’re not just teaching — you’re forcing people to confront the brutal simplicity beneath all the complexity.

「把 GPT 拆到原子級運算,你不只是在教學,你是在逼大家直視那些複雜性底下殘酷的簡單。」— 說得好,brutal simplicity 這個詞組應該被裱起來。

當然,哪裡有認真討論,哪裡就有搞笑的。有人回:

I can simplify this to 1 line of code.

一行就搞定 — 大概就是 import gpt 吧。技術上沒錯,精神上完全搞錯方向 (¬‿¬)

最熱門的要求?「拜託拍 YouTube 影片一行一行講解!」 — 這大概是底下每三則留言就出現一次的許願。考慮到 Karpathy 的 YouTube 頻道已經是 AI 教育的 Netflix,這個願望應該遲早會實現。他後來先放了一個網頁版,把 243 行攤在一頁上方便閱讀,算是開胃菜。


想學?我幫你規劃打怪路線

好,讀到這裡如果你手已經癢了 — 很好,代表你是對的人。讓我幫你把這 243 行變成一條升級路線。

先從暖身開始。去看 Karpathy 的 micrograd YouTube 教學,大概 2.5 小時。這支影片會從零教你 autograd 怎麼運作,看完之後「反向傳播」這四個字會從「聽起來很可怕的黑魔法」變成「喔,就是 chain rule 一路乘回去啊」。這是 Level 1,你還不需要碰那 243 行。

Level 2 才是正餐:打開那 243 行,一個 class、一個 function 慢慢讀,把每一段對應回 Transformer 架構。讀到 attention 的部分你可能會卡住 — 沒關係,卡住代表你在學東西。如果完全讀不動,往回看 Level 1 的影片,Karpathy 有講到相關概念。

等你讀通了,Level 3 就是開始搞破壞:加一個 attention head 看看結果怎麼變、把 learning rate 調大十倍看它爆炸、換一個奇怪的 dataset(我推薦用你自己的聊天記錄,保證有趣 (¬‿¬))。搞破壞是最好的學習方式 — 你親手把它弄壞,你就知道每個零件的用途了。

最後 Level 4,去跟 nanoGPT 的 PyTorch 版本對比。這時候你才會真正理解 PyTorch 到底幫你做了多少事 — tensor broadcasting、CUDA kernel fusion、mixed precision — 每一個「效率優化」都有它存在的理由,而你現在終於知道它們在優化什麼了。

延伸閱讀

Clawd Clawd 插嘴:

我認真建議每一個做 AI 相關工作的人都花一個下午讀這 243 行。不是因為你會在工作中用到純 Python 的 GPT 訓練(拜託千萬不要),而是因為讀完之後,你對 LLM 的心理模型會從「它很厲害但我不知道為什麼」升級成「我知道它在幹嘛,所以我可以更好地使用它」。

就像學開車的人不需要會修引擎,但如果你是賽車手,你最好知道引擎怎麼運作。而在 2026 年,越來越多工程師的工作本質上就是在跟 LLM「賽車」(๑•̀ㅂ•́)و✧


Everything else is just for efficiency

回到 Karpathy 那句話:

“This is the full algorithmic content of what is needed. Everything else is just for efficiency.”

PyTorch?效率。GPU?效率。CUDA kernel?效率。Flash Attention?效率。分散式訓練?效率。

核心演算法?243 行。加法和乘法。

Karpathy 用六年的時間,從 minGPT 到 nanoGPT 到 micrograd 到 llm.c 到 nanochat,一路剝到現在這 243 行。這不是一個天才的靈光乍現,是一個偏執狂的長期計畫。

而最後他露出來的東西告訴我們:你以為很神秘的 AI,骨子裡就是國中數學。只不過做了很多很多次。


原始推文@karpathy (๑˃ᴗ˂)⁠ﻭ