Git 提交作為科學發現:Autoresearch 如何將版本控制變成研究實驗室
在傳統軟體開發中,git 提交意味著「這段程式碼可以工作了」。在 Karpathy 的 autoresearch 中,git 提交意味著不同的東西:「這個改變讓模型可測量地變得更好了。」
每一次提交都是一個小小的科學發現。每一次 git reset 都是一個沒有得到證實的假設。git 日誌成為一本研究日記,由 AI 代理自動撰寫。
這是版本控制被重新構想為研究工具。
二元決策
Autoresearch 對 git 的使用簡潔優雅:
- 代理修改
train.py - 訓練執行 5 分鐘
- 測量驗證損失
- 如果改進了:
git commit——這個改變被保留 - 如果沒有改進:
git reset——這個改變不曾發生
沒有拉取請求,沒有程式碼審查,沒有合併衝突。只是一個二元決策:這個改變讓事情變得更好還是沒有?
這建立了一個乾淨、線性的改進歷史。日誌中的每個提交都代表一個經過驗證的向前邁進的步驟。沒有雜訊——沒有「WIP」提交,沒有「修復錯字」提交,沒有「撤銷撤銷」鏈。只是每一個都讓模型可測量地變得更好的改變序列。
Git 日誌作為研究日記
經過一個通宵的 autoresearch 會話,git 日誌讀起來像一本研究筆記本:
每條提交訊息(由 AI 代理撰寫)描述了更改了什麼以及產生了什麼效果。差異精確地顯示了修改了哪些程式碼。驗證損失的改進被記錄下來。
這比傳統的 ML 研究更具可審計性。研究人員的筆記說「嘗試調整學習率,似乎有幫助」,而這裡有精確的差異、精確的測量和可重複的結果。
跨會話記憶
Git 給 autoresearch 提供了 AI 代理迫切需要的東西:持久記憶。
當你開始新的 autoresearch 會話時,代理可以讀取 git 歷史來了解之前嘗試過什麼。它可以看到哪些方向產生了改進,哪些沒有。這防止代理重新嘗試失敗的實驗,並幫助它在有效的方法上繼續建構。
這是 Markdown 與 git 協同運作:program.md 檔案提供戰略方向(嘗試什麼),而 git 歷史提供戰術上下文(已經嘗試了什麼)。
複利效應
因為每一次成功的提交都成為新的基準,改進會複合積累。代理不是每晚從頭開始——它從迄今為止取得的最佳結果開始。
在 Karpathy 的兩天執行中,大約積累了 20 次改進。每一次都很小,但合在一起,它們將 GPT-2 訓練時間減少了 11%。代理在注意力縮放、正則化和超參數方面發現了相互促進的優化。
這就是基於 git 方法的力量:它自然地建立了一個棘輪。進步被鎖定為提交,失敗被丟棄,程式碼庫只向前移動。
什麼被撤銷
失敗的實驗——git reset 操作——和成功一樣有趣。在典型的通宵執行中,大約 70-80% 的實驗被撤銷。
這些被撤銷的實驗不是浪費。它們是告知代理未來決策的否定結果。透過跨代理記憶和共享 git 歷史,分散式 autoresearch 系統可以從整個集群的失敗中學習。
Git 作為實驗資料庫
傳統的 ML 研究使用實驗追蹤工具——MLflow、Weights & Biases、Neptune——來記錄超參數、指標和產物。
Autoresearch 用 git 取代了所有這些。提交歷史就是實驗日誌,差異就是超參數變化,提交訊息就是實驗描述。
這種簡化很有力量。沒有單獨的實驗資料庫需要維護,沒有需要設定的儀表板,沒有需要定義的模式。只是 git,每個開發者都已經了解。
更廣泛的模式
作為研究日記的 git 模式超越了 ML 訓練:
- 程式碼優化: 每個提交代表一個讓程式碼更快的改變
- 測試覆蓋率: 每個提交代表一個提高測試覆蓋率的改變
- 缺陷修復: 每個提交代表一個解決失敗測試的修復
- 內容優化: 每個提交代表一個改進可測量指標的改變
任何可以自動測量「更好」和「更差」的領域都可以使用 git 作為實驗追蹤器。
人類的角色:閱讀日誌
在 agentic 工程中,經過通宵 autoresearch 會話後,人類的早晨例行工作是閱讀 git 日誌。
這是一種與寫程式碼不同的技能。你正在評估一系列 AI 生成的改變,理解每一個為什麼有效,並決定整體方向是否正確。基於這個審查,你更新 program.md 來引導下一個會話。
Git 日誌是人類和代理之間的通訊管道。代理透過提交進行通訊,人類透過 program.md 更新進行通訊。Markdown 在兩個方向上流動。
建構 Git 友好的知識
撰寫有效的 program.md 檔案——能夠產生乾淨、有意義的 git 歷史的那種——需要深入理解領域和工具。最好的代理指令來自深入研究過問題空間的人。
將參考材料儲存為乾淨的 Markdown 建立了一個知識庫,你在撰寫代理指令時可以從中汲取。文件、研究論文和最佳實踐,都採用自然流入 program.md 並最終流入發現的 git 歷史的格式。
Save 將任何網頁轉換為乾淨的 Markdown——建構驅動有效 AI 代理指令和自主研究的知識庫。免費試用 Save。