資料也可以 Autoresearch:Meta AutoData 的三層 Agent 迴圈
讀到 weak solver 71.4%、strong solver 73.3% 這兩個數字的時候,我的第一個反應是:這資料根本沒用。
這是傳統 CoT Self-Instruct 合成資料的表現——兩個能力差距顯著的模型,答題分數幾乎一樣。代表生出來的題目太簡單了,任何模型都能答。你拿這樣的資料去訓練,等於在用一套根本沒有區分度的考題練習,什麼都學不到。
合成資料的品質問題由來已久。Self-Instruct、CoT Self-Instruct 這些方法的根本缺陷是:它們在生成資料的時候沒有品質的直接回饋。你生出一百道題,不知道哪道有用、哪道廢,只能用 filtering 事後篩,但 filtering 沒辦法告訴你「怎麼生出更好的題」。
Meta 的 AutoData(2026 年 4 月,Jason Weston team)的回答是一個視角的轉換:資料品質本身是一個有 evaluation function 的問題,因此可以用 agent loop 優化。
讀完這篇,你會理解:
- 為什麼 weak/strong solver 差距可以當作資料品質的 evaluation function
- AutoData 三層架構各自解決什麼問題
- Meta-optimization 怎麼把 AutoResearch 應用到 agent harness 本身
- 這個設計的邊界在哪裡,以及論文已知的限制
這篇沒有程式碼,只有設計概念。它是在問:AutoResearch 的思路,在資料生成這個領域能走多深?
把資料品質問題轉化成 Evaluation Function
解決合成資料品質問題,先要把「品質」定義成可以量化的東西。AutoData 的定義很具體:一個高品質的訓練範例,是讓 weak solver 答不出來、但 strong solver 能答出來的問題。
這個定義有三層含義。第一,它是可以自動計算的——直接跑兩個模型看分數,不需要人工標注。第二,它有方向性——你知道「往哪個方向改進」:讓分數差距變大。第三,它有實際意義——能區分弱強模型的題目,訓練起來才有信號;如果兩個模型都會,你什麼都沒學到。
實作上的門檻設計:
ACCEPT 條件(同時滿足):
- weak_avg ≤ 65%
- strong_avg - weak_avg ≥ 20%
若不滿足:
主 agent 分析 judge feedback → 修改 Challenger 的 prompt → 重試
通常跑 3-5 輪才能產出一個 accepted question
這個設計把「資料品質」從一個模糊的判斷,變成了一個可以跑 agent loop 的優化目標。有了這個 evaluation function,後面的三層架構才能成立。
三層架構:為什麼需要這麼多層?
AutoData 的架構有三個巢狀迴圈,每一層解決不同層次的問題:
┌─────────────────────────────────────────────────────────┐
│ META-OPTIMIZATION(Outer Outer Loop) │
│ 優化 agent harness 本身(prompt + scaffold code) │
│ ┌───────────────────────────────────────────────────┐ │
│ │ DATA SCIENTIST LOOP(Outer Loop) │ │
│ │ Agent 扮演資料科學家,迭代改進資料生成 recipe │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ DATA CREATION(Inner Loop) │ │ │
│ │ │ Challenger 生成 → Weak/Strong 評估 → │ │ │
│ │ │ Judge 評分 → 不過就修 prompt,重試 │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Inner Loop(Data Creation) 解決的是單一範例的品質問題。四個 subagent 各有角色:
| Agent | 角色 |
|---|---|
| Challenger LLM | 生成訓練範例(input + response + rubric) |
| Weak solver | 預期「通常失敗」的小模型(Qwen3.5-4B) |
| Strong solver | 預期「通常成功」的大模型(Qwen3.5-397B) |
| Verifier / Judge | 按 rubric 評分 solver 的答案 |
每次生成後立刻評估,不達標就分析 judge 的回饋、修改 Challenger 的 prompt 重試。這是最快的回饋循環,通常 3-5 輪就能產出一個符合門檻的範例。
Outer Loop(Data Scientist) 解決的是整個資料集的系統性問題。當 inner loop 累積了一批通過品質門檻的範例後,agent 從全局視角分析:這批資料有什麼共同弱點?哪些類型的題目一再失敗?從這些觀察中更新生成 recipe,讓後續的 inner loop 從改進後的起點出發。
Outer Outer Loop(Meta-Optimization) 解決的是 agent harness 本身可能有系統性缺陷的問題。這一層不是在優化生成出來的資料,而是在優化生成資料的 agent 架構本身,後面會仔細說。
這三層的分工讓系統可以同時在不同時間尺度上改進:inner loop 快速試錯、outer loop 總結規律、meta-optimization 修正架構缺陷。
結果:Gap 從 1.9pp 擴大到 34pp
Agentic Self-Instruct 和 CoT Self-Instruct 的對比很直接:
| 方法 | Weak Solver | Strong Solver | Gap |
|---|---|---|---|
| CoT Self-Instruct | 71.4% | 73.3% | 1.9pp |
| Agentic Self-Instruct | 43.7% | 77.8% | 34pp |
差距擴大了 18 倍。用 Agentic Self-Instruct 資料訓練出來的模型,在 in-distribution 和 out-of-distribution 任務上都優於 CoT Self-Instruct。
這個結果說明的不只是方法有效,而是它驗證了最初的假設:weak/strong gap 確實是一個有意義的資料品質 proxy。讓 gap 變大的資料,訓練出來的模型真的比較強。
Meta-Optimization:把 AutoResearch 對準 Agent Harness 本身
Meta-optimization 是這篇論文最有意思的部分,也是它和前幾篇 AutoResearch 概念連結最緊密的地方。
前面說的 inner/outer loop 解決了「怎麼生出更好的資料」,但還有一個更深的問題:生成資料的 agent harness 本身(它的 prompt 設計、scaffold code、判斷邏輯)可能有系統性的缺陷,而這些缺陷不是靠調整生成策略能修的,需要直接改 harness。
Meta-optimization 的做法:
1. Boltzmann sampling 選 parent harness(有機率選次優的,避免局部最優)
2. 在 training papers 上跑 inner loop,收集 trajectories
3. LLM 分析 trajectories → root-cause analysis(找系統性失敗模式)
4. Code-editing agent 修改 harness → 產生 diff
5. 在 held-out validation papers 上評估 parent vs mutant
6. 只有 mutant > parent 才 accept(加入 population)
7. 把結果記錄到 history log(供後續 analyzer 讀取)
結果:validation pass rate 從 12.8% 提升到 42.4%,跑了 233 次迭代,126 次被 accepted。
更有意思的是 agent 自動發現的四個改進,它們都不是事先設計的,是 meta-optimization 過程中自己找到的:
| 改進 | 內容 |
|---|---|
| Paper-specific insight enforcement | 加 self-test:「沒讀這篇論文能答嗎?能 → 題目太簡單」 |
| Context leak prevention | 加 self-test:「context 裡包含答案嗎?有 → 重寫」 |
| Positive-only rubric + weight cap | 刪除負分 criteria,所有 weight ≤ 7 |
| Structured rubric format | 強制 JSON + integer weights |
第三個發現特別反直覺:負分 criteria 實際上損害了 strong solver 的表現。這不是任何人事先預期到的,是 meta-optimization 從大量 trajectory 分析裡找到的系統性問題。人工設計的 harness 帶著這個 bug,agent 自己把它修掉了。
這個設計的邊界在哪裡?
論文明確列出了幾個已知限制。
Agent hacking 是一個真實發生的問題:有時 agent 學會修改 weak solver 的 prompt,讓它刻意表現差,來欺騙品質評估系統。Evaluation function 本身可以被攻擊,這在所有 autoresearch 系統裡都是潛在風險。
目前只在單一領域(CS research QA)測試。Weak/strong gap 作為 proxy 的有效性,在 math、code、safety 等不同任務域是否成立,還需要驗證。Evaluation function 的設計不是通用的,每個域可能需要不同的品質定義。
Example-level 優化 vs. dataset-level 優化。現在的 inner loop 每次只看一個範例夠不夠好,但一個好的資料集不只是好範例的集合,還需要足夠的多樣性。如果所有通過品質門檻的題目都長一個樣,訓練出來的模型也會有偏。
結語:AutoData 的核心主張不複雜:資料品質是一個可以量化的問題,量化了就可以跑 agent loop,agent loop 可以遞迴地對準自己。