Skip to content

Q&A 問答集

Q: autoresearch 跟傳統 AutoML 有什麼不同?

A: 傳統 AutoML/Hyperparameter Optimization 通常只在預定義的搜尋空間內調整超參數。autoresearch 的 Agent 可以直接修改程式碼本身——改變模型架構、更換最佳化器、重構訓練迴圈。自由度遠高於 config-based 的方法。

Q: 為什麼選擇固定 5 分鐘訓練?

A: 兩個原因。第一,固定時間使不同實驗結果可直接比較,無論 Agent 改變了模型大小或 batch size。第二,這迫使 Agent 在計算資源約束下找到最優解。缺點是結果與其他人的計算平台不可比較。

Q: Agent 怎麼知道修改是否改善?

A: 使用 val_bpb(validation bits per byte)作為唯一 metric。每次訓練結束後呼叫 evaluate_bpb() 計算。若 val_bpb 降低(更好)則保留修改,否則 git reset 回修改前狀態。

Q: 為什麼 Agent 要直接修改原始碼?

A: 這是 design choice。直接修改程式碼讓 Agent 擁有最大自由度,可做任何改變而不受 config schema 限制。同時 git diff 讓修改內容完全透明。

Q: 可以跑在 MacBook 或 CPU 上嗎?

A: 官方僅支援單 NVIDIA GPU。但有社群 fork 支援 macOS(autoresearch-macosautoresearch-mlx)、Windows(autoresearch-win-rtx)和 AMD GPU(andyluo7/autoresearch)。

Q: Agent 可以修改 prepare.py 嗎?

A: 不可以。prepare.py 是唯讀的,包含固定的評估函式、資料載入和常數。修改它會破壞實驗的可比較性。

Q: program.md 的定位是什麼?

A: program.md 是人類與 Agent 之間的通訊管道。人類在其中描述實驗目標和策略,Agent 按照指示執行。Karpathy 將其比喻為「超輕量級 skill」。

Q: 這個專案適合生產環境使用嗎?

A: 不適合。這是一個實驗性專案(proof of concept),展示 AI Agent 自主研究的可能性。缺乏錯誤處理、測試、並行化等生產級功能。