跳至內容

從零開始學 AI 工程:
一份公開的學習宣告

會用 AI,卻不算真的懂。所以我決定從頭學一次 AI 工程,503 課,全程公開,用中文重講一遍。

過去這段時間,我一直在用 AI 把東西做出來:

  • 這個網站,你現在看的這個地方,就是我用 AI 架的。
  • 我也透過工作流程的訪談,幫幾個朋友的小公司做了簡易的 CRM 跟排程系統,順手把他們散在各處、對不起來的營運數字收攏成一個統一的視覺化介面,讓他們打開就看得懂自己的生意這週在發生什麼和提效。
  • 做出自己的小Agent,擁有自己的獨立工作介面及系統,嘗試獨立打造多智能體系統

這些全是 AI Vibe code出來。老實說心裡還是很不踏實。 隨著AI建造出來的東西開始複雜以及更深入這領域,有時候會和自己身邊工程師朋友聊聊,遠遠看見自己在這方面的不足。 做出來的東西當個小工具使用倒還行,但是一旦規模大起來又或是要進入複雜的程度, 那還真不是一般人摸一摸AI就能抵達得到的。

AI科技的力量,不禁令人驚嘆。 當世界適應AI介入後,人類需要理解事物的認知層次需要提高、使用技術的邏輯也得轉變 我不太甘心一直當個傻呆萌AI使用者。所以我想給自己找點麻煩:從頭認真跑一次扎實的底,要硬幹到完。

我決定做一件事

從最底層的數學開始,自己手推、自己寫程式、把每個環節都搞到懂為止。 教材選字開源課程 AI Engineering from Scratch,由 Rohit Ghumare 和一群貢獻者維護。

它課程首頁有一句話: 你學的那些知識碎片很少能對得起來,你做得出一個聊天機器人,卻解釋不了它的損失曲線為什麼長那樣。

確實點到了我,覺得做很多東西心裡多數是浮浮的。 做出來發現自己有太多不知道自己不知道什麼了,那現今時代有AI學習是多麽便利 好啊我就小白從零跟到尾,試試看,起碼相對深度的理解LLM和相關應用,只有益處吧。

這套Github內容

  • 503 堂課,分成 20 個階段,從線性代數的基礎,一路推到自主式的 swarm(群體智能)系統。
  • 每一課節奏都一樣:定義問題、推導數學、寫程式、測試、把成果存下來。
  • 順序是先數學、後框架。它不會一上來就給你 PyTorch,會先要你自己算過一遍。
  • 支援 Python、TypeScript、Rust、Julia 四種語言。
  • 完全免費、開源(MIT 授權),在 GitHub 上。不用註冊,也不綁雲端,一台自己的電腦就能跑完。

釐清目標及規劃

我同時也想釐清我的方向 從頭訓一個基礎模型、CUDA、分佈式訓練那些底層工程,倒不是我真正興趣之處。

我比較有興趣在應用面向,目標大致如下

  • AI 應用的能力:能自己端到端做出一個 LLM 產品—prompt、RAG、agent、evaluation、成本延遲、上線監控,一整套通吃。
  • 企業導入、建立AI-Native組織的能力:能坐進需求端現場,理解溝通他們的業務、看懂他們的資料,把 AI 變成組織裡日常會用的東西。
  • 真正意義上的成為超級個體:具備一個人到一個新領域能同時駕馭數十個以上的智能體

課表權重

坦白說,就AI應用範疇,這門課程對我來說過深,但我樂於學習我也希望拓展自己的廣度跟深度, 因此這503 課,打算先幫自己排出輕重,不然我一定會被淹沒去。

我把這張表寫在這裡,供讀者們參考,也為自己校準使用: 碰到我認定的重要區學不動,我就繼續努力;碰到輕觸區學不動,我就暫時放過,待日後回來複習。

大致如下:

  • 核心 40% Prompt、RAG、agent、evaluation、結構化輸出。這塊是 AI 應用的心臟,我 90% 的實戰時間都會落在這裡。學不熟,就沒有差異化可言。
  • 產品工程 30% API 整合、streaming、快取、成本與延遲調校、safety guardrails、後端基礎。
  • 資料工程與系統整合 15%|這部分此課程不太涵括,得自己尋找資源 SQL、資料 pipeline、schema 設計、ontology 思維、跨系統串接。
  • 基礎素養 10%|地基 Python、LLM 原理(token / context / temperature)、Transformer 概念性理解(理解 attention 在做什麼就好,不用手推公式)、embeddings 為什麼有效。這蠻重要,基本功。
  • 進階選修 5%|碰到再學 Fine-tuning(LoRA / QLoRA)、multi-modal、reasoning model 的特性。等真的用得到再邊做邊學。
  • 輕觸即可 0%|暫時知道有這些知識領域就好 從頭訓 transformer、CUDA、分佈式訓練、深度數學推導。時間花在這裡對我來說是虧的,看得懂別人在講什麼即可。

這張表最大的用處,主要規劃「先學什麼」,是分散焦慮和壓力。 畢竟非技術背景也缺乏複雜深度應用場景,先釐清好,聚焦該聚焦的地方對自己是有幫助的。

我打算怎麼做

給自己三個約定:

  1. 跟著跑,不跳步。 數學我就自己硬來,程式一定要跟著敲,親手實作體會。看不懂就透過AI協助理解。
  2. 公開紀錄。 過程、卡關、突然想通的瞬間、還有犯過的蠢錯,我會透過AI將過程整理、紀錄丟上來。
  3. 用中文重講。 原課程是英文的,用中文整理一遍,對經過的人有些許幫助。

關於版權:這套課程是 MIT 授權、開放公開使用的,所以我這一路的學習紀錄可以放心跟著它走、公開分享。這裡先謝謝原作者 Rohit Ghumare 和所有貢獻者,把這麼完整的東西免費攤開給大家。

關於公開紀錄

因為攤開來寫,我比較不會偷懶。

如果只是自己默默學,我大概撐個兩三週就會開始找藉口。 但公開講出來了、也許有人正在看,我就沒那麼好意思爛尾。

我做過會動的東西,但我想再往下一層,去搞懂到底是什麼讓它們動起來。 剛好如果路過有讀者跟我在差不多的位置—會用,但想真的懂,那就一起吧。 我不會裝專家,我就是個跟你差不多時間起跑的人。我徒中的筆記順便留給大家。

若筆記上,有任何錯誤誤導,歡迎寄信給予建議,可以一起交流。

起跑

503 課。我心裡有數,這肯定要花很多時間,中間搞不好會卡到懷疑人生。 但總得要個開始,那就來吧!


本系列跟隨開源課程 AI Engineering from Scratch(MIT License)學習並以中文記錄,內容為個人學習理解和整理,非直接性原課程官方翻譯。