pi-autoresearch:讓 AI Coding Agent 自主跑優化迴圈,Karpathy 方法論的工程實現
大多數 AI coding agent 的工作方式是「你下指令,它寫程式碼」。pi-autoresearch 做的事情不一樣——它讓 agent 自己決定怎麼改、自己量測結果、自己判斷要不要留下這次改動,然後繼續下一輪。這是 Andrej Karpathy 提出的 autoresearch 方法論的工程實現:把「優化-量測-重複」的迴圈交給 agent 自主運行,人類只需要定義目標指標。
4.5k stars、MIT 授權、TypeScript 為主。這不是概念展示,是可以直接裝進 pi agent 的 production-grade extension。
兩層架構:通用引擎 + 可抽換技能
pi-autoresearch 的設計把關注點拆得很乾淨。底層是 domain-agnostic 的 extension 核心,負責工具介面、狀態管理、dashboard 和 git 操作;上層是 swappable skills,封裝了特定領域的指標定義和量測邏輯。
這個迴圈的關鍵在於:agent 不需要人類在中間做任何判斷。信賴度評分和品質閘門自動決定改動的去留,整個過程是自治的。
三個核心工具
Extension 對外暴露三個工具,覆蓋完整的實驗生命週期:
| 工具 | 功能 | 觸發時機 |
|---|---|---|
init_experiment | 初始化實驗,定義指標和基線 | 迴圈開始前 |
run_experiment | 執行量測,收集指標數據 | 每次程式碼修改後 |
log_experiment | 記錄結果並 auto-commit | 量測完成後 |
log_experiment 特別值得注意:它不只是寫 log,還會自動把被保留的改動 commit 到 git。這意味著每一次有效的優化都有完整的版本紀錄,回溯和審查都不是問題。
持久化狀態:兩個檔案搞定一切
pi-autoresearch 的狀態管理極度簡潔:
- autoresearch.jsonl:append-only 日誌,每一行是一次實驗的完整記錄(指標、時間戳、commit hash、信賴度)。格式是 JSON Lines,任何工具都能解析。
- autoresearch.md:living document,隨著實驗進展自動更新的人類可讀摘要。你可以直接在 PR 裡引用它。
不需要資料庫,不需要外部服務。兩個純文字檔案,跟你的程式碼一起版本控制。這是對「最小可行基礎設施」的正確理解。
信賴度評分:MAD 而非標準差
多數人會用標準差來判斷量測結果是否顯著。pi-autoresearch 選擇了 Median Absolute Deviation(MAD),理由很直接:MAD 對離群值的抵抗力遠強於標準差。在自動化迴圈裡,偶爾一次異常量測不應該毀掉整個判斷。
MAD 信賴度等級與改動保留率
Green 代表改動幅度超過 2 倍 MAD,統計上有充分信心這不是噪音;Yellow 代表有改善但不夠確定,需要額外驗證;Red 代表改動幅度小於 1 倍 MAD,大概率是隨機波動,直接丟棄。
這個三級制讓 agent 在不確定時也能做出合理決策,而不是二元的「接受或拒絕」。
品質閘門:改得快不代表改得對
自動化優化最大的風險是什麼?性能數字變好了,但測試壞了、型別錯了、lint 不過了。pi-autoresearch 用 autoresearch.checks.sh 解決這個問題——一個可選的 shell script,在每次保留改動後自動執行。
你可以在裡面放任何東西:
#!/bin/bash
npm run test
npm run lint
npx tsc --noEmit
閘門不過,改動不會被 commit。這是自動化系統裡不可少的安全網。
Dashboard:TUI + 瀏覽器雙軌
pi-autoresearch 提供兩種觀測介面:
- TUI Widget:在終端裡按 Ctrl+X 開啟即時面板,顯示當前迴圈進度、指標趨勢、信賴度等級。適合跑迴圈時隨時瞄一眼。
- Browser Dashboard:完整的 live dashboard,圖表、歷史記錄、分支狀態一覽。適合長時間實驗或團隊協作時共享。
兩個介面共用同一份 JSONL 狀態,資料永遠一致。
Finalization:改動變成可 Review 的分支
迴圈跑完後,pi-autoresearch 不是把所有改動堆在一個巨大的 commit 裡。它會把每個被保留的改動分組,產生獨立的 git branch。每個 branch 對應一個可審查的最小變更單元。
這解決了自動化工具最常被質疑的問題:「我怎麼知道 agent 改了什麼?」答案是每個改動都有獨立分支、獨立 commit message、獨立的指標前後對比。Review 的顆粒度跟人類手動提交 PR 一樣。
適合什麼場景
- 效能優化:bundle size、API 延遲、記憶體用量——定義指標,agent 自己跑
- 模型調參:prompt engineering、inference config、量化參數——每次微調都有量化紀錄
- 程式碼品質:test coverage、type safety score、lint warning count——持續壓低技術債
- 演算法迭代:準確率、召回率、F1 score——用 agent 做自動化的超參搜尋
共通點是:你能定義一個可量測的數值目標,且改動可以自動驗證。符合這兩個條件,pi-autoresearch 就能幫你跑。
結語
pi-autoresearch 的價值不在於它能「自動寫程式碼」——那是 2024 年的敘事。它的價值在於把 Karpathy 的 autoresearch 思維框架變成了一套可操作的工程工具:定義指標、自動迴圈、統計檢定、品質閘門、版本追蹤、獨立分支。每一步都有明確的工程約束,不是放任 agent 亂改。
4.5k stars 和 MIT 授權說明社群認可這個方向。如果你手上有任何可量測的優化目標,與其手動跑十輪 A/B 測試,不如讓 agent 自己跑——但前提是有像 pi-autoresearch 這樣的框架,確保每一步都可追蹤、可驗證、可回滾。