DeepReinforce发布Ornith-1.0:开源编程模型家族,自我学习强化学习框架
DeepReinforce发布了Ornith-1.0,一个基于Gemma 4和Qwen 3.5的开源编程模型系列,涵盖9B至397B四种规模。其核心创新在于模型在强化学习过程中自主学习框架(scaffold),而非依赖固定的人造框架。旗舰版397B模型在SWE-Bench Verified上取得82.4分,所有权重均在MIT许可下开源。
DeepReinforce 发布了 Ornith-1.0,这是一个面向智能编程代理的开源模型系列。该系列包含四种规模:9B 稠密模型、31B 稠密模型、35B 混合专家模型以及 397B 混合专家旗舰模型。所有检查点均在 MIT 许可下发布在 Hugging Face 上。这些模型基于预训练的 Gemma 4 和 Qwen 3.5 进行后训练。
大多数编程代理将模型与固定的人造框架(框架)配对使用。Ornith-1.0 则不同,它学会了自主编写框架。DeepReinforce 研究团队报告称,在同等规模的开源模型中,该模型取得了最先进的成果。
什么是 Ornith-1.0?
Ornith-1.0 是一套专为编程代理调优的推理模型。变体包括 9B 稠密、31B 稠密、35B MoE 和 397B MoE。35B 模型采用混合专家架构,每个 token 约激活 3B 参数。此外,还发布了 FP8 和 GGUF 构建版本,以加速本地服务。
每个模型都是推理模型。回复以最终答案前的推理块开头。服务配方启用推理解析器,使得推理轨迹在独立的 reasoning_content 字段中返回。模型还针对代理循环输出格式良好的工具调用。
部署过程简单直接。9B 模型在 bf16 下约 19GB,可在单个 80GB GPU 上运行。服务配方支持 vLLM、SGLang 和 Transformers。每个模型提供 OpenAI 兼容端点,因此标准代理框架无需修改代码即可运行。
交互式解释:自学习框架理念
大多数编程代理依赖框架,也称为框架。框架为模型封装了内存、工具、错误处理和编排逻辑。AI 团队通常为每个任务类别手动设计一个框架。
Ornith-1.0 将框架视为可学习的对象。在强化学习过程中,框架与模型的策略共同进化。每个 RL 步骤分为两个阶段:首先,模型读取任务及其之前的框架,然后提出改进后的框架;其次,使用该框架和任务生成解决方案的展开轨迹,并将奖励信号传播回两个阶段。
因此,模型被优化以编写编排逻辑,而不仅仅是答案。经过训练,高奖励的框架会自动进行变异和选择。每个任务无需手动设计框架即可涌现出相应策略。
训练采用异步方式进行,使用流水线 RL 设置。通过陈旧性权重降低较旧、离策略 token 的权重,并在超过阈值时丢弃它们。优化使用 token 级别的 GRPO 目标。
防御奖励黑客攻击
让模型自行编写框架可能导致奖励黑客攻击。框架可能读取可见的测试文件并硬编码预期输出,或者复制环境中已有的 oracle 解决方案。DeepReinforce 团队描述了三个防御层。
外层信任边界是固定且不可变的。环境、工具表面和测试隔离位于模型不可触及的范围之外。模型仅演化其内部策略框架。
确定性监控器会标记禁止的操作。读取隐藏路径或编辑验证脚本将获得零奖励,这些轨迹被排除在优势计算之外。
冻结的 LLM 裁判充当否决权,它位于验证器之上,而非作为主要奖励。
基准测试
DeepReinforce 报告了多项智能编程基准测试的供应商数据。在旗舰规模上,Ornith-1.0-397B 在 Terminal-Bench 2.1 上达到 77.5,在 SWE-Bench Verified 上达到 82.4。在 SWE-Bench Verified 上,该 82.4 的成绩在所列模型中仅次于 Claude Opus 4.8(87.6)。在 Terminal-Bench 2.1 上,情况则更为复杂:Ornith-1.0-397B 击败了 Claude Opus 4.7(70.3),但落后于 Claude Opus 4.8(85)和更大的 GLM-5.2-744B(81.0)。因此,“最先进”的声明仅限于同等规模的开源模型。
较小模型则体现了效率优势。35B 模型在 Terminal-Bench 2.1 上得分为 64.2,高于 Qwen 3.5-397B 的 53.5。9B 模型在 Terminal-Bench 2.1 上达到 43.1,在 SWE-Bench Verified 上达到 69.4。
使用场景与快速入门
这些模型面向终端原生编程代理和仓库级工作。实际应用包括多文件重构、错误定位和测试驱动的补丁。9B 模型适用于边缘或单 GPU 环境,对延迟和成本敏感。397B 模型则面向需要最高准确性的长步骤、多步骤任务。
例如,开发者可以本地运行 9B 模型来诊断失败的测试套件;平台团队可以自托管 397B 模型用于内部编程代理。
使用 vLLM 进行服务只需一行命令:
vllm serve deepreinforce-ai/Ornith-1.0-9B \
--served-model-name Ornith-1.0-9B \
--max-model-len 262144 \
--enable-auto-tool-choice --tool-call-parser qwen3_xml \
--reasoning-parser qwen3 \
--trust-remote-code接着使用任何 OpenAI 客户端调用:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
resp = client.chat.completions.create(
model="Ornith-1.0-9B",
messages=[{"role": "user", "content": "Write a Python is_prime(n)."}],
temperature=0.6, top_p=0.95,
)
msg = resp.choices[0].message
print(getattr(msg, "reasoning_content", None)) # 推理轨迹
print(msg.content) # 最终答案推理轨迹在 reasoning_content 中返回,答案在 content 中。推荐采样参数为 temperature=0.6, top_p=0.95, top_k=20。模型还可接入 OpenHands、OpenClaw 和 OpenCode。
查看模型权重和技术细节。欢迎关注我们的 Twitter,加入我们的 150k+ ML SubReddit,订阅我们的 Newsletter。也可以在 Telegram 上找到我们。如需合作推广您的 GitHub 仓库、Hugging Face 页面、产品发布或网络研讨会,请与我们联系。