跳轉到

AutoForge 開發路線圖(一人開發版)

每個階段的固定流程:寫規格 → 寫測試 → 實作 → 用真實資料跑一次 → 更新文件 → 打 tag。 一個階段的驗收標準全部通過,才進入下一階段。

階段 內容 交付物 驗收標準 預估
P1 骨架 ✅ 專案結構、CLI、Schema、硬體偵測、隱私守衛 autoforge doctor --json、autoforge schema 正確偵測 NVIDIA GPU/CUDA;無 GPU 時回報 CPU;測試全過 1 週
P2 方法包系統 ✅ pack.yaml 格式、本地/GitHub 安裝、索引搜尋、驗證 autoforge pack search/install/list/validate 從 GitHub 安裝並鎖定 SHA;格式錯誤的包被拒絕 1–2 週
P3 執行引擎 ✅ Run 生命週期、子行程、checkpoint、控制通道、稽核 W1 兩個方法包(表格、文字分類) 手寫 Plan 就能跑完訓練→評估→存模型;pause/resume/stop 正常 2–3 週
P4a MCP Server ✅ 把 Core API 包成 MCP 工具 autoforge mcp Claude Desktop/Code 透過訂閱完成一次端到端訓練 1 週
P4b 內建 Agent ✅ API 與本地模型的 Agent 迴圈 autoforge train "需求" --data x --brain ollama:qwen 10 個測試案例中 ≥8 個選出合理方法;敏感資料只允許本地 2 週
P5 回饋迴圈 ✅ 指標監控、診斷、Optuna、自訂程式撰寫 run_adjust、hpo 自動調參後指標優於初次訓練 2 週
P6 部署 ✅ 模型倉庫、匯出、推論 API、模型變 MCP 工具 autoforge serve <model> 訓練好的模型能被其他 AI 透過 MCP 呼叫 1–2 週
P7 擴充 🔄 W2–W6 方法包、pack_generate_from_repo 更多方法包 每個包都附 KNOWLEDGE.md 和煙霧測試 持續
P8 GUI ✅ 網頁介面(呼叫 REST API) autoforge gui 不碰指令列也能完成一次訓練 3 週
P9 發佈 ✅ PyPI、Docker(CUDA image)、文件站 v1.0 乾淨機器上 pip install 後 5 分鐘內跑完範例 1 週

一人開發的建議

  • 每個階段先完成「最窄但能端到端跑通」的版本,再加寬功能。
  • P3 完成前不寫任何 LLM 相關程式。先確定引擎不靠 AI 也正確,之後 AI 出錯時才分得清是誰的問題。
  • 方法包的煙霧測試必須能在 CPU 上 30 秒內跑完,CI(GitHub Actions)才跑得動。

實作備註

  • P9:驗收結果:在乾淨的 python:3.12-slim 和 python:3.11-slim 容器(沒有 git)裡,pip install wheel 加上 autoforge quickstart 總共 63 秒。測試中發現沒有 git 就裝不了方法包,已改成沒有 git 時直接從 GitHub 下載 commit 的 tarball。CPU Docker 映像實測可以跑 quickstart 和 GUI。PyPI 名稱 autoforge 已被不相關的專案使用,autoforge-ai 又因為和既有的 autoforgeai 太相似被 PyPI 拒絕,autoforge-ml 則在發佈前被別人註冊,所以改用 autoforge-trainer(1.0.2 起)。正式發佈(PyPI、GHCR、GitHub Pages)需要做一次設定,見 docs/RELEASE.md。
  • P8:驗收結果:Playwright 用真的 Chromium 跑完上傳 → 選任務 → 選方法(從 GitHub 索引自動安裝)→ 訓練 → 註冊 → 預測 → 自動調參,過程中沒有 JavaScript 錯誤。AI 代理的對話介面已在 1.2.0 加進 GUI(「AI 助手」頁面,多輪對話、在頁面上同意訓練)。
  • P7(第一批):新增 text-classification、llm-finetune(LoRA/QLoRA)、image-classification、timeseries-forecast、anomaly-detection,加上 tabular-classic 共 6 個方法包,每個都有 KNOWLEDGE.md 和煙霧測試。GPU 方法用極小模型在 CPU 上驗證過程式路徑,但尚未在真的 NVIDIA GPU 上跑過(QLoRA 的 4-bit 路徑只能在 GPU 驗證)。另有 pack new 骨架、pack test、MCP pack_create(AI 把 GitHub 專案轉成方法包)、GitHub Actions CI。
  • GPU 驗證(1.4.0 / 1.4.1):autoforge eval gpu 在 RTX 4060 Laptop(8 GB、Windows 11)實測:1.4.0 是 10 項中 9 項通過(唯一的失敗是 VRAM 誤判),修正後 1.4.1 的 quick 等級 10 項全部通過,Whisper 用真的語音 WER 0.079(結果見 docs/GPU.md)。full 等級(需要 12 GB 以上)還沒測。
  • P7(第二批,1.1.0):新增 object-detection、image-segmentation、embedding-finetune、speech-recognition、llm-preference(DPO)、diffusion-lora、reinforcement-learning、recommendation 共 8 個方法包,timeseries-forecast 加上多序列共用模型,合計 14 個方法包。每個都有 KNOWLEDGE.md 和 CPU 冒煙測試(極小模型、合成資料);推薦、強化學習、多序列預測另外跑過完整流程(訓練 → 註冊 → 預測)。GPU 路徑(混合精度、QLoRA、大模型)尚未在真的 NVIDIA GPU 上驗證。
  • P6:驗收結果:用 stdio MCP 客戶端(和 Claude Desktop 相同的連線方式)呼叫 autoforge serve-mcp 的 predict_churn,預測結果正確。每次訓練會保存方法包程式碼的快照,模型永遠用訓練它的那份程式碼來預測。
  • P6:LLM 類模型的 OpenAI 相容推論端點、GGUF 匯出,等 W2(LLM 微調方法包)時一起做。
  • P5:驗收結果:churn 範例的 random_forest 調參 20 次後,f1_macro 從 0.679(基準)提升到 0.731。每個 trial 用同一份驗證資料打分再挑最佳,所以這個分數偏樂觀;保留測試集或交叉驗證列入後續評估工作(P6 前)。
  • P5:訓練中途改參數已完成(run adjust + ctx.check_updates()),需要訓練程式配合呼叫。
  • P4b:代理和 MCP 共用同一套工具(在同一個行程內透過 MCP 客戶端呼叫),沒有重複實作。Claude 用官方 SDK;OpenAI、Ollama、vLLM 等用 OpenAI 相容 API。
  • P4b:驗收標準「10 個案例中 ≥ 8 個選出合理方法」的評估工具已完成(1.3.0,autoforge eval agent,13 個案例,見 docs/AGENT.md);需要用真的模型(API 金鑰或較大的本地模型)跑一次並記錄結果。
  • P4a:隱私守衛依 actor 判斷大腦類型(ai:local:* 視為本地模型)。MCP 路徑由伺服器設定的 actor 決定,AI 無法自行更改;CLI 則信任使用者宣告的 --actor。
  • P4a:Claude Desktop/Code 的實機連線待使用者驗證;自動化測試用同一個 MCP SDK 的 stdio 客戶端完成了完整流程。