我將詳細說明如何建立一個能取代整個量化研究團隊的 AI Agent 群。
我們直接進入正題。
收藏本文
- 我是 Roan,一名後端開發者,專注於系統設計、高頻交易風格的執行以及量化交易系統。我的工作重點是研究預測市場在負載下的實際行為。歡迎任何建議、深思熟慮的合作或合作機會,請直接私訊我。
在我的上一篇文章中,我提到會親自指導前 20 位建立 AI 量化系統的人。我是認真的。
已經有四位開發者與我一起深入這個過程。其中一位正在執行完整的自我進化對沖基金循環。
這個提議仍然有效。
如果你正在建立一個 Alpha 研究系統,即將開始,或者甚至只是在考慮,請在這篇文章下方回覆或私訊我你目前的設定。我會親自檢視你的架構,並指出你目前擁有的系統與一個能自主尋找 Alpha 的 Agent 群之間的差距。
如果我沒有回覆,代表你不在前 20 名之內。動作要快。
大多數量化分析師尋找 Alpha 的方式,仍然和十年前一模一樣。
他們讀一篇論文。打開 Jupyter Notebook。設計幾個特徵。跑一次回測。瞇著眼看一下 Sharpe 比率。然後繼續下一個想法。
他們自己就是整個流程。
研究的每個階段都是他們自己,坐在螢幕前,一次只測試一個假設。
地球上最聰明的量化系統建構者已經不再這麼做了。
他們建立的是 Agent 群。 群中的每個 Agent 負責研究的一個階段。這些 Agent 並行工作。整個群持續運作。新的 Alpha 在他們睡覺時每天早上自動出現。
Anthropic 的 Claude Code 負責人 Boris Cherny 兩週前說過:「我已經不再直接對 Claude 下指令了。我有一些循環在執行,它們會對 Claude 下指令並決定下一步要做什麼。我的工作變成了撰寫這些循環。」
這一句話徹底改變了地球上每個認真建構者對 AI 的看法。
對量化研究來說,這改變了一切。
因為 Alpha 研究本身就是一個流程。閱讀論文。提取假設。設計特徵。在 20 年的數據上進行回測。檢查顯著性。檢查訊號是否在不同市場狀態下都有效。針對每個已知因子進行分解。
華爾街上每個認真的基金都在執行這個精確的流程。文藝復興科技公司用 100 位博士來執行。Two Sigma 用 200 位。Citadel 用更多。
唯一的區別是,他們需要數百個人類坐在這個流程裡面。你不需要。
一個由 AI Agent 組成的群可以為你執行這個流程的每個階段。每個 Agent 都是專家。每個 Agent 都在最適合其複雜度的模型上運行。它們全部 24/7 並行運作。
過去幾天我一直在建立這個 Agent 群。
它會在夜間閱讀新的研究論文。研究其中的數學模型。提取被聲稱的具體假設。設計所需的特徵。針對 20 年的歷史數據回測訊號。執行統計嚴謹性檢查。檢查過擬合。標記任何只在一個市場狀態下有效的訊號。
到這篇文章結束時,你將了解一個由六個 Agent 組成的 Alpha 研究群的確切架構。
你將知道那個能讓你在一個週末內建立它,而無需從頭編寫自己的 Agent 框架的工具。
而且你將知道導致 90% 散戶嘗試失敗的五種失敗模式。
讓我們開始吧。
第一部分:Agent 群到底是什麼
一個提示詞就是一個問題。你提問,模型回答一次,然後停止。
一個循環就是一個任務。Agent 持續工作,檢查自己的進度,並持續進行,直到任務真正完成。
一個 Agent 群就是許多並行運作的循環。每個循環都是一個專家。每個專家負責流程的一個階段。一個的輸出會饋送給下一個的輸入。
這就是完整的思維模型。
如果你用過 Claude Code、Cursor 或 Codex,你已經在不知不覺中使用過循環了。Agent 呼叫模型,模型選擇一個動作,動作執行,結果回傳給模型,然後重複這個過程,直到達成目標。
循環是讓 Agent 成為 Agent,而不只是一個單一答案的關鍵。
Agent 群是讓一個研究團隊成為研究團隊,而不只是一個研究員在打字的關鍵。
第二部分:運行 Agent 群的工具
你可以嘗試用 Python 腳本呼叫不同的 API 來自己建立這個系統。
我試過。一旦一個 Agent 需要等待另一個 Agent,它就崩潰了。一旦你需要狀態在循環之間持續存在,它就崩潰了。一旦你想在六個不同的模型上並行運行六個循環,它就崩潰了。
你最終會從頭開始建立自己的 Agent 框架,而不是專注於研究。
然後我找到了 Slate。

Slate 是一個由 @wearerandomlabs 建立的 AI 編碼工具。它在你的終端機中運行。它可以將任何任務分派給你的程式碼庫中的一個子 Agent 群。它可以在任何步驟選擇你想要的任何模型。你現有的訂閱即可使用。
我在這個 Agent 群中使用它的原因是他們剛推出的一項功能,叫做 Programs。
Program 是一個用 JavaScript 編寫的循環,由 Slate 為你運行。
一個提示詞運行一次就停止。而 Program 是一個經過設計的循環。它持續運行。它在運行之間保持狀態。它會一直進行,直到任務完成。
你可以決定每一步要做什麼。哪個模型處理哪一步。循環在繼續之前要檢查什麼。何時停止。
你不需要獨自編寫 Program。你告訴 Slate 你想要什麼,它就會與你一起逐步起草這個循環。它會保存這個循環。運行它。並持續運行它。
因為循環是程式碼,它可以保持狀態、與你的程式碼庫互動、呼叫外部 API、發佈到 Slack,以及在你選擇的任何模型組合上並行協調多個子 Agent。對於簡單的工作使用便宜的開放權重模型。對於困難的推理使用前沿模型。選擇最適合該步驟的模型。
對於一個由六個 Agent 組成的研究群來說,這正是過去一直缺少的那一層。
你可以在 https://randomlabs.ai 找到 Slate。它現在就可以使用。
現在讓我向你展示這個 Agent 群。
第三部分:六個 Agent
每個認真的量化基金都運行相同的六個研究階段。
以下是取代它們的 Agent 群。
Agent 1:創意產生器。
每晚從 arXiv q-fin、SSRN 和金融期刊閱讀新的研究論文。
研究每篇論文提出的數學模型。提取被聲稱的具體假設、所需的數據以及預測訊號的方向。
將每個假設撰寫成結構化的研究任務單,供下一個 Agent 接手。
在快速且成本效益高的模型上運行,因為這個任務是大量結構化提取。
Agent 2:特徵工程師。
接收一個假設任務單。從價格資料庫或基本面資料庫中提取所需的數據。
構建特徵向量。在整個截面數據上進行標準化。處理缺失觀測值、超過三個標準差的離群值以及未來信息偏差。
輸出一個乾淨的、準備好進行回測的數據框。
Agent 3:回測器。
接收特徵向量。建立投資組合構建規則。在 20 年的歷史數據上運行回測,並考慮實際的交易成本、做空方的借券成本以及滑點。
輸出 Sharpe 比率、最大回撤、換手率和容量估計。
Agent 4:驗證器。
這是嚴謹性所在。
接收回測結果。運行 Newey-West 調整 t 統計量,以修正回報序列中的自相關。運行 10,000 次迭代的 Bootstrap 重抽樣,以檢查 Sharpe 比率是真實的還是樣本假象。
標記任何未通過顯著性閾值的訊號。消滅任何樣本內與樣本外表現退化超過 30% 的訊號,因為這就是過擬合。
在更強的推理模型上運行。製造者永遠不該驗證自己的工作。永遠。
Agent 5:市場狀態審計員。
接收通過驗證的訊號。將 20 年的歷史數據按市場狀態進行分段(透過對波動率和回報率使用隱馬爾可夫模型來識別)。
重新計算每個市場狀態內的 Sharpe 比率、回撤和命中率。消滅任何只在一個市場狀態下有效的訊號,因為這只是偽裝成 Alpha 的市場時機選擇。
Agent 6:因子分解器。
接收對市場狀態穩健的訊號。將其對 Fama-French 五因子模型加上 Carhart 動能因子再加上一個低波動因子進行回歸。
報告殘差 Alpha(回歸的截距項)及其 t 統計量。
只有那些殘差 Alpha 在因子分解後仍然存在的訊號才是真正的新 Alpha。其他一切都只是經過額外步驟重新包裝的動能或價值。
六個 Agent。每個負責一個階段。它們將輸出向下傳遞。

一個 Slate Program。六個專業 Agent。每 24 小時運行一次。
整個 Agent 群運行在一個每 24 小時觸發一次的 Slate Program 上。
第四部分:如何逐步建構
以下是確切的建構步驟。跟著做,你將在一天結束前讓這個 Agent 群運行起來。
步驟 1:安裝 Slate
打開你的終端機並運行:
1npm install -g @randomlabs/slate
Slate 會在 30 秒內作為全域 CLI 安裝完成。
然後建立專案目錄:
1mkdir alpha-swarm2cd alpha-swarm3slate init
slate init 會用你需要的資料夾來建立專案結構,用於存放狀態、Programs 和提供者。
步驟 2:連接你的模型
運行:
1slate /providers
這會打開 Slate CLI 內的提供者配置畫面。連接你想要使用的模型。
對於這個 Agent 群,我在快速 Agent(創意產生、特徵工程、回測、市場狀態審計)上使用 Sonnet,在推理密集型 Agent(驗證和因子分解)上使用 Opus。

步驟 3:起草 Program
啟動 Slate:
1slate
然後在 Slate CLI 中輸入:
幫我起草一個 Program,按順序運行六個研究 Agent:創意產生器、特徵工程師、回測器、驗證器、市場狀態審計員、因子分解器。每 24 小時運行一次。快速 Agent 使用 Sonnet,驗證和因子分解使用 Opus。
Slate 會與你一起起草這個 Program。它會問一些釐清問題。使用哪個數據源。回測窗口多長。Sharpe 比率閾值是多少。使用哪種市場狀態分類器。你用自然語言回答。Slate 會編寫 JavaScript。
以下是這個循環寫好後的樣子:
1export default async function alphaSwarm(slate) {2 while (true) {3 // 階段 1:閱讀論文,提取假設4 const hypotheses = await slate.agent('idea-generator', {5 model: 'sonnet',6 task: '閱讀過去 24 小時內 arXiv q-fin 和 SSRN 的內容。提取 10 個 Alpha 假設,包含聲稱的方向、所需數據和論文參考。',7 state: slate.state.get('tested-hypotheses')8 });910 // 階段 2:特徵工程,每個假設並行處理11 const features = await Promise.all(12 hypotheses.map(h => slate.agent('feature-engineer', {13 model: 'sonnet',14 task: `為以下內容建立特徵向量:${h.claim}。在整個截面數據上進行標準化。處理未來信息偏差。`,15 data: slate.tools.priceData()16 }))17 );1819 // 階段 3:20 年回測,考慮實際成本20 const backtests = await Promise.all(21 features.map(f => slate.agent('backtester', {22 model: 'sonnet',23 task: '運行 20 年回測。包含每筆交易 5 個基點的交易成本和做空成本。',24 features: f25 }))26 );2728 // 階段 4:在推理模型上進行統計驗證29 const validated = await Promise.all(30 backtests.map(b => slate.agent('validator', {31 model: 'opus',32 task: 'Newey-West t 統計量高於 2.5。Bootstrap 10k 次。如果樣本內/樣本外 Sharpe 比率退化超過 30% 則拒絕。',33 backtest: b34 }))35 );3637 // 階段 5:透過 HMM 進行市場狀態分割38 const regimeChecked = await Promise.all(39 validated40 .filter(v => v.passed)41 .map(v => slate.agent('regime-auditor', {42 model: 'sonnet',43 task: '在波動率和回報率上擬合 3 狀態 HMM。重新計算每個市場狀態的 Sharpe 比率。如果只有一個市場狀態有效則拒絕。',44 result: v45 }))46 );4748 // 階段 6:因子分解以分離殘差 Alpha49 const finalSignals = await Promise.all(50 regimeChecked51 .filter(r => r.passed)52 .map(r => slate.agent('factor-decomposer', {53 model: 'opus',54 task: '針對 Fama-French 5 因子 + Carhart 動能 + 低波動因子進行回歸。報告殘差 Alpha 和 t 統計量。',55 result: r56 }))57 );5859 // 持久化、通知、休眠60 await slate.state.set('final-signals', finalSignals);61 await slate.state.append('tested-hypotheses', hypotheses);62 await slate.notify.slack('research', `${finalSignals.length} 個新訊號今天通過了全部六個階段。`);63 await slate.sleep('24h');64 }65}
這就是整個 Agent 群。一個檔案。六個 Agent。永遠運行。



步驟 4:運行 Agent 群
保存檔案並運行:
1slate run alpha-swarm.js
在你按下 Enter 的瞬間,Slate 就會啟動這個循環。六個 Agent 按順序啟動。
特徵工程針對每個假設並行運行。回測並行運行。驗證在更強的模型上運行。
你可以從 Slate CLI 即時觀看每個 Agent 的工作情況。每個 Agent 都會顯示其狀態、當前任務和進度。
[截圖 4:終端機顯示 Agent 群正在運行,多個 Agent 並行活躍,每個階段的進度指示器可見。]
第一個循環需要 20 到 40 分鐘,具體取決於第一階段產生了多少個假設。
最後,Slate 會將通過的訊號及其 Sharpe 比率、回撤和殘差 Alpha 發佈到你的 Slack 頻道。然後休眠到明天。
步驟 5:迭代
循環的第一個版本永遠不會是最終版本。
創意產生器會產生重複項。在 Slate 中輸入:
新增一個針對狀態歷史的檢查,使其只提出我們在過去 30 天內尚未測試過的假設。
驗證器會拒絕你認為應該通過的訊號。輸入:
將 Sharpe 比率閾值放寬到 1.2,但將最大回撤閾值收緊到 8%。
Slate 會為你更新 Program。下一個循環將使用新的邏輯。每一次改進都會累積到狀態檔案中,隨著時間推移,Agent 群會變得更加敏銳,因為它記住了所有已經測試過和拒絕過的內容。
第五部分:這如何真正取代一個研究團隊
三種模式涵蓋了所有實際部署。
模式 1:隔夜發現。
Agent 群從晚上 8 點運行到早上 8 點。每天早上醒來,你會看到兩到三個通過了所有六個階段的訊號。
你的工作變成了審查通過的訊號,而不是自己運行整個流程。
模式 2:假設爆發模式。
新論文發布。新數據源可用。你按需啟動 Agent 群,當天下午就能測試 100 個假設。
一個人類研究員在同一時間內只能測試兩個。
模式 3:Alpha 衰減監控。
Agent 群每週使用最新數據重新運行已驗證的訊號。一旦某個訊號的 Sharpe 比率低於閾值,它就會標記衰減。
你在回撤累積之前就減少曝險。
每種模式都取代了過去需要博士學位才能執行的特定功能。結合起來,它們取代了研究團隊日常所做的大部分工作。
第六部分:導致 90% 散戶嘗試失敗的五種失敗模式
失敗模式 1:跳過驗證器。
你會得到 100 個擁有漂亮 Sharpe 比率但缺乏嚴謹性的訊號。每一個都是偽裝的數據窺探。
驗證器是不可妥協的。使用你最強的模型。設定嚴格的拒絕閾值。永遠不要讓製造者驗證自己的工作。
失敗模式 2:沒有狀態持久化。
一個沒有記憶的 Agent 群每天都會測試同一個失敗的假設。
每個被拒絕的訊號都必須記錄下來,並附上確切的拒絕原因,這樣就沒有 Agent 會在同一個失敗上浪費 token。
失敗模式 3:沒有製造者-檢查者分離。
產生假設的 Agent 是判斷它是否為真正 Alpha 的最差人選。
將製造者和檢查者分散到不同的 Agent 和不同的模型上。文藝復興科技公司這樣做。Two Sigma 這樣做。Citadel 這樣做。你的 Agent 群也應該這樣做。
失敗模式 4:一個 Agent 包辦所有事情。
當你試圖讓一個 Agent 同時負責產生、工程、回測和驗證時,品質就會崩潰。
專業化是 Agent 群運作的關鍵。每個 Agent 完美地做好一件事。
失敗模式 5:循環沒有停止條件。
一個沒有真正停止條件的循環會默默地失敗。Agent 發出完成訊號,認為工作已經完成。糟糕的結果未被修正。
每個停止條件都必須可以由 Agent 自身聲明以外的東西來檢查。「過去 30 個樣本外交易的 Sharpe 比率高於 1.5。」「回撤低於 5%。」永遠不要用「Agent 說它完成了。」
尊重這五點,Agent 群就能產生機構級別的研究成果。
總結
Alpha 研究本身就是一個流程。六個階段。閱讀論文。設計特徵。回測。驗證。檢查市場狀態。針對因子進行分解。
每個認真的基金都用 100 位博士來運行它。
一個由六個專業 AI Agent 組成的群可以為你運行每個階段。每個 Agent 選擇最適合其複雜度的模型。整個 Agent 群運行在一個每 24 小時觸發一次的 Slate Program 上。
Slate 的 Programs 是讓這個系統能在一個週末內真正交付,而不是花六個月的關鍵。
它與你一起起草循環。它保存循環。它運行循環。它永遠運行。
你不再是流程本身。你成為了架構師。
基礎設施的護城河是真實的。研究的護城河已經不復存在。
這就是重點。
如果你想試試看,請在
https://randomlabs.ai 註冊,並追蹤
@wearerandomlabs 以獲取發布資訊。
在我上一篇關於循環工程的文章中,我詳細說明了同樣的架構如何連接到一個完整的、能夠自主執行交易的自我進化交易系統。如果你還沒讀過,請在讀完這篇之後立即閱讀。
這個 Agent 群就是那個系統的研究部分。
https://x.com/RohOnChain/status/2069056530960490835
最先建立這個系統的基金將在未來十年內實現複利增長。
那些仍然一次只測試一個假設的基金將被遠遠拋在後面。
所以,這裡有一個值得深思的問題。
你是一個仍然每週只測試一個假設的研究員,還是一個建立了每晚在你睡覺時測試一百個假設的 Agent 群的架構師?
沒有錯誤的答案。但有些答案非常能說明問題。





