完整程式碼可在 GitHub 專案中找到:Finetune-30-days-demo / day-30
這 30 天,我從一個簡單的 FastAPI 服務出發,
逐步構建出一套能自動化微調、追蹤、部署、監控的完整平台。
週期 | 目標主題 | 關鍵成果 |
---|---|---|
Week 1 | 任務與資料流成形 | FastAPI + Celery 任務架構、資料驗證與序列化 |
Week 2 | 實驗可重現性 | MLflow 實驗追蹤、Config YAML 管理 |
Week 3 | 模型重用與治理 | Model Registry、推薦 API、RBAC |
Week 4 | 部署與監控 | CI/CD、Helm、Prometheus + Grafana |
Week 5 | 多租戶與收尾 | Namespace + Quota、穩定性壓測、Demo Day |
從「能跑起來」到「能監控、能治理」,
這個過程不只是程式碼疊加,而是一場平台思維的養成。
模組類別 | 已實作能力 | 對應篇章 |
---|---|---|
任務管理 | Celery + Redis 任務排程與狀態追蹤 | Day 11–12 |
實驗追蹤 | MLflow 自動紀錄參數與成品 | Day 22 |
模型共享 | Model Registry + Recommend API | Day 21 |
身分與權限 | JWT + RBAC + Audit Log | Day 16–17 |
部署流程 | Helm 部署 + GitHub Actions CI/CD | Day 24–25 |
可觀測性 | Prometheus Exporter + Grafana Dashboard | Day 26 |
穩定性測試 | Locust 壓測 + 性能監控 | Day 27 |
租戶隔離 | Namespace + ResourceQuota | Day 28 |
閉環驗證 | 一鍵 Demo 流程 | Day 29 |
這張矩陣不僅代表一個完整的開發成果,更是一個可延展的 MLOps 原型系統。
在這 30 天的開發過程中,我刻意讓 AI 參與每一個步驟。
它不是替代,而是共同設計者(co-pilot)。
工具 | 負責階段 | 角色定位 |
---|---|---|
ChatGPT / GPT-5 | 架構規劃、代碼審查、技術文件生成 | 系統設計顧問 |
Cursor / Codex | 重構與快速迭代 | Pair Programmer |
HackMD | 反思與記錄 | 知識同步空間 |
AI 不只是生成程式碼,而是幫助人類思考「系統該長什麼樣子」。
它讓整個開發過程保持節奏一致,也讓每日任務更聚焦於決策與創造。
不過在實際開發過程中,我發現 AI 提供的是方向,而不是結果。
即使生成的架構或函式能通過語法檢查,仍需要不斷地 debug、調整邏輯、測試整合性,
才能逐步建立出真正可運行的產品。
這個過程也揭示了另一個關鍵現象:
隨著模組數量增加,早期撰寫的程式碼往往缺乏通用性,
若沒有測試覆蓋與清晰的模組邊界,重構會變得代價極高。
而在這個專案中,我透過 先寫測試、再疊功能 的方式,
讓後期的調整與錯誤修正變得快速而穩定。
整體來說,AI 的協作讓我能更快看見方向,
而測試與實際的 debugging,讓我真正完成了一個能落地的產品。