AI 工程實戰課:從呼叫大模型到親手寫一個 GPT
一套寫給中文開發者的免費 AI 課程。先用大模型做出能用的東西,再從零實現神經網路和 Transformer,弄明白它為什麼能用。
程式碼和執行結果保留原樣(簡體中文),與實際執行時完全一致。
這門課分兩半。
前一半教你用大模型:調 API、寫提示詞、做知識庫問答、做智慧體,最後把它評估好、上線。學完你能獨立做出一個真正有人用的 AI 應用。
後一半教你懂大模型:用 numpy 手寫梯度下降和反向傳播,用 PyTorch 從零搭一個小 GPT 並訓練它寫唐詩,再親手做一次 LoRA 微調。學完你再看到"注意力"、"KV 快取"、"量化"這些詞,腦子裡是具體的程式碼,而不是一團霧。
兩半可以分開學。只想做應用的,學完第一部分就夠用;已經在做應用、想補原理的,可以直接從第二部分開始。
貫穿全課的專案
第一部分的大部分課程都在做同一個東西:給開源庫 httpx 做答疑助手,我們叫它 RepoBot。
它一開始只是一個能聊天的命令列程式,然後學會讀專案文件回答問題,再學會自己去搜文件、翻原始碼,最後有了評估集、日誌和護欄,變成一個網頁服務。每一個模組往上加一塊,你能看到一個 AI 應用是怎麼一步步長出來的。
第一部分:用大模型做東西
呼叫 API、寫提示詞、RAG、智慧體、評估與上線,貫穿一個真實的答疑助手專案。
選好學習路線,裝好 Python 環境,申請大模型 API 金鑰,並完成你的第一次呼叫。
3 課模組 01大模型是怎麼回事不用任何數學,靠實驗弄明白大模型的幾個基本事實:詞元、下一個詞元預測、溫度、上下文和成本、向量嵌入,以及怎麼選模型。
6 課模組 02提示詞用對比實驗講清楚提示詞的結構、少樣本、先想再答、JSON 輸出,最後搭一個批次測試提示詞的小工具。
5 課模組 03用 API 做應用從一次呼叫走向一個真正的程式:多輪對話、流式輸出、工具呼叫、出錯重試和費用記錄,最後做出貫穿專案 RepoBot 的第一版。
5 課模組 04RAG,讓模型讀你的資料從零搭一個檢索增強生成系統:切分文件、向量檢索、關鍵詞檢索、查詢改寫、重排、帶引用的回答和評估,最後讓 RepoBot 讀懂 httpx 的文件。
7 課模組 05智慧體先想清楚要不要用智慧體,再從零手寫一個:工具設計、規劃與自我檢查、記憶、多智慧體、MCP 和安全,最後讓 RepoBot 學會自己翻原始碼。
9 課模組 06評估與上線做一份評估集,用模型當評委並校準它,記錄每一步的日誌,省錢提速,加上輸入輸出護欄,最後把 RepoBot 做成網頁服務部署上線。
6 課模組 07用 AI 寫程式碼AI 程式設計工具有哪幾種形態、各適合什麼;怎麼用專案說明檔案讓它讀懂你的專案;以及一個靠得住的工作流:先定驗收標準,小步修改,用測試而不是 AI 的自述來判斷做完沒有。
3 課第二部分:從零弄懂大模型
手寫反向傳播,從零實作並訓練一個小 GPT,再做 LoRA 微調和本機部署。
從一條直線開始,手寫梯度下降和反向傳播,訓練出第一個小網路,再換成 PyTorch 識別手寫數字,並親眼看到過擬合和對付它的辦法。
6 課模組 09從零實現 Transformer手寫分詞器和注意力,搭一個完整的小 GPT,在三萬多首唐詩上訓練它學會寫詩,再講生成、KV 快取,以及從小 GPT 到真正的大模型還差什麼。
7 課模組 10微調與本地部署先想清楚什麼時候該微調,再手寫 LoRA、用 peft 微調一個開源小模型,估算記憶體、手寫量化、用 Ollama 在自己電腦上執行,最後理解 vLLM 這類服務框架在解決什麼問題。
5 課模組 11畢業專案用整門課學到的東西,獨立做完一個自己選題的 AI 專案:定下做完的標準,做出能用的東西,用評估說明它有多好,最後把它寫清楚給別人看。
1 課學之前需要會什麼
- Python 基礎:函式、列表、字典、類,會用
pip或uv裝包。 - 會用命令列:
cd、執行一個指令碼。 - 數學:第一部分完全不需要。第二部分用到的求導和矩陣乘法,課裡會從頭講,高中數學夠用。
不需要顯示卡。第一部分全程調 API;第二部分的所有實驗都在普通筆記本的 CPU 上完成,訓練小 GPT 大約 7 分鐘,微調 5 億參數的開源模型只要十幾秒。只有第 10 模組最後一課的 vLLM 需要帶 NVIDIA 顯示卡的伺服器,課裡會說明。
花多少錢
第一部分呼叫大模型 API,預設用 DeepSeek,整個第一部分所有例子加練習跑下來,花費通常在 10 元人民幣以內(按 2026 年 9 月的價格)。也可以換成任何相容 OpenAI 介面的服務,或者用 Ollama 在本地跑,完全免費,只是效果差一些。第二部分不呼叫 API,不花錢。
程式碼在哪裡
每一課的程式碼都在 code/ 下對應模組的目錄裡,RepoBot 的四個版本在 projects/repobot/ 下。課裡貼出的每一段輸出,都是寫課時真實執行得到的,並在每課開頭標註了執行的日期、模型或軟體版本。不呼叫 API 的程式碼都固定了隨機種子,你執行應該能得到相同或非常接近的數字。
怎麼學效果最好
每一課的程式碼都自己敲一遍,至少要自己執行一遍。然後做課後練習,特別是那些"改一個地方看看會發生什麼"的題。只看不動手,這門課的價值會少一大半。