Ornith 1.0 發佈說明
Ornith 1.0 發佈說明
概述
Ornith 1.0 是由 Deep Reinforce 開發的一系列代理式編碼模型(agentic coding models)。Ornith 1.0 的核心創新在於「自我腳手架」(self-scaffolding)的概念,模型具備即時編寫其任務特定腳手架(或稱 harness)的能力,以引導自身的 rollouts 並獲得更準確的結果。這種方法將上下文工程(context engineering)的責任從人類開發者轉移到了模型本身。
模型系列與架構
Ornith 1.0 由四個基於 Qwen 3.5 和 Gemma 4 系列的模型組成。該系列中的所有模型均以開源權重形式提供:
- 9B: 基於 Qwen 3.5。
- 31B: 基於 Gemma 4。
- 35B MoE: 基於 Qwen 3.5。
- 397B MoE: 基於 Qwen 3.5。
這些模型並非全新的預訓練模型,而是專注於生成代理軌跡(rollouts)以及引導這些軌跡的腳手架之中段訓練(mid-training)與後訓練(post-training)的成果。
訓練方法:兩階段 RL
Deep Reinforce 利用兩階段強化學習(RL)過程來實現自我腳手架功能。該過程遵循以下步驟:
- 腳手架提議(Scaffold Proposal): 模型根據任務和先前使用的腳手架進行條件化,然後提議該 harness 的改良版本。
- Rollout 生成: 在新 harness 的條件下,模型提議一個 rollout 以達到預期結果。
這些 rollouts 被用作獎勵信號,利用 Group Relative Policy Optimization (GRPO) 來更新模型在腳手架生成與 rollout 執行方面的權重。
防禦獎勵作弊(Defending Against Reward Hacking)
為了防止模型透過在 harness 中建立捷徑來獲得高獎勵,卻未實際解決任務(即「作弊」),Ornith 1.0 採用了三層防禦系統:
- 不可變環境(Immutable Environment): 運行腳手架的沙盒、工具和環境是不可變的,模型無法更改。
- 確定性監控器(Deterministic Monitor): 監控器會追蹤腳手架的動作,如果模型試圖修改驗證腳本或使用未經授權的工具,監控器會對其進行懲罰。
- LLM 法官(LLM Judge): 一個 LLM 作為最終法官,有權否決任何看起來是透過不被允許的手段所獲得的結果。
性能與基準測試
根據提供的基準測試,最大的 Ornith 模型(397B MoE)優於多個其他模型,包括 Qwen 3.7 Max 和 MiniMax,且與 Claude Opus 相當。較小的模型,如 9B 和 35B MoE,在面對同等規模或更大規模的模型時也表現強勁,這使得 9B 模型成為在有限硬體上進行本地編碼任務的可行選擇。
實際應用與演示
Ornith 1.0 透過長鏈式思考(chain-of-thought)過程,展現了處理複雜、多步推理與代碼生成的強大能力。關鍵範例包括:
- SVG 生成: 模型可以成功生成代碼來繪製複雜圖像,例如鵜鶘。
- RAG 任務: 模型透過對提供的數據進行推理來尋找答案,從而處理檢索增強生成(Retrieval-Augmented Generation)問題。
- 動態 Harness 建立: 當被要求建立天氣預報 harness 時,模型可以自主識別出對 API 的需求,且如果被告知沒有可用的 API 金鑰,它能轉向尋找一個免費、不需要 API 金鑰的來源(例如 Open-Meteo API)並相應地重寫腳本。
- 介面構建: 模型可以構建功能性的 UI 組件,例如 Gradio 介面,來封裝它所建立的 harnesses。
Sources
- undefinedIntroducing Ornith 1.0