跟 AI Agent 一起寫程式(七):完整復盤——我們怎麼蓋出 8 軌道 64 課
2026年5月30日 · wemee (with AI assistant)
📚 《跟 AI Agent 一起寫程式》 這是一個 7 篇的系列,記錄我跟 AI coding agent 真實協作、一起蓋出這個站的工作法。
- 心態與分工:它是協作者,不是神諭
- 怎麼開場:脈絡、計劃、拆任務
- 引導,而不是餵答案
- 怎麼收尾:驗證、review、何時自己接手
- 信任的光譜:什麼時候盯緊、什麼時候放手
- 工具與長期記憶:把協作規模化
- 完整復盤:我們怎麼蓋出 8 軌道 64 課(本篇)
前面六篇,一條一條拆了協作的原則。最後這篇,我想把它們全部放回同一個現場——這個站上的 程式實驗室,八條軌道、六十四堂課,從一句話到上線,完整走一遍。因為原則拆開講很清楚,但真正的協作從來不是「先做完開場、再做引導、最後收尾」這麼線性。它們是同時在運轉的,你會在這個復盤裡看到它們交織的樣子。
起點:一句「我全都想做」
事情的開頭,是 lab 的 AI/ML 那幾條軌道收尾之後,我問 agent:「你推薦下一個主題做什麼?」
注意這句話的形狀——我沒下令,我在引導(第三篇)。我心裡有模糊的方向,但我先讓它在已經熟透的脈絡上提案。它給了好幾條,有我想到的,也有我沒想到的角度。看完它的提案,我反而想清楚了,於是回了那句定調的話:
「我全都想做,你寫個計劃,我們依序完成。」
最後拍板的範圍,比我進門時帶的更大、更完整——這正是第三篇說的,引導求的是超越,不是對齊。 如果我一開始就說「做強化學習軌道」,我不會走到「乾脆把四條軌道規劃成一個完整學習路徑」這一步。
開場:先有計劃,再有結構
定了「四條軌道依序完成」之後,我們沒有馬上開寫。先攤了一份計劃(第二篇):順序怎麼排(強化學習 → 電腦視覺 → 資料科學 → 擴散模型,背後是難度與依賴的考量)、每條軌道教什麼、彼此怎麼銜接。
而能這樣順,是因為脈絡的地基早就打好了。CLAUDE.md 寫死了「這是 Astro 站、配色 Solarized dark、課程內容放哪、notebook 怎麼生」;lab 資料夾的 _CLAUDE.md 記著「一堂課該長怎樣、notebook 為什麼要 output-free、加新課的標準流程」。Agent 一開場就帶著這整層理解,不用我重講。
然後是拆任務(第二篇)。整座 lab 是一棵樹:區段 → 軌道 → 模組 → 課程,每堂課是一個「能在 Colab 跑、加一頁課文」的獨立單位。第一堂課我們一起把「範本」磨出來,後面就是套同一個模子——這正是 agent 最擅長的:照著立好的範本,又快又整齊地複製。
過程:信任一路往上長
接下來的協作節奏,是第五篇「信任光譜」的活教材。
一開始我盯得緊。 強化學習軌道做出來,我自己跑了課程的 notebook。其中 DQN 那堂,訓練曲線爬到接近滿分後突然崩回谷底,我當下的反應是懷疑:「這是不是 overfit?」——這就是第四篇的「不盲信」。我沒因為「能跑」就收下,我去追究那個怪現象。
結果追出來,那不是 overfit,是 DQN 惡名昭彰的災難性遺忘。我們把這個釐清寫成了課程裡一個教學提醒框——一個真實的協作產物:我的懷疑 + agent 的領域知識,合成一段對學生有用的東西。
信任隨著一條條軌道往上長。 到後面,我對 agent 的脾性夠熟了,直接給了它一個很大的授權——大意是「方向我同意,你照自己判斷,儘量多完成,我最後一次驗收」。我敢這樣放手,是因為三把尺都站在安全那側(第五篇):炸不大(就是內容)、收得回(全在 git)、驗得了(我會逐一測試)。 那批四條軌道後段的內容,很多就是這樣「放手幹到底」做出來的。
但放手不等於沒有網。 手刻那個迷你擴散模型時,我沒讓「程式碼看起來對」就過關——先在本機跑一次,確認張量形狀、參數量都對,驗過才收(第四篇)。因為那是要交給學生在 Colab 跑的,自己沒驗過就交出去,等於遞一顆沒拆過的炸彈。
收尾:自動關卡接住規模
四條軌道蓋完、測試 OK 之後,還有幾輪「收尾型」的工作,而它們最能展示工具如何讓收尾自動化(第四、六篇)。
- 我做了一個跨課的交叉連結功能,把六十幾組相關課程互相串起來(像可解釋性的 Grad-CAM 連到 SHAP)。二十幾組連結,我不是用眼睛確認沒連錯的——是靠
build加一段檢查腳本確認「零斷鏈」。 - 我替五堂最容易讓學生誤以為「自己弄壞了」的課,補上反直覺現象提醒框(訓練 loss 卡著不動、加了資料增強準確率反而降……)。這批改動純內容,但每一次存檔後,自動關卡都幫我把格式跟建置驗一遍。
這些收尾工作,範圍小、可回頭、驗得了——標準的「放手那端」任務(第五篇),交給 agent 加自動關卡,我只需要在最後讀過、拍板。
復盤:原則從來不是線性的
把整段攤平來看,你會發現前六篇的原則全程交織在一起:
| 時刻 | 同時在發生的原則 |
|---|---|
| 「你推薦做什麼?」 | 引導(三)、分工(一) |
| 「我全都想做,寫計劃」 | 引導(三)、開場計劃(二) |
| 一堂一堂蓋 | 拆任務(二)、脈絡設定檔(二、六) |
| 「這是 overfit 嗎?」 | 不盲信(四)、信任偏緊(五) |
| 「儘量多完成,我最後驗收」 | 放手(五)、slash 指令(六) |
| 手刻 DDPM 先跑再收 | 驗證(四)、放手有網(五) |
| 交叉連結零斷鏈 | 自動關卡(四、六) |
沒有哪一刻是「純粹在做開場」或「純粹在收尾」。真實的協作,是這些原則同時在你腦中跑,你根據當下的任務,動態地調整每一條的權重。這也是為什麼我說它是「協作」,不是「下指令」——它有節奏、有來回、有判斷,像跟一個真同事共事,而不是對機器發號施令。
最後:這件事的意義
一個人,加一個 AI agent,蓋出一座有六十四堂課、從經典機器學習到擴散模型的線上學校。這在幾年前,是一個小團隊好幾個月的工程。
但我想說的重點不是「快」。是——這整段過程,沒有一刻是我把腦子關掉、讓 agent 自己亂跑的。 方向是我定的、品味是我守的、真假是我裁的、信任是我一次次校準的。Agent 扛走了大量的勞力與廣度,讓我能把精神全部花在「為什麼」跟「好不好」上面。
這就是這個系列從頭到尾想講的那一件事:
AI agent 不是來取代你做判斷的,是來放大你的判斷的。 你越清楚自己要什麼、越懂得怎麼跟它分工、引導、驗證、信任,它能替你撐起來的東西就越大。
工具進步的意義,從來不是讓人類變得多餘,而是讓人類的時間,花在更值得的事情上。二十年前我這樣相信,現在跟 agent 一起蓋完這座 lab,我更確定了。
想看看我們一起蓋的成果,就在 程式實驗室。八條軌道,六十四堂課,都在等你開跑。
留言 0
留言載入中…