Karpathy 的 AutoResearch:讓 AI 自己做研究,一夜跑完 100 個實驗

Andrej Karpathy 開源了 AutoResearch,一個只有 630 行的腳本,能讓 AI agent 自主修改程式碼、跑實驗、評估結果,整晚不停。他自己一夜跑出 100 個實驗,Shopify 執行長用它拿到 19% 效能提升。但 Karpathy 也警告:不是所有東西都能 auto research。

Karpathy 的 AutoResearch:讓 AI 自己做研究,一夜跑完 100 個實驗

本文整理自《No Priors》2026 年 3 月播出的單集。

{{< youtube kwSVtQ7dziU >}}

{{< spotify "episode/3u1XHEsAuK1VXRr81RzQDV" >}}

{{< apple-podcast "tw/podcast/andrej-karpathy-on-code-agents-autoresearch-and-the/id1668002688?i=1000756334966" >}}


封面圖

最大的瓶頸是你自己

Andrej Karpathy 是 OpenAI 共同創辦人、前 Tesla AI 總監,在 AI 研究圈有著教科書級的影響力。他在 No Priors 節目中談到 AutoResearch 的起點時,說了一句很直接的話:「To get the most out of the available tools, you have to remove yourself as the bottleneck。」(要把工具的潛力發揮到極致,你得先把自己從瓶頸的位置移開。)

這個想法的邏輯鏈很清晰。現在的 AI agent 已經能寫程式、跑測試、讀結果。如果每一輪實驗都要等人類來看結果、決定下一步,那整個流程的速度就被人類的反應時間卡死了。人需要睡覺、吃飯、思考、被 Slack 訊息打斷。agent 不需要。所以問題變成:我怎麼重構整個工作流,讓 agent 可以自己跑、自己判斷、自己決定下一步,完全不需要我在場?

這就是 AutoResearch 要解決的問題。Karpathy 在 2026 年 3 月開源了這個專案,整個腳本只有 630 行 Python。它的運作邏輯很簡單:給 agent 一個明確的目標(比如「降低這個語言模型的驗證集 loss」)、一個可以量化的指標、一組可以修改的程式碼範圍,然後按下 go。agent 會自己改程式碼、訓練模型五分鐘、檢查結果有沒有變好、決定要保留還是捨棄這次修改,然後開始下一輪。一小時大概能跑 12 個實驗,睡一覺起來就有 100 個實驗結果等著你看。

連 Karpathy 自己都驚訝的結果

AutoResearch 最讓 Karpathy 意外的發現,不是它能跑很多實驗,而是它真的找到了他自己沒想到的最佳化方向。他拿來實驗的對象是 NanoChat,一個他自己調校過的小型語言模型訓練流程。他以為自己已經把超參數調得差不多了,結果 AutoResearch 一夜之間找到了 20 個改進點,讓訓練速度提升了 11%。

這個結果的意義在於,即使是一個深度學習領域最頂尖的專家,精心調校過的系統,AI agent 仍然能從中榨出更多效能。不是因為 agent 比 Karpathy 聰明,而是因為 agent 有無限的耐心去嘗試人類不會去試的組合。人類研究員在做超參數搜尋時,會根據經驗和直覺來縮小搜尋範圍。這通常是好事,因為它節省時間。但它也意味著有些非直覺的組合永遠不會被嘗試到。agent 沒有這種偏見,它會系統性地探索整個搜尋空間。

Shopify 執行長 Tobias Lütke 在看到 Karpathy 的 AutoResearch 後,馬上拿來用。讓它跑了一整晚,執行了 37 個實驗,最後拿到 19% 的效能提升。這不是在學術實驗室裡的數字遊戲,而是一家市值數百億美元的公司的執行長,親手驗證了這個工具的實用性。

Program.md:AI 研究組織的「章程」

在訪談中,Karpathy 提出了一個很有意思的概念:program.md。這是一個 Markdown 格式的文件,描述 AutoResearch agent 該怎麼運作。它定義了 agent 的角色、可以做什麼、不可以做什麼、怎麼評估結果、遇到問題怎麼處理。你可以把它想成是一個 AI 研究團隊的組織章程。

這個概念的厲害之處在於,program.md 本身也可以被最佳化。Karpathy 跟主持人 Sarah Guo 討論了一個想法:既然 agent 可以最佳化程式碼,那能不能讓 agent 也最佳化自己的 program.md?換句話說,你可以跑一個 meta 層級的 AutoResearch,去找哪種 program.md 的配置能讓 agent 產出最好的研究成果。Sarah Guo 稱之為「meta-optimization」。

Karpathy 更進一步把這個概念推廣到整個研究組織。他說,每一個研究機構本質上都可以用一組 program.md 來描述。哪些人負責什麼角色、怎麼溝通、什麼時候開會、怎麼分配運算資源。如果你把這些全部程式碼化,那就可以最佳化「研究組織的設計」本身。也許某個組織少開一點站會效率會更高,也許某個組織應該更冒險地分配資源。當組織設計變成程式碼,這些問題就有了實驗方法可以回答。

AI 的「鋸齒感」:能做和不能做的邊界

Karpathy 對 AutoResearch 的前景很興奮,但他同時非常坦率地指出了局限性。他用了一個詞叫「jaggedness」(鋸齒感),用來描述目前 AI 模型能力分布的不均勻。在某些領域,AI 表現得出奇地好;在另一些領域,它又蠢得令人費解。

他舉了一個具體例子:他問 ChatGPT 講個笑話,連續好幾個月,不管模型更新了多少次,它都給出同一個過時的、不好笑的笑話。但在同一段時間裡,這些模型在寫程式、做數學推理方面的能力突飛猛進。這種落差說明了一件事:模型的「程式碼聰明度」和「一般聰明度」之間存在脫鉤。強化學習讓模型在有客觀指標可評估的領域(程式碼能不能跑、數學答案對不對)不斷進步,但在沒有明確對錯的領域(笑話好不好笑、文章寫得好不好),進步就慢得多。

這個觀察對 AutoResearch 的適用範圍有直接的影響。Karpathy 的結論是:如果一個任務的好壞可以被自動評估,那它就適合 AutoResearch。如果不能,那就不適合。寫更快的 CUDA kernel 適合,因為你可以量化速度提升。調校語言模型適合,因為你有 validation loss 可以看。但「寫一篇更好的論文」不適合,因為「更好」沒有客觀定義。「設計更好的使用者介面」不適合,因為你沒辦法自動評估美感和可用性。

Karpathy 也因此質疑了目前各大 AI 實驗室把所有能力塞進同一個巨大模型的做法。他認為未來應該會有更多的「物種分化」(speciation),針對不同任務使用不同的專精模型,而不是一個什麼都懂但什麼都不精的萬能 Oracle。

分散式 AI 研究:SETI@Home 的 AI 版本

訪談中最具想像力的部分,是 Karpathy 談到 AutoResearch 的下一步:分散式協作。他的想法是,如果一個 agent 可以獨立跑實驗,那一百個 agent 為什麼不能協同運作?而且這些 agent 不一定要在同一個組織裡。

他拿 SETI@Home 和 Folding@Home 做類比。這兩個專案讓全世界的志願者貢獻自己電腦的閒置算力來做科學計算。AutoResearch 有一個天然的優勢讓它適合這種模式:驗證一個實驗結果的成本很低。如果有人(或某個 agent)提交了一個宣稱能降低 loss 的程式碼修改,你只要跑一次訓練就能驗證這個宣稱是真是假。產生結果很貴,驗證結果很便宜。這正好是分散式計算最適合的場景。

Karpathy 甚至開始思考,在這個未來裡,算力(flops)會不會取代金錢成為衡量財富的新單位。他觀察到,現在即使你有錢,也不一定買得到運算資源,因為供給嚴重不足。你控制多少 flops,可能比你的銀行帳戶餘額更能決定你在 AI 時代的影響力。

我的觀察

AutoResearch 最讓我興奮的地方,不是它在頂尖實驗室的應用,而是它對資源有限的小團隊意味著什麼。臺灣有很多 AI 新創和學術團隊,他們的 GPU 資源跟 Google、Meta 不在同一個量級。但 AutoResearch 的哲學是用時間換空間。你不需要一千張 H100,你只需要一張 GPU 跑一整晚。630 行 Python 腳本,MIT 授權,任何人都可以用。

這讓我想到一個更根本的問題:AI 研究的民主化到底會走到什麼程度?過去幾年,大家都在說 AI 研究越來越集中在少數大公司手裡,因為只有他們有錢買算力。但 AutoResearch 提供了一個不同的路徑。它把「聰明地探索」的部分自動化了,讓個人或小團隊也能在有限資源下做出有意義的研究。當然,它目前只適用於有明確指標的最佳化任務。但光是這一塊,已經涵蓋了 AI 研究中相當大的一部分工作。

Karpathy 說「所有前沿 AI 實驗室都會做這件事」。我相信他說的沒錯。但更重要的是,不只前沿實驗室可以做。任何有一張 GPU、懂得怎麼定義指標的人,現在都有機會在自己的領域裡跑出有價值的發現。