一張生成式標題卡,標題為「遞迴式自我改進,詳解」,副標為「封閉迴圈就是計分迴圈,而計分正是問題的核心」,下方是一排三張圓角卡片,分別寫著「預測於執行前登記」、「虛無下限經實際量測,而非憑空假設」和「失敗照樣發布,包括冠軍的失敗」;頁尾寫著「實作範例:RSI-Jev v6.0-VL,發佈於 2026-10-06;該專案自身的紀錄,讀取於 2026-10-08。」,搭配極簡扁平線條圖示,OrcaRouter 標誌合成於右下角。
Guides & Insights

遞迴式自我改進:用一個真正做到的專案來說明

作者

Magnus Corvin

發佈日期

最新模型 · 20查看全部模型 →
基準測試:Artificial Analysis · 每日更新
返回全部文章

「遞迴式自我改進」是那種多半被用來表達某種感覺的說法之一。若不以神秘色彩界定,它的範圍其實比那更窄,也更有意思:一個系統自行提出下一個實驗、加以執行,並依事先訂定的規則保留或淘汰結果,而這些結果又餵養下一輪。遞迴不是魔法,也不是無界的——它是一個帶有評分函式的迴圈,其品質完全取決於那個評分函式被多誠實地套用。RSI-Jev 是打造 Jev 風格 System One 決策模型的第三方開放專案,是少見能讓你直接閱讀迴圈、而不必為它爭論的案例:每個假設、每個失敗的分支、每次發布都連同數字一併公開,而儲存庫逐日標註日期。本頁作為實例的模型是 RSI-Jev v6.0-VL,一個於 2026-10-06 發布的 4B 型別化決策模型,就在上週之內。它不是 TypeSafe 的 Jev,也與 TypeSafe AI 無關——專案自己的授權條款就是這麼寫的,而我們在 OrcaRouter 提供的是另一個,typesafe/jev-1.13,在我們的 systemone 端點上。

在「自我改進」這個詞發揮任何作用之前,先做一點澄清,接著是一個日期。這不是一個無限制自我改寫的模型,本頁任何內容都不應被如此解讀。這裡所說的迴圈會改寫一份配方:它提出一項訓練變更,登錄它預期該變更會產生什麼效果,花費 GPU 時間,然後不是保留該變更,就是記錄它為何失敗。該模型是一座帶有已訓練決策頭的 Qwen3.5-4B-Base 塔——由固定訓練腳本訓練的固定架構,搜尋則涵蓋資料、目標與階段。這個迴圈執行自己的實驗,並汰換自己的優勝者。由人決定什麼值得衡量。至於日期:v6.0-VL 於 2026-10-06 發布,而該專案自那之後又發布了一個後續版本——這條線大致每天推進,而本頁的數字是附屬於此處所指名版本的那些數字,並標註其讀取時的日期。在一頁以持續運行的迴圈為主題的頁面上,這點值得開宗明義先說。

該術語的含義,直白陳述。

把這個詞組拆解開來,會有三個部分,全都平平無奇。第一,搜尋空間:可能被改變的事物集合。第二,評分器:用來說明某項改變是否有幫助的東西。第三,紀錄:嘗試過什麼、發生了什麼,以及什麼被捨棄。當第 N 輪的輸出成為第 N+1 輪在三者上的輸入,且不需要人類每次都重新推導搜尋空間或重新決定門檻時,一個系統就是在進行遞迴式自我改進。

關於這個主題,多數寫作都略過的是第二部分,而整個問題的關鍵就在那裡。一個帶有評分器的迴圈會最佳化評分器。它會產生一條單調上升的線,以及一個已經摸清自己考試形狀的系統。這種失敗不需要惡意或程式錯誤——當同一個數字同時用來選擇與回報時,預設就會發生這種事。所以,當你讀到某個說法,聲稱某個系統正在自我改進時,有用的問題從來不是「它變好了多少」。而是「是誰設下標準、何時設的,以及它能不能在看到結果之後才移動。」

這個概念的熱門版本——如今在該詞彙下搜尋排名居前的那些——大多放眼未來:維基百科的條目描述的是一個改寫自身程式碼、朝向「智慧爆炸」邁進的系統,而更廣泛的報導則往往圍繞著那個時間點會比預測更近還是更遠。那是個合理的論點,而且以任何人目前掌握的證據都無法回答。可以回答的是個較小的問題:上述那類封閉迴路,是否能在當下被打造出來,並受其自身規則約束。就此而言,一個擁有公開產出物的專案勝過十年的臆測,而這也正是本頁其餘部分要談的內容。

封閉,而非僅是迭代:五種機制

一個迴圈不會單憑重複就成為閉合的。許多自動化管線不斷重複,卻從未真正閉合,因為能在看到結果後調整自身閾值的管線,和做不到這一點的管線,做的事情在本質上截然不同。RSI-Jev 自身的規則對這個差異格外明確,而且可以把這些規則當作定義來讀,而不是當作宣言。其中五條規則發揮了大部分作用。

預測會在執行之前登記下來。 在耗費 GPU 時間之前,會先寫下假設,載明它預期會讓哪個數字變動,以及變動多少。未達自己門檻的版本會以失敗發布,而不是被悄悄重新修訂。這正是阻止這個迴圈變成事後解釋產生器的機制,而它要付出真實的代價:紀錄中會包含一些條目,其唯一內容就是某人在紀錄上錯了。

零值底線是量測出來的,不是假設出來的。團隊所跑的各個分組都可證明與對照組完全相同——在任何 GPU 時間之前先以物件身分驗證——而這些分組之間的離散程度就是雜訊底線。小於這條底線的差異不算結果,不論它看起來像什麼。專案自己的標準也反映了這一點:在其內部測試套件上,門檻值為 +0.006,而單一基準測試的每個種子標準差為 0.011–0.016,因此低於此的單一基準測試差異都不是發現。這個領域裡大多數的雜訊是量測出來的,而非統計上的。

保留集一旦被讀取,就已用掉。每個發布版本都只讀取保留集一次,因此兩個版本仍能在對等的基礎上比較——而也因為讀取即耗盡,每個版本都會凍結下一個版本的比較條件。專案自己的說法值得原樣保留:保留集「是從訓練中留出,而非對搜尋封存」。它是對記憶化的檢驗,而非新穎性的保證。而且專案自己公布過,這個評測套件的數字本身就有個漏洞:某個內部任務與數百列訓練資料重疊,因此從 v6.0-VL 起,套件回報時已排除該任務——0.770——而 v5.0-VL 早先的 0.764 也在排除後重新表述為 0.763。這次重新表述正是重點。有個數字被灌了水,原因被找到了,而舊版發布的模型卡是被更正,而不是被放著不管。

失敗會一併發布,包括那些讓專案自家擁護者折損的失敗。該儲存庫於 2026-10-08 讀取的主要統計數字彼此一致:十三天內發布八個版本,以及數百項實驗被完整記錄下來,連失敗也包含在內。負面結果被視為產品本身。貢獻指南直言箇中原因——搜尋中昂貴的部分不在於執行贏家,而在於執行輸家,因此來自外部、測量良好的負面結果能移除一條分支,價值高於小小的正面結果。

發布鏈就是這個專案。每個發布各有一張卡片,全部永久留在主分支上。每張卡片都帶有自己所屬發布的數字,因此某個版本的速度與校準永遠不會覆寫另一個版本的。專案直接說明了理由:那條鏈是唯一能看出自我改進迴路是否正在改進的方法。其他一切——配方、腳本、固定堆疊——只帶有當前發布,因為相反的規則會讓人無法分辨什麼才是當前版本。已發布的檢查點帶有自己的程式碼,因此舊發布不需要舊分支也能保持可執行。

A screenshot of the subject project's own GitHub repository page, Shanghua-Gao / RSI-Jev, showing the repository description 'Typed-decision models (noul / choice / score) trained by a self-improving loop of AI agents - checkpoints, the code that produced them, and every version that failed', the sidebar counters 80 stars, 5 forks and 1 watching, 198 commits and 8 releases, the newest release headed 'RSI-Jev v6.1-VL 4B', an MIT license line, the topic tags ai-agents, autonomous-research, decision-model, jev, recursive-self-improvement, system-one and typed-decisions, and the merge commit 'Merge pull request #33 from Shanghua-Gao/release-v6.1-vl' at the top of the commit list.

紀律的代價是什麼,以及它能換來什麼

紀錄中的兩則故事,是對「自我改進」一詞的誠實制衡,因為兩者都是迴圈自身規則讓工作同時變得更慢、也更好的例子。

第一個是 v1.0 背後的 bug。找到它耗費了七個已登記的負面結果。這七個每一個都是優化器端的修正,降低了訓練不穩定性,卻沒有消除它,因為成因是一個遠離優化器的精度錯誤——而最終的修正只有一行。這七個單獨來看,沒有一個值得發表。它們合在一起,才讓成因有可能被找到,而這正是登記並保留負面結果的完整論據:它們的價值是聯合的,而非個別的。

第二個比較不光彩,但專案還是把它刊了出來,放在註腳裡。一個早期分支恰好有一項防護指標沒通過——MMLU-Pro 的結果比門檻低 0.026,而限制是 0.020——因此被記錄為拒絕。實驗負責人隨後把限制放寬到 0.030,理由是 MMLU-Pro 是防止遺忘的防護指標,而不是要達成的目標;這個分支接著在四個新的隨機種子上獲得確認,成為下一個發布版本。最初的拒絕紀錄仍留在日誌中,並附上專案自己的評論:在看到結果之後才挪動門檻,這種事正是讀者應該要能抓到它這麼做的。

那則註腳是這個儲存庫裡最有用的一段,對任何想在現實世界中評估這類主張的人來說都是如此。一個被移動過的門檻並不證明惡意——所給出的理由是站得住腳的,而放寬後的門檻接著還必須撐過四個全新的種子。但一個悄悄被移動的門檻,是一個不再是閉環的迴圈,而兩者之間的差別完全在於它有沒有被寫下來。這個專案後來定下的一般規則,才是值得帶到其他系統的那一條:只差一點、恰好只在一道防護上失敗的案例,會得到診斷與針對性的修補,而不是被丟棄——而如果修補失敗,它就會成為一條帶有紀錄的死路。

迴圈出錯的頻率:十四個設定,只保留了兩個

這是值得記住的數字。在能讀取影像的發行版本中,該專案共計十四套強化學習設置,以及 63 個經獎勵訓練的臂。其中兩個被保留。

每個設定都是對照一個監督式對照組來評判,該對照組在相同項目上接受相同步數的訓練;這才是讓計數有意義的比較——RL 分支若勝過一個它從不必匹配的基準,什麼也證明不了。用專案自己的話來說,那些有啟發性的損失:

• 二元正確性強化學習——機率輸出崩塌到 0 與 1。獎勵「選對」這個行為,而不是獎勵所回報勝算的誠實性,會把分布推向兩端;而一個信心永遠是全然的決策模型,對於決策模型真正該做的事而言毫無用處。

• Proper-score 強化學習,Laya-style 目標的重建——在 300 步時還行,到了 1,500 步就發散了。在沒做什麼事時很穩定,卻偏偏在它開始變得重要時不穩定。

• RLCR — 準確度持平,原始校準更差。它沒有換來任何能力,卻在模型存在就是為了提供的那一項特性上付出了代價。

• Bandit RLCD,其中只會揭示所選選項的結果——並不比在相同回饋上進行監督式訓練更好。該專案在此終止了自己預先註冊的測試:該實驗組必須在四項校準指標中至少兩項勝過監督式訓練,而它只贏了一項。

勝出者,以及它之所以勝出的原因,是這一頁上最具可轉移性的發現。它是一種列表式(listwise)獎勵——衡量的是排序品質,看的是眾多各自評分的候選項所構成的順序,而不是把每一個候選項孤立看待。第一位置的重新排序召回率從監督式父模型的 0.192 提升到 0.308,並在配對檢定中互有勝負。這個專案的解釋並不是調校的故事:逐項式的訓練目標各自為每個候選項評分,而沒有任何單一標籤能編碼跨越候選項的順序所具有的品質。當獎勵說出了標籤無法表達的東西時,RL 在同樣的資料列上勝過監督式訓練;當它沒說出時,監督式訓練則與之打成平手。

那可以推廣成一條規則,說明這類迴圈究竟何時才可能找到任何東西。手上有黃金標籤時,預期的策略梯度更新會等於監督式損失的梯度——這是該專案自己的措辭——因此,一個以標註決策來評分的「強化學習分支」,其實是損失設計分支。而損失層級的改動,讓內部測試套件變動了至多 0.002,新資料卻讓它變動了 0.13。合起來看:這個迴圈的槓桿從來不在目標函數裡。而是在於測量了什麼,以及餵進了什麼。

這正是對一個讀者有權提出的問題所作的誠實回答。RL 設定在別處被引用為關於一般性自我改進的證據;在這裡,它們則是關於決策任務中單一迴圈的證據。listwise 結果只來自單一隨機種子,而該專案自己也這麼說:這項成對的 RL 對監督式比較,是在不同於發布版本所套用對象的另一個父模型上執行,而該發布版本「沒有相匹配的監督式對照組」。附帶這項但書的發現,比沒有附帶這項但書的發現更有價值,而這也正是你正在閱讀的頁面不將它一般化的原因。

人類坐的位置

這個專案說得很明確,而這份明確正是有趣之處:迴圈會自行跑實驗,也會自行汰換自己的冠軍,但它不決定什麼值得測量,也不會自己察覺某個數字在技術上為真、在實務上卻有誤導性。那得靠人來做。

專案自身的其中兩條規則之所以存在,是因為有人提出異議。MMLU-Pro 防護機制被放寬,而不是讓一個幾近失誤的結果被丟棄。種子需求如今會隨效果量調整,而不是對每個差異都花上四個種子——因為確認種子,也就是某個實驗臂在挑選時並未依據的那個數字,才是真正承重的關鍵;而把算力花在你早已看得見的差異上,毫無助益。這條鏈中的某個發布版本,起初是源於拒絕放棄一個未通過某項防護檢查的實驗臂。專案在致謝中具名感謝提供那些回饋的人。

所以,這裡的「自我改進」描述的是迴圈的中段,而不是它的全部。這個迴圈是一種搜尋,運作時無須人類轉動曲柄。人類仍然位在迴圈的頂端選擇目標,並在底端批判性地解讀結果——而這正是使迴圈不至於變成一部確認自身偏好之機器的安排。任何省略了那個席位的遞迴自我改進論述,所描述的都是不同於這套系統的另一個系統,而且很可能是個假想系統。

專案自身數字未能顯示的事

上述這套紀律,唯有在同時說明其限制的情況下才值得描述,而 RSI-Jev 的紀錄本身就已說明了這些限制。

• 這是一個專案,一次只涵蓋一種模型規模、一個隨機種子。已發佈的檢查點來自單一隨機種子,而且是事先固定為主要,並非為了取得最佳評分而挑選。強化學習的證據只來自一個隨機種子。

• 這是決策任務,而非生成:一個是/否、從 k 個中選一,或根據評分標準評分的問題,針對聊天或圖像,在單次前向傳遞中以每個選項的校準機率來回答。不會生成任何內容,因此沒有推理詞元可花費。這裡迴圈展示的是,它可以改進這種形式的評分器。

• 其中有些部分無法僅憑該儲存庫重現。訓練語料庫與政策開發集並非公開,而專案在發布卡中直言:「這些階段無法僅從此儲存庫重新執行。」其中一個語料庫建置工具需要約 96 GB 記憶體,且未進行端到端重新執行。

• 並非所有事物都完全可檢驗。內部測試套件從未完全被留出。在十五項基準測試中,有十項以某種形式貢獻訓練資料,因此那些數字沒有一個是零樣本——留出集才是被留出的比較對象,而它是唯一的一個。

而外部的部分也有它們自己的疤痕組織。某個版本發布後的一次稽核發現,公開基準套件的測試列中約有一千項出現在訓練語料庫裡——約占該套件列數的 0.3%,其中單一來源的最大貢獻是幾百列。在剔除它們之後重新計分,該指數的變動至多為 0.04。這項修正被公布在下一個版本的說明卡中,而不是悄悄套用,依據的是該專案所陳明的規則:「無汙染,是查核而非宣稱。」這是一條讓他們付出數字代價的規則,而這是唯一值得擁有的那種規則。

你實際上可以在哪裡執行它——以及在哪裡不能

OrcaRouter 並未在此提供任何服務。我們的目錄沒有收錄 RSI-Jev 的 ID,也沒有它的模型卡,而且在有人提供它之前,也不會有。RSI-Jev 是從它自己的儲存庫安裝,並執行自己的伺服器,該伺服器採用 Jev API:你把現有的 Jev 用戶端指向它,並變更基礎 URL。它能在 Linux、Windows 和 macOS 上執行,也能在 CUDA GPU、Apple Silicon 或一般 CPU 上執行。

The one model we do host is the other side of that contract. TypeSafe's Jev 1.13, which we serve as typesafe/jev-1.13, is the commercial decision model whose request and answer shapes RSI-Jev reproduces, and it is reached on our dedicated systemone endpoint rather than through the chat-completions shape. That is the whole relationship, and it is a structural one rather than a quality claim: one is a hosted commercial model on a vendor's endpoint, the other is a checkpoint you download and serve yourself. Nobody has run an independent head-to-head between them, and this page is not going to declare a winner from two different harnesses.

A generated single-column scoreboard headed 'RSI-Jev - the loop's own ledger', with six rows reading 'Predictions: registered before the run', 'Null floors: measured from identical arms', 'Held-out set: read once, then spent', 'Failures: published, including the champion's', 'Release chain: one card per release, on main forever' and 'RL setups kept: 2 of 14, each judged against a matched control'; a footer reads 'All figures from the project's own record, read 2026-10-08.'

如果你想要的是把這樣的決策模型放到應用程式背後,路由問題與模型問題是分開的,而前者決定了這個實驗到底值不值得跑。OrcaRouter 是一個 API 串接 200 多個模型,零加成——供應商牌價直接轉嫁,所以廠商價格變動,你的價格當天就跟著變——再加上自動容錯移轉,以及一套路由 DSL,能把多個模型組合成單一次呼叫。對於一個你還無法透過通用 API 呼叫的迴圈模型來說,這件事的意義很具體:它意味著你原本要用來與它做基準比較的替代候選模型,已經全都在同一把金鑰之後,而比較只是改個設定,而不是再串接一次。

A screenshot of OrcaRouter's own model page for typesafe/jev-1.13 showing the left navigation, a PERFORMANCE panel with prefill and decode lines, the heading 'Jev 1.13' with the provider line 'typesafe', the price fields $0.11 prefill and $0.36 decode per million tokens, a benchmark box with MED 0.3, Response Trust 0.784, Structured Output 0.964, Refusal Correctness 1.0 and Consistency 0.59, an accuracy-versus-cost scatter with a 'Jev 1.13' marker, an 'Individual Runs' table, API and Agent curl snippets pointing at the systemone endpoint, the OrcaRouter logo and a sign-up button.

值得保留的部分

透過像這樣的專案來撰寫遞迴自我改進,而不是透過關於它是否會導向某種戲劇性結果的爭論,原因在於迴圈的規則才是可轉移的部分,而推測則不是。已註冊的預測、實測的虛無下限、已耗用的留出集、已發表的失敗、不可變的發布鏈:這些都不是超智慧的屬性。它們是一個決定要可檢驗的實驗室的屬性,而且任何今天正在執行自動化搜尋的團隊,無論規模大小、無論使用何種模型,都能使用它們。

這樣讀來,RSI-Jev 紀錄中有意思的主張並不是分數,而是這個迴圈自己的帳本說它錯的次數遠多於對的次數——十四個設定中只留下兩份配方、七次否定才找到一行程式錯誤、一個被移動過還被記錄下來的門檻——以及該專案公開了這本帳。在一次發布中,公開指數從 38.38 升到 46.24,若旁邊沒有那些失敗,就只是件奇聞。正是那些失敗讓這個數字有了意義。

而這才是對這個詞本身的誠實立場。問題不在於一個系統能否自我改進,而在於這種改進是否由某個原本可能說「不」的東西來衡量。當這種分離真實存在並被寫下來時,這個迴圈才值得解讀。當它並非如此時,一條上升的線描述的是評分器,而不是一個正在變好的系統——再多的遞迴也無法修正這一點。