Karpathy 的 AutoResearch:630 行 Python 讓 AI 自主跑實驗,一覺醒來模型就變強了
目錄
前言
如果你能在睡前啟動一個 AI Agent,讓它整晚自己跑實驗、調參數、評估結果,隔天醒來模型就變好了——這聽起來像科幻小說,但 OpenAI 共同創辦人 Andrej Karpathy 已經把它做出來了。
2025 年,Karpathy 在 GitHub 開源了 AutoResearch,一個僅約 630 行 Python 程式碼的專案,讓 AI Agent 能自主進行 LLM 訓練實驗。上線後迅速獲得超過 4 萬顆 GitHub Stars,在 X 平台的介紹貼文更獲得 889 萬次觀看。
AutoResearch 是什麼?
AutoResearch 的核心概念非常簡單:把「研究人員手動調參跑實驗」的流程,交給 AI Agent 自動化執行。
它建立了一個自我迭代循環:
- 讀取程式碼 — Agent 讀取
train.py,理解當前模型架構與參數 - 參考指引 — 查閱
program.md了解研究方向 - 提出假設 — 修改模型架構、超參數、優化器等配置
- 執行實驗 — 運行 5 分鐘限時訓練
- 評估結果 — 檢查驗證指標
val_bpb(validation bits-per-byte) - 決策 — 保留有效改動,捨棄無效嘗試
- 迭代 — 重複以上循環
研究人員只需設定好目標與衡量標準,按下啟動鍵,AI 就能「獨立工作一整晚」,自動完成數十次實驗並篩選最佳結果。
三個檔案就是全部架構
AutoResearch 的設計極度精簡,整個專案只有三個核心檔案:
1. prepare.py — 資料準備(不可修改)
負責一次性的資料下載與 tokenizer 訓練。這個檔案設定了固定常數和運行工具,Agent 不能修改這個檔案。
2. train.py — 訓練主程式(唯一可修改的檔案)
包含 GPT 模型定義、優化器(Muon + AdamW)和訓練迴圈。這是 Agent 唯一能修改的檔案,所有東西都可以動:模型架構、超參數、batch size、optimizer、attention 機制等。
3. program.md — 任務指引(人類撰寫)
以 Markdown 格式撰寫的 Agent 指令,提供研究方向與背景說明。研究人員透過迭代這個檔案來引導 Agent 的研究方向,而不是直接改 Python 程式碼。
┌─────────────────────────────────────────┐
│ 研究人員 │
│ 撰寫 program.md │
│ (設定研究方向) │
└────────────────┬────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ AI Agent │
│ 讀取 program.md + train.py │
│ → 提出修改 → 修改 train.py │
│ → 執行 5 分鐘訓練 │
│ → 評估 val_bpb │
│ → 保留/捨棄 → 下一輪迭代 │
└─────────────────────────────────────────┘
最精妙的設計:Agent 不可破壞的公平世界
AutoResearch 最聰明的地方不是讓 AI 去「提出改動」,而是建構了一個 Agent 無法作弊的世界。
- 固定時間預算:每次實驗限制 5 分鐘(wall-clock time),確保不同實驗之間可以公平比較
- 指標不可修改:Agent 無法存取或修改
val_bpb評估指標,只能透過真正改善模型來降低數值 - 單一修改點:Agent 只能動
train.py,讓 diff 可以被人類審閱 - 自包含:只用 PyTorch,不需要分散式訓練的複雜度
這個設計思路被精準地描述為:
「AutoResearch 的智慧不在於讓 AI 提出改動,而在於建構了一個 Agent 的聰明才智被外部標準真正約束的世界。」
實際成果
Karpathy 的 nanochat 優化
Karpathy 讓 AutoResearch 對 nanochat 模型持續調校約 2 天,經過約 276-700 次實驗後:
- 累積了 20-29 項改善驗證表現的調整
- 驗證指標從 1.0 降至 0.97
- 模型達到 GPT-2 水準的訓練時間從 2.02 小時縮短至 1.8 小時(約 11% 效能提升)
- 關鍵發現:小模型上發現的改善,成功轉移到更大模型上,代表 Agent 找到的是真正的通用改善,而非特定模型大小的技巧
Shopify 的實驗
Shopify 執行長 Tobi Lütke 也用 AutoResearch 進行實驗,在 Liquid 引擎優化上達到了 53% 的效能提升與 61% 的記憶體優化。
快速上手
系統需求
- 單張 NVIDIA GPU(以 H100 測試,其他 GPU 也可嘗試)
- Python 3.10+
- UV 套件管理工具
安裝與執行
# 安裝 UV 套件管理工具
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安裝相依套件
uv sync
# 準備資料與 tokenizer(約 2 分鐘,只需一次)
uv run prepare.py
# 執行單次訓練實驗(約 5 分鐘)
uv run train.py
接著只需將 AI Agent(如 Claude、ChatGPT)指向 program.md,讓它開始自主研究迭代。
資源有限的裝置調校建議
如果你的 GPU 沒有 H100 那麼強,可以透過以下方式降低資源需求:
- 使用低熵資料集(如 TinyStories)
- 減小
vocab_size(8192 → 4096) - 降低
MAX_SEQ_LEN和EVAL_TOKENS - 減少
DEPTH參數 - 調整
TOTAL_BATCH_SIZE
社群也已經建立了多平台 Fork:
| 平台 | 專案 |
|---|---|
| macOS (MLX) | miolini/autoresearch-macos |
| Windows RTX | jsegov/autoresearch-win-rtx |
| AMD GPU | andyluo7/autoresearch |
這代表什麼?研究者角色的根本轉變
AutoResearch 象徵著一個重要的範式轉移:研究人員的角色從實驗執行者轉變為實驗設計者。
過去,研究者需要親手調參數、跑實驗、看結果、再調整。現在,研究者的工作變成:
- 定義研究方向(撰寫
program.md) - 設計實驗框架(確保公平比較的約束條件)
- 審閱與整合結果(篩選 Agent 找到的改善)
這和軟體開發的趨勢一致——AI coding assistant 讓開發者的角色從「寫程式碼」提升到「設計架構與定義問題」。
Karpathy 更進一步描繪了未來的願景:想像一個類似 SETI@home 的分散式研究網路,全球的 GPU 各自跑 AutoResearch 實驗,將結果匯聚成持續進化的知識庫。
目前的限制
在興奮之餘也需要保持清醒:
- 範圍有限:目前只能優化小型 GPT 語言模型
- 無法處理其他任務:不支援電腦視覺、下游 NLP 任務等
- 概念驗證階段:距離通用研究自動化框架還有很長的路
- 需要 NVIDIA GPU:原生版本不支援其他硬體(但社群已有 Fork)
結語
AutoResearch 用約 630 行 Python 程式碼展示了一個強大的概念:AI 不只能幫你寫程式碼,還能幫你做研究。 雖然目前的應用範圍有限,但它所代表的方向——讓 AI Agent 在受約束的環境中自主迭代——是未來 AI 研究工具發展的重要藍圖。
如果你有一張閒置的 GPU,不妨今晚就讓 AutoResearch 替你跑幾個實驗,也許明天醒來就會有意想不到的收穫。
參考資源
- AutoResearch GitHub — 專案原始碼
- 數位時代報導 — 中文深度分析
- iThome 新聞 — 技術報導
- HackMD 技術解析 — 社群技術分析


