如何從零開始學習 AI 工程:503 課、20 個階段與技能安裝指南

介紹從零開始的 AI 工程 20 階段學習路徑、503 課程、本地運行方法,以及如何在 Codex、Claude Code 和Cursor中安裝伴隨技能。

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:

1
2
git --version
python --version

複製倉庫:

1
2
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch

官方 README 給出的第一個範例是線性代數向量碼:

1
python phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py

如果 Windows 的python指向 Microsoft 商店,或找不到解譯器,你可以嘗試:

1
py phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py

每堂課的目錄通常包括:

1
2
3
4
phases/<阶段>/<课程>/
├── code/       # 可运行代码
├── docs/       # 课程说明
└── outputs/    # Prompt、Skill、Agent 或 MCP 产物

學習時不要只看docs。至少跑一次code,然後檢查outputs是否能融入你的工作流程。

安裝課程中包含的特工技能

該倉庫提供 Claude、Cursor、Codex、OpenClaw 和 Hermes 的技能,並附有官方安裝入口:

1
python3 scripts/install_skills.py

如果 Windows 沒有 python3 指令,你可以使用:

1
py scripts/install_skills.py

安裝前,打開腳本確認檔案會複製到哪裡:

1
Get-Content .\scripts\install_skills.py | Select-Object -First 120

未經檢查路徑,請勿執行第三方安裝腳本,並使用管理員權限。Skill 通常僅作為 markdown 指令及輔助腳本使用,但輔助腳本仍可讀寫檔案或執行指令。

利用/find-your-level找到學習的起點

安裝 Skills 後,你可以在支援斜線指令的代理程式中執行:

1
/find-your-level

它根據基礎評估十題,並提供建議階段與時間軸估計。完成一個階段後,可以進行:

1
/check-understanding 3

這裡3指的是檢查第三階段。它適合找出「程式碼可行,但概念尚未真正掌握」的情況。

如果目前用戶端沒有自動斜杠辨識指令,你可以直接開啟對應的SKILL.md,並將任務請求指派給代理人執行。技能搜尋目錄因客戶端而異;建議參考目前版本的客戶端文件及本地設定。

首先,檢查課程完成狀態;不要把路線圖當作目錄

儲存庫根目錄中的ROADMAP.md不僅是未來計畫;它也會標示每個類別是否已完成、進行中或計畫中。官方系統使用三種狀態:

1
2
3
✅ Complete
🚧 In Progress
⬚ Planned

在準備學習某個階段之前,首先要先查詢狀態:

1
rg -n "^## Phase|🚧|⬚" ROADMAP.md

只看代理、MCP 和生產部署附近的階段:

1
rg -n -A 40 "Phase 13|Phase 14|Phase 17" ROADMAP.md

這有助於避免在 README 中找到巨集路徑的章節,卻發現程式碼或講義仍在製作中。ROADMAP.md 預估總時數約為 314 小時,而 README 則以約 320 小時為摘要;這些只是課程計畫,並非完成課程的強制時間。

課程目錄應該如何被接受?

每堂課都強調Build It / Use It / Ship It,接受過程可分為三個層次。

1.建構它:理解最小實作,而不依賴框架

首先,執行課程中提供的基礎實作,確認你能解讀輸入、主要資料結構和輸出。例如,學習代理迴圈時,你不應該只記得 ReAct 名稱,還要能夠指出:

  • 在哪裡儲存對話歷史;
  • 模型回傳工具呼叫後如何分發;
  • 工具結果如何被重新詮釋;
  • 當步數達到最大時如何停止;
  • 哪些例外應由代理處理,哪些應直接失敗。

2.善用它:使用常見函式庫來解決相同的問題

基本版本完整實作後,比較 PyTorch、scikit-learn 或相應 SDK 的實作。關鍵不是縮短程式碼,而是確認框架能處理哪些步驟,例如張量元件、梯度、批次處理、序列化和重試。

3.寄出:留下可重複使用的產品

請參考課程outputs/

1
2
Get-ChildItem -Recurse .\phases\14-agent-engineering -Directory -Filter outputs
Get-ChildItem -Recurse .\phases\14-agent-engineering -File | Where-Object { $_.FullName -match '\\outputs\\' }

最終產品至少應符合以下要求:輸入清晰、失敗時無靜默成功、不寫入倉庫的金鑰,以及能在新的測試目錄中重現。

Windows 環境推薦

課程涵蓋 Python、TypeScript、Rust 和 Julia,因此不建議一開始就安裝所有工具鏈。首先,為當前階段建立一個獨立的環境。

Python 課程可以使用:

1
2
3
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip

如果 PowerShell 阻止啟動腳本,你可以只針對當前程序調整政策:

1
2
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
.\.venv\Scripts\Activate.ps1

不要直接使用管理員的 PowerShell,也不要為了執行課程而全域停用執行策略。如果課程需要額外的相依,請優先讀取該課程目錄的 README、相依檔案或程式碼匯入,然後安裝相應的套件。

執行前請錄製版本,以便遇到問題時更容易重現:

1
2
3
4
python --version
git --version
node --version
rustc --version

如果在學習對應語言階段前沒有指令,並不代表儲存庫已經損壞。

如何從第503區挑選最短路徑

不要只根據藝名來選擇;也可以從最終成品推斷:

目標 建議先學會 你可以暫時跳過
呼叫應用程式模型 API API 與鍵、LLM 工程、結構化輸出 從零開始實作視覺化模型
Do RAG 嵌入、分區、檢索、評估 GAN,基礎強化學習
撰寫 MCP 伺服器 工具與協定、API、認證、錯誤處理 完整預訓練流程
成為編碼代理 代理迴圈、工具使用、記憶、評估 大多數視覺課程
本地部署模型 GPU 設定、量化、推論、基礎設施 多代理群
系統學習模型原理 數學、機器學習、深度學習、Transformer、LLM 從零開始 不建議跳過基礎階段

每條路徑選擇8至15個路段作為第一輪;不要同時產生涵蓋數百個路段的計畫。完成後,使用/check-understanding尋找空隙。

一週學習流程範例

以下是適合在職開發者的節奏:

1
2
3
4
5
6
周一:读 problem 和 concept,记录不理解的术语
周二:运行 code/ 中的基础实现
周三:修改一个参数,观察测试或输出变化
周四:阅读生产库版本,比较两种实现
周五:整理 outputs/,做成自己的 Prompt 或 Skill
周末:运行 /check-understanding,并补写失败案例

每週只需交付一個可行的產品。對於 GPU 訓練、資料集下載或雲端資源步驟,請先估算成本與時間,以避免啟動後發現無法完成。

如何將航向技能轉化為自己的版本

請勿直接修改複製倉庫中的原始技能並長期使用,否則未來git pull可能會衝突。複製到你自己的技能目錄,然後調整:

  1. 修改name以避免與原始技能重疊的名字;
  2. 將觸發條件縮小至僅涵蓋實際使用它們的情境;
  3. 將課程範例路徑替換為實際的專案路徑;
  4. 明確允許與禁止的命令;
  5. 新增驗證步驟,如測試、棉絮或git diff --check;
  6. 執行測試倉庫後,將其放入全域目錄。

升級課程倉庫時,首先要檢查差異:

1
2
3
git fetch origin
git log --oneline HEAD..origin/main
git diff HEAD..origin/main -- scripts .claude

確保安裝腳本和技能中沒有意外的權限變更,然後執行更新。

常見故障與定位順序

範例程式碼缺少模組

首先,檢查虛擬環境和目前目錄,然後檢查課程是否有依賴性:

1
2
3
Get-Location
python -c "import sys; print(sys.executable)"
Get-ChildItem -Recurse -Include requirements*.txt,pyproject.toml,package.json

我不覺得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)