rohitg00/ai-engineering-from-scratch 是一門開源課程,涵蓋從數學基礎到大型語言模型(LLM)、人工智慧代理(AI Agents)、多代理、生產部署與安全性。它不僅列出連結資源,還將學習分為 20 個階段和 503 課,每課盡可能保留執行時、提示詞、技能、代理或 MCP 伺服器的程式碼。
如果你已經知道如何呼叫模型 API,但不確定分詞器、注意力、代理迴圈、MCP 與生產部署之間的關係,這門課程適合用來補充知識鏈。總內容約需 320 小時,因此不必從第一堂課依序開始——先設定起點會更有效。
快速回答
初學者可以從環境、數學和機器學習基礎開始;有後端經驗的開發者可以從 Transformer、LLM 工程或工具與協議開始;已經使用 Codex 或 Claude Code 的使用者,可以直接從代理工程、基礎架構和Capstone Projects開始。
最實際的起點是複製倉庫,執行/find-your-level技能,根據十個問題生成個人學習路徑,然後選擇一個階段完成「閱讀原理、撰寫程式碼、執行測試與保存產品」的閉環循環。
如何劃分課程的20個階段
課程大致可分為五個部分:
| 學習單元 | 階段 | 適合解決的問題 |
|---|---|---|
| 基礎 | 設定、數學、機器學習、深度學習 | 補充環境、數學與神經網路的基礎 |
| 模型 | 視覺、自然語言處理、語音、變換器、生成式人工智慧 | 理解不同模態與生成模型 |
| LLM | 從零開始學習LLM、LLM工程、多模態 | 從模型原理轉向工程應用 |
| 代理 | 工具與協定、代理、多代理 | 學習工具呼叫、MCP、代理迴圈與協作 |
| 生產 | 基礎設施、安全、畢業專題 | 部署、監控、安全與完整專案 |
不要因為課程編號從零開始就假設你必須完全學會數學才能讀 Agent。更合理的做法是先選擇當前任務所需的階段,遇到概念缺口時再補上。
複製並執行第一個範例
首先,確保你的電腦安裝了 Git 和 Python:
|
|
複製倉庫:
|
|
官方 README 給出的第一個範例是線性代數向量碼:
|
|
如果 Windows 的python指向 Microsoft 商店,或找不到解譯器,你可以嘗試:
|
|
每堂課的目錄通常包括:
|
|
學習時不要只看docs。至少跑一次code,然後檢查outputs是否能融入你的工作流程。
安裝課程中包含的特工技能
該倉庫提供 Claude、Cursor、Codex、OpenClaw 和 Hermes 的技能,並附有官方安裝入口:
|
|
如果 Windows 沒有 python3 指令,你可以使用:
|
|
安裝前,打開腳本確認檔案會複製到哪裡:
|
|
未經檢查路徑,請勿執行第三方安裝腳本,並使用管理員權限。Skill 通常僅作為 markdown 指令及輔助腳本使用,但輔助腳本仍可讀寫檔案或執行指令。
利用/find-your-level找到學習的起點
安裝 Skills 後,你可以在支援斜線指令的代理程式中執行:
|
|
它根據基礎評估十題,並提供建議階段與時間軸估計。完成一個階段後,可以進行:
|
|
這裡3指的是檢查第三階段。它適合找出「程式碼可行,但概念尚未真正掌握」的情況。
如果目前用戶端沒有自動斜杠辨識指令,你可以直接開啟對應的SKILL.md,並將任務請求指派給代理人執行。技能搜尋目錄因客戶端而異;建議參考目前版本的客戶端文件及本地設定。
首先,檢查課程完成狀態;不要把路線圖當作目錄
儲存庫根目錄中的ROADMAP.md不僅是未來計畫;它也會標示每個類別是否已完成、進行中或計畫中。官方系統使用三種狀態:
|
|
在準備學習某個階段之前,首先要先查詢狀態:
|
|
只看代理、MCP 和生產部署附近的階段:
|
|
這有助於避免在 README 中找到巨集路徑的章節,卻發現程式碼或講義仍在製作中。ROADMAP.md 預估總時數約為 314 小時,而 README 則以約 320 小時為摘要;這些只是課程計畫,並非完成課程的強制時間。
課程目錄應該如何被接受?
每堂課都強調Build It / Use It / Ship It,接受過程可分為三個層次。
1.建構它:理解最小實作,而不依賴框架
首先,執行課程中提供的基礎實作,確認你能解讀輸入、主要資料結構和輸出。例如,學習代理迴圈時,你不應該只記得 ReAct 名稱,還要能夠指出:
- 在哪裡儲存對話歷史;
- 模型回傳工具呼叫後如何分發;
- 工具結果如何被重新詮釋;
- 當步數達到最大時如何停止;
- 哪些例外應由代理處理,哪些應直接失敗。
2.善用它:使用常見函式庫來解決相同的問題
基本版本完整實作後,比較 PyTorch、scikit-learn 或相應 SDK 的實作。關鍵不是縮短程式碼,而是確認框架能處理哪些步驟,例如張量元件、梯度、批次處理、序列化和重試。
3.寄出:留下可重複使用的產品
請參考課程outputs/:
|
|
最終產品至少應符合以下要求:輸入清晰、失敗時無靜默成功、不寫入倉庫的金鑰,以及能在新的測試目錄中重現。
Windows 環境推薦
課程涵蓋 Python、TypeScript、Rust 和 Julia,因此不建議一開始就安裝所有工具鏈。首先,為當前階段建立一個獨立的環境。
Python 課程可以使用:
|
|
如果 PowerShell 阻止啟動腳本,你可以只針對當前程序調整政策:
|
|
不要直接使用管理員的 PowerShell,也不要為了執行課程而全域停用執行策略。如果課程需要額外的相依,請優先讀取該課程目錄的 README、相依檔案或程式碼匯入,然後安裝相應的套件。
執行前請錄製版本,以便遇到問題時更容易重現:
|
|
如果在學習對應語言階段前沒有指令,並不代表儲存庫已經損壞。
如何從第503區挑選最短路徑
不要只根據藝名來選擇;也可以從最終成品推斷:
| 目標 | 建議先學會 | 你可以暫時跳過 |
|---|---|---|
| 呼叫應用程式模型 API | API 與鍵、LLM 工程、結構化輸出 | 從零開始實作視覺化模型 |
| Do RAG | 嵌入、分區、檢索、評估 | GAN,基礎強化學習 |
| 撰寫 MCP 伺服器 | 工具與協定、API、認證、錯誤處理 | 完整預訓練流程 |
| 成為編碼代理 | 代理迴圈、工具使用、記憶、評估 | 大多數視覺課程 |
| 本地部署模型 | GPU 設定、量化、推論、基礎設施 | 多代理群 |
| 系統學習模型原理 | 數學、機器學習、深度學習、Transformer、LLM 從零開始 | 不建議跳過基礎階段 |
每條路徑選擇8至15個路段作為第一輪;不要同時產生涵蓋數百個路段的計畫。完成後,使用/check-understanding尋找空隙。
一週學習流程範例
以下是適合在職開發者的節奏:
|
|
每週只需交付一個可行的產品。對於 GPU 訓練、資料集下載或雲端資源步驟,請先估算成本與時間,以避免啟動後發現無法完成。
如何將航向技能轉化為自己的版本
請勿直接修改複製倉庫中的原始技能並長期使用,否則未來git pull可能會衝突。複製到你自己的技能目錄,然後調整:
- 修改
name以避免與原始技能重疊的名字; - 將觸發條件縮小至僅涵蓋實際使用它們的情境;
- 將課程範例路徑替換為實際的專案路徑;
- 明確允許與禁止的命令;
- 新增驗證步驟,如測試、棉絮或
git diff --check; - 執行測試倉庫後,將其放入全域目錄。
升級課程倉庫時,首先要檢查差異:
|
|
確保安裝腳本和技能中沒有意外的權限變更,然後執行更新。
常見故障與定位順序
範例程式碼缺少模組
首先,檢查虛擬環境和目前目錄,然後檢查課程是否有依賴性:
|
|
我不覺得ModuleNotFoundError在全球環境中持續安裝一串封包。
測試過但不懂程式碼
試著刪除關鍵步驟、改變輸入大小,或產生錯誤輸入。如果你無法預測錯誤,代表你只是在執行程式碼,還沒完成課程目標。
Agent Skill 安裝後未出現
檢查 Skill 目錄是否有額外的巢狀圖層、前置內容是否有效、客戶端是否需要重啟,以及 Skill 是否為其他客戶端設計。直接使用SKILL.md內容作為任務輸入,有助於區分「Skill 內容問題」或「客戶端未找到檔案」。
三條推薦學習路線
第一條路線:人工智慧的首次系統性學習
建議先從設定、數學、機器學習和深度學習開始,然後再學 Transformer 和 LLM。在數學階段,你不需要一次掌握所有東西;關鍵在於解釋矩陣、梯度、機率和損失函數在程式碼中的作用。
路線2:能寫應用程式,想轉行做LLM工程
你可以先從 Transformer、生成式人工智慧、大型語言模型工程開始,然後學習工具與協議、代理工程和基礎架構。每堂課結束後,試著把輸出變成你自己專案中可以使用的工具。
第三條路線:已經在使用Codex或Claude Code了
優先處理代理迴圈、工具呼叫、MCP、記憶體、多代理、生產部署與安全性。不要只複製技能;也要檢查它們解決的問題、觸發條件、權限邊界及失敗後的復原方法。
常見問題
所有503課都必須完成嗎?
不必。第503條涵蓋廣泛資訊,並不代表每個人都應該從頭到尾學習。先完成與你目前工作的相關課程,然後逐步補足基礎。
我可以直接下載 PDF 或 EPUB 嗎?
是的。官方版本提供六卷 PDF 和 EPUB。不過,該資料庫是持續更新的版本,包含程式碼、測試和技能;只閱讀電子書會損失很多實用內容。
執行程式碼需要 GPU 嗎?
基礎數學、Python、代理迴圈及類似內容通常不依賴 GPU。只有在深度學習訓練、本地模型或多模態流程需要準備 CUDA、雲端 GPU 或依課程需求進行較長執行時間時才會進行。
推薦使用方法
首先,執行/find-your-level,選擇一條路線,然後每週只完成一個可驗證的目標,例如實作分詞器、執行最小代理迴圈,或安裝並審核技能。這使得建立可重複使用性比收集 503 條連結更為容易。
參考資料
- [從零開始的 AI 工程 GitHub 倉庫](https://github.com/rohitg00/ai-engineering-from-scratch)
- [專案課程網站] (https://aiengineeringfromscratch.com/)
- [專案發行] (https://github.com/rohitg00/ai-engineering-from-scratch/releases)