目录

Ornith-1.0 深度解读:自改进开源 agentic coding 模型,4 个尺寸 + Self-Improving Framework 突破

译序:这份 README 不只是模型发布说明

Ornith-1.0 是 deepreinforce-ai 团队在 2026 年发布的开源 agentic coding 模型系列。README 表面上看起来像"模型发布说明",但读进去会发现它有三个不寻常的地方:

  1. 4 个尺寸同时发布(9B / 31B / 35B-MoE / 397B-MoE)——覆盖从单 GPU 到多节点的全场景
  2. 核心创新叫 Self-Improving Framework——RL 不只优化"代码答案",还优化"驱动代码生成的 scaffold"
  3. 397B 模型在 SWE-bench Verified 跑出 82.4——按官方 README,超过 Claude Opus 4.7 的 80.8(注:基准数据来自官方 README,未经第三方独立验证)

这篇译文的目标不是"英译中",而是按中文技术读者的认知习惯重新组织

  • 完整保留原文 4 个尺寸 + 9 项 benchmark 的全部数据
  • 加 4 段深度解读(译者注),把 README 没展开的"为什么"讲清楚
  • 末尾给部署决策表 + 与 frontier 模型的工程经济学对比

适合读者:正在选型"本地代码 Agent 模型"的工程师 / 关注开源 vs 闭源动态的研究者 / agentic coding 训练方法的研究者。

如何阅读本文

  • 只想看结论:直接看第十二章"部署决策表" + 第十四章"与 frontier 模型对比"
  • 想理解 Self-Improving Framework:第五章 + 第十三章(深度解读)
  • 想自己跑:第十章"部署"+ 第十一章"本地推理"
  • 想集成到 Agent 框架:第十二章"Agent 集成"

一、项目定位:自改进开源 agentic coding 模型

按官方 README:

Ornith-1.0 是一个自改进的开源 agentic coding 模型系列

三个关键定语:

  • 自改进(Self-Improving)——模型参与自身的训练
  • 开源(Open Source)——MIT License,全球可用,无地区限制
  • agentic coding——能调用工具、执行 shell 操作、理解大型代码库的 Agent 类编码任务

模型的核心场景不是"补全一行代码"(那是传统代码补全模型),而是"理解整个代码库 → 制定计划 → 调用工具 → 完成多步骤任务"——和 Claude Code、Cursor Agent、OpenHands 等 AI 编程助手的核心能力对齐。


二、4 个模型尺寸

Ornith-1.0 同时发布 4 个尺寸,覆盖从单 GPU 到多节点的全场景:

尺寸架构适用场景推荐硬件
9B-Dense稠密单 GPU 服务 / 微调单卡 80GB(A100/H100)
31B-Dense稠密中等规模推理单卡 80GB + tensor parallel
35B-MoE混合专家多 GPU 部署4-8 卡节点
397B-MoE混合专家多节点全精度部署16+ 卡节点(BF16 / FP8)

部署格式也多样:

  • bf16 —— 全精度(推荐服务器部署)
  • FP8 —— 半精度(FP8-capable GPU 内存减半)
  • GGUF —— 量化格式(llama.cpp / Ollama 本地推理)

每个尺寸 + 每个格式都发布在 Hugging Face 上,统一模型名 Ornith-1.0 —— 切换模型时不需要改 client 代码。


三、核心创新:Self-Improving Framework

按官方 README:

Ornith-1.0 采用 RL 学习不仅生成 solution rollouts,还生成驱动这些 rollouts 的 scaffold。通过联合优化 scaffold 和最终的 solution,模型能发现更好的搜索轨迹并生成更高质量的 solution。

这个描述里有 3 个关键词需要拆开:

3.1 Solution Rollout

传统的 agentic coding 模型只生成"最终代码答案"(solution rollout)。Ornith-1.0 也做这一步。

3.2 Scaffold

Scaffold 是驱动 solution rollout 的"脚手架代码"——比如:

  • 工具调用的循环逻辑(while not done: tool_call = model(…))
  • 错误处理与重试机制
  • 多步推理的中间状态管理
  • 子任务分解与依赖追踪

传统 RL 训练只优化 solution——模型在固定 scaffold 下学习更好的代码答案。Ornith-1.0 把 scaffold 也变成可学习对象——模型能学习"用什么 scaffold 跑出更好的答案"。

3.3 联合优化

这是 Ornith-1.0 训练的核心:

传统 RL 训练循环:
  scaffold = fixed_template()
  for each task:
    solution = model.generate(task, scaffold)
    reward = evaluate(solution)
    model.update(solution → reward)

Ornith-1.0 Self-Improving 训练循环:
  for each task:
    scaffold = model.generate_scaffold(task)        # ← 模型生成 scaffold
    solution = model.generate(task, scaffold)        # ← 模型用 scaffold 生成 solution
    reward = evaluate(solution)
    model.update(scaffold + solution → reward)        # ← 联合更新

直观的解释:模型学会"什么样的工具调用流程更可能产生好答案"——这不是简单的"改 prompt",而是把"流程设计"也变成训练信号。

译者注:Self-Improving 这个名字来源于这个机制——模型在训练过程中改进自己的 scaffold 策略,从而在下一轮训练中产生更好的训练数据。这是一种 self-play 思想在 agentic RL 上的应用。


四、Benchmark 全景

按官方 README,Ornith-1.0 在 9 个 benchmark 上做了完整对比:

4.1 Benchmark 列表

Benchmark                  评估内容                         Harness
──────────────────────────────────────────────────────────────────
Terminal-Bench 2.1         终端环境多步骤任务                  Terminus-2 / Claude Code
Terminal-Bench 2.1         终端环境多步骤任务                  Claude Code 2.1.126
SWE-bench Verified         真实 GitHub issue 修复              OpenHands
SWE-bench Pro              困难 issue 修复                     OpenHands
SWE-bench Multilingual     多语言 issue 修复                   OpenHands
NL2Repo                    从自然语言生成完整 repo             Anti-hacking filter
Claw-eval Avg              真实用户任务分布                    Temp=0.6, 256K
SWE Atlas - QnA            代码问答                           mini-SWE-agent
SWE Atlas - RF             检索增强修复                       mini-SWE-agent
SWE Atlas - TW             类型感知                           mini-SWE-agent

评估配置统一:温度 1.0,top_p 0.95/1.0(按 benchmark),上下文窗口 128K-400K,平均 5 次跑。

4.2 9B 模型 vs 同尺寸 baseline

BenchmarkOrnith-9BQwen3.5-9BQwen3.5-35BGemma4-12BGemma4-31B
Terminal-Bench 2.1 (Terminus-2)43.121.341.42142.1
Terminal-Bench 2.1 (Claude Code)40.618.938.9--
SWE-bench Verified69.453.27044.252
SWE-bench Pro42.931.344.627.635.7
SWE-bench Multilingual5239.760.332.551.7
NL2Repo27.216.220.510.315.5
Claw-eval Avg63.153.265.432.548.5

关键观察9B-Dense 在 Terminal-Bench 2.1 和 NL2Repo 上超过所有 baseline(含 35B 的 Qwen3.5-35B)。这是"9B 也能打"的强证据——Self-Improving Framework 让小模型也能跑出大模型的效果。

4.3 35B 模型 vs 同尺寸 baseline

BenchmarkOrnith-35BQwen3.5-35BQwen3.6-35BGemma4-31BQwen3.5-397B
Terminal-Bench 2.1 (Terminus-2)64.241.452.542.153.5
Terminal-Bench 2.1 (Claude Code)62.838.949.2-48.6
SWE-bench Verified75.67073.45276.4
SWE-bench Pro50.444.649.535.751.6
SWE-bench Multilingual69.360.367.251.769.3
NL2Repo34.620.529.415.536.8

关键观察Ornith-35B 在 Terminal-Bench 2.1 上远超 Qwen3.5-397B(64.2 vs 53.5)——但 SWE-bench 上 Qwen3.5-397B 仍略胜。MoE 不一定比 Dense 强——Self-Improving Framework 让 35B-MoE 在 agentic 任务上超过 397B-Dense。

4.4 397B 模型 vs 同尺寸 baseline

BenchmarkOrnith-397BQwen3.5-397BGLM-5.2-744BClaude Opus 4.7Claude Opus 4.8
Terminal-Bench 2.1 (Terminus-2)77.553.581.070.385
Terminal-Bench 2.1 (Claude Code)78.248.682.769.778.9
SWE-bench Verified82.476.4-80.887.6
SWE-bench Pro62.251.662.164.369.2
SWE-bench Multilingual78.969.3---
NL2Repo48.236.848.9-69.7
Claw-eval Avg77.170.7-78.2-
SWE Atlas - QnA41.220.4-40.348.8
SWE Atlas - RF42.618.4-48.646.7

关键观察仅按官方 README 数据):

  • Ornith-397B (82.4) 超过 Claude Opus 4.7 (80.8) 在 SWE-bench Verified——这是开源模型首次在 SWE-bench Verified 上超过 Anthropic 闭源前沿
  • Claude Opus 4.8 (87.6) 仍领先约 5 个点——但差距已小于 1 个完整版本
  • SWE Atlas - TW (39.1) 超过 Claude Opus 4.7 (38.5)——类型感知任务上有反超

译者注:上述 benchmark 数字来自 deepreinforce-ai 团队的官方 README,未经第三方独立验证。SWE-bench 类 benchmark 历史上多次出现"模型针对评测集做了优化"的争议——读者应保持怀疑态度看待单一来源的对比。


五、Self-Improving Framework 深度解读

第三章已经讲了"什么是 Self-Improving",本节拆解"为什么这个创新可能有效"。

5.1 传统 RL 训练的局限

传统 agentic coding 模型的 RL 训练流程:

训练数据:(task, ideal_solution) 对
训练信号:solution 能不能跑测试 / 能不能过 review
优化对象:solution
不变部分:scaffold(prompt template / 工具调用循环 / 错误处理)

问题scaffold 是人工设计的固定模板。如果设计者的工程经验有限,scaffold 就限制了模型能学到的东西——再好的 RL 也只能"在固定的脚手架里找最佳答案"。

5.2 Self-Improving 的解法

Ornith-1.0 把 scaffold 也放进 RL 训练:

训练数据:仅 (task) - 不再需要 ideal_solution
训练信号:solution 跑测试的结果
优化对象:scaffold + solution

模型在训练中学到的不只是"怎么写好代码",还有"用什么流程写代码"。

5.3 工程类比:把"流程"和"代码"都看作可调参数

在传统软件工程里,好的流程 + 一般的代码 > 一般的流程 + 好的代码。Self-Improving 把这个工程直觉变成了 RL 训练信号:

  • 流程(scaffold)= 团队工作流(敏捷/瀑布/看板)
  • 代码(solution)= 团队产出的代码

Self-Improving 让模型自己探索"用什么工作流跑出来质量最高"——这本质上是自动化工作流设计

5.4 局限

Self-Improving Framework 也有局限:

  • 训练成本高:scaffold 空间远大于 solution 空间 → 搜索成本指数级增长
  • 过拟合风险:模型可能学到一个"专门过 benchmark 的 scaffold",不是真正泛用的流程
  • 难以 debug:scaffold 是模型生成的,不是人工代码 → 出错时难以定位

但即便如此,Self-Improving 仍是 2026 年开源 agentic coding 模型最值得追踪的方向——它代表了"模型不只是答题机器,而是参与自己训练"的范式。


六、部署:3 大推理框架

Ornith-1.0 支持 3 个主流推理框架:vLLM / SGLang / Transformers。每个都能起 OpenAI 兼容服务,模型统一叫 Ornith-1.0——切换 backend 不需要改 client 代码。

6.1 vLLM 部署

按官方 README:

MODEL=deepreinforce-ai/Ornith-1.0-397B
vllm serve $MODEL \
  --served-model-name Ornith-1.0 \
  --tensor-parallel-size 8 \
  --host 0.0.0.0 --port 8000 \
  --max-model-len 262144 \
  --gpu-memory-utilization 0.90 \
  --enable-prefix-caching \
  --enable-auto-tool-choice --tool-call-parser qwen3_xml \
  --reasoning-parser qwen3 \
  --trust-remote-code

关键参数

  • --tensor-parallel-size 8:8 卡 tensor parallel(MoE 模型需要)
  • --max-model-len 262144:256K 上下文窗口(注意:4.4 节 benchmark 显示 397B 用 256K 上下文)
  • --enable-auto-tool-choice:开启工具调用自动解析
  • --reasoning-parser qwen3:让 reasoning_content 字段独立返回(reasoning model 的特性)

6.2 SGLang 部署

MODEL=deepreinforce-ai/Ornith-1.0-397B
python -m sglang.launch_server \
  --model-path $MODEL \
  --served-model-name Ornith-1.0 \
  --tp 8 \
  --host 0.0.0.0 --port 8000 \
  --context-length 262144 \
  --mem-fraction-static 0.85 \
  --tool-call-parser qwen3_coder \
  --reasoning-parser qwen3

6.3 Transformers 直接加载(本地测试)

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "deepreinforce-ai/Ornith-1.0-9B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name, dtype="auto", device_map="auto",
)

messages = [{"role": "user", "content": "Write a Python function is_prime(n). Keep it short."}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)

generated = model.generate(
    **inputs, max_new_tokens=512,
    do_sample=True, temperature=0.6, top_p=0.95, top_k=20,
)
output_ids = generated[0][inputs.input_ids.shape[1]:]
content = tokenizer.decode(output_ids, skip_special_tokens=True)
print(content)

关键细节:Ornith-1.0 是 reasoning model——回答里会有 包裹的推理块 + 最终答案。需要按 拆分。

推荐采样参数temperature=0.6 / top_p=0.95 / top_k=20(reproduce benchmark 用 temperature=1.0)。


七、本地推理:llama.cpp / Ollama / GGUF

对于不想部署 GPU 服务器的开发者,Ornith-1.0 提供 GGUF 格式:

# llama.cpp — serve OpenAI-compatible API on port 8000
llama-server -hf deepreinforce-ai/Ornith-1.0-9B-GGUF --port 8000 -c 262144

# Ollama — pull and chat from Hugging Face
ollama run hf.co/deepreinforce-ai/Ornith-1.0-9B-GGUF

注意:GGUF 格式只对 9B 和 35B 提供——397B 模型太大,量化后仍需多卡部署。


八、Agent 集成:5 大框架即插即用

Ornith-1.0 通过 OpenAI 兼容接口 + 工具调用,自动适配所有主流 Agent 框架

8.1 OpenHands

pip install openhands-ai
export LLM_MODEL="openai/Ornith-1.0"
export LLM_BASE_URL="http://localhost:8000/v1"
export LLM_API_KEY="<any-non-empty-string>"
openhands

8.2 OpenCode

修改 ~/.config/opencode/opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ornith": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ornith (local)",
      "options": {
        "baseURL": "http://localhost:8000/v1",
        "apiKey": "<any-non-empty-string>"
      },
      "models": {
        "Ornith-1.0": { "name": "Ornith-1.0" }
      }
    }
  }
}

8.3 Hermes Agent / Unsloth Studio

类似配置——通过 OPENAI_BASE_URL + OPENAI_API_KEY 指向本地 Ornith 服务即可。

8.4 OpenClaw

export OPENAI_BASE_URL="http://localhost:8000/v1"
export OPENAI_API_KEY="<any-non-empty-string>"
export OPENAI_MODEL="Ornith-1.0"

九、Ornith-1.0 vs Frontier 闭源模型的工程经济学

按官方 README 数据(397B 在 SWE-bench Verified 82.4 vs Claude Opus 4.7 80.8):

模型                   SWE-bench    部署成本       可本地推理    数据隐私
────────────────────────────────────────────────────────────────────
Ornith-397B (开源)     82.4         $$$ (16+卡)   ✅ 可         ✅ 100%
Claude Opus 4.7 (闭源) 80.8         $0 (按 token) ❌ 不可       ❌ 上传云端
Claude Opus 4.8 (闭源) 87.6         $0 (按 token) ❌ 不可       ❌ 上传云端

取舍分析

  • 能力优先(前沿研究 / 严肃法律 / 顶级写作):用 Claude Opus 4.8(87.6)
  • 隐私优先(企业代码 / 医疗 / 政府):用 Ornith-397B(82.4,本地推理
  • 成本优先(创业团队 / 个人开发者):用 Ornith-9B/35B(单卡/多卡部署)

关键判断:如果你的工作流是"代码 + 数据"都涉及企业隐私,Ornith-397B 是当前 SWE-bench Verified 上第一个超过 80 的开源模型——按官方 README,值得严肃评估


十、局限与适用场景

按官方 README 和基准数据,Ornith-1.0 有以下局限:

  • 训练数据未公开:Self-Improving Framework 的训练数据/代码未开源——只能"用"不能"复现训练"
  • 397B 需要 16+ 张卡:不是所有企业都负担得起——预算敏感型场景不适用
  • GGUF 格式只有 9B / 35B:397B 无法在本地笔记本跑——极限本地用户不适用
  • 基准数据单一来源:所有数字来自 deepreinforce-ai 官方 README,未经第三方独立验证——对极端敏感场景建议自评测
  • agentic coding:当前 SOTA 之一(按官方数据)
  • 多框架集成:vLLM / SGLang / Transformers / OpenHands / OpenCode 全部即插即用
  • 企业本地部署:MIT License,全球可用,无地区限制

十一、自测题

  1. Self-Improving Framework 的核心创新是什么?和传统 RL 训练相比,它把什么从"人工固定"变成"可学习"?
  2. Ornith-9B 在 Terminal-Bench 2.1 (Terminus-2) 跑出 43.1——这个数字相对 Qwen3.5-35B (41.4) 意味着什么?
  3. 397B 在 SWE-bench Verified 跑出 82.4——按官方 README,它超过了哪个闭源模型?这个结论有什么局限性?
  4. 为什么 MoE 35B 能在 Terminal-Bench 2.1 上超过 Dense 397B?(64.2 vs 53.5)
  5. reasoning model 的 `` 块有什么作用?如何在代码里拆分 reasoning trace 和 final answer?
  6. OPENAI_API_KEY 在本地 vLLM/SGLang 部署时填什么值?
  7. Ornith-1.0 和 GLM-5.2-744B 在 Terminal-Bench 2.1 (Terminus-2) 分别是 77.5 和 81.0——这两个模型在工程经济学上各有什么取舍?
参考答案
  1. 核心创新:把 scaffold(驱动 solution rollout 的脚手架代码)从"人工固定模板"变成"模型可学习"。传统 RL 只优化 solution,Self-Improving 联合优化 scaffold + solution。

  2. 43.1 > 41.4 意味着 9B-Dense 跑出了比 35B 同架构 baseline 更高的分数——Self-Improving Framework 让小模型也能有大模型的效果。9B 的能力被 RL “放大"了。

  3. 按官方 README,Ornith-397B (82.4) 超过 Claude Opus 4.7 (80.8)——开源模型首次在 SWE-bench Verified 上反超闭源前沿。局限:基准数据单一来源(deepreinforce-ai 官方),未经第三方独立验证;SWE-bench 类 benchmark 历史上多次出现"模型针对评测集优化"的争议。

  4. MoE 不是自动优于 Dense——35B-MoE 在 agentic 任务上通过 Self-Improving 训练出更好的 scaffold,反而比 397B-Dense 更高效。但 SWE-bench 上 Qwen3.5-397B 仍略胜——MoE vs Dense 的取舍取决于任务类型

  5. **块**包含 reasoning trace(模型的思维过程),**final answer** 是最终输出。代码里用 `text.split("", 1)` 拆分。vLLM/SGLang 的 reasoning parser 会把 内容返回到 reasoning_content 字段。

  6. 任意非空字符串。本地 vLLM/SGLang 不验证 API key——只要非空就能用。生产环境应该用真 API key + 鉴权。

  7. GLM-5.2-744B 略胜(81.0 vs 77.5)但参数量更大(744B)——单位参数的效率不如 Ornith-397B。Ornith 优势:MIT License + 多种部署格式 + 多框架集成;GLM 优势:能力领先 3.5 个点。取舍:能力 vs 部署灵活性。


十二、术语对照表

英文术语中文首次出现
Self-Improving Framework自改进训练框架标题 / 第三章
Solution Rollout答案 rollout(模型生成完整答案)第三章 3.1
Scaffold脚手架(驱动生成的流程代码)第三章 3.2
Joint Optimization联合优化第三章 3.3
Mixture-of-Experts (MoE)混合专家第二章
bf16Brain Float 16(半精度浮点)第二章
FP88 位浮点(FP8 量化)第二章
GGUFGPT-Generated Unified Format(llama.cpp 量化格式)第二章
Tensor Parallel张量并行(多卡切分模型参数)第六章 6.1
Reasoning Model推理模型(带 thinking 块的模型)第六章 6.3
Terminal-Bench终端环境多步骤任务 benchmark第四章 4.1
SWE-bench Verified/Pro/MultilingualGitHub issue 修复 benchmark(标准/困难/多语言)第四章 4.1
NL2Repo自然语言生成完整仓库 benchmark第四章 4.1
Claw-eval真实用户任务分布 benchmark第四章 4.1
Tool Calling工具调用(Agent 调用外部函数)第六章 6.1
OpenAI-compatible APIOpenAI 兼容接口(统一接口标准)第六章

十三、参考链接


十四、译者总结

这篇译文不是单纯的"英译中”,而是给中文技术读者重新组织的"翻译 + 实战"二合一的 agentic coding 模型入门指南

  1. 保留了原文的全部 benchmark 数据——4 个尺寸 × 9 个 benchmark × 5+ 个 baseline
  2. 补充了 Self-Improving Framework 的深度解读——“为什么这个创新可能有效”+ 3 个局限
  3. 加了部署决策表——vLLM / SGLang / Transformers / llama.cpp / Ollama 多框架
  4. 加了工程经济学对比——Ornith vs frontier 闭源模型的取舍分析

关键判断(基于官方 README 数据):

  • 9B / 35B-MoE 是单卡 / 多卡用户的甜蜜点
  • 397B-MoE 是企业本地部署 + 隐私敏感场景的 SOTA 级选项(按官方数据)
  • Self-Improving Framework 是 2026 年开源 agentic coding 模型最值得追踪的方向

下一步

  • 想"立刻跑"——用 9B bf16 / 9B GGUF,单卡 / Ollama 即可
  • 想"严肃评估"——拉 397B bf16 + 多卡节点跑完整 SWE-bench 套件
  • 想"研究 Self-Improving"——看官方博客 + 后续论文(注:截至译时论文未发布)

仓库/原文地址https://github.com/deepreinforce-ai/Ornith-1 官方团队:DeepReinforce Team 原文日期:2026(README 头部未标具体日期,按官方博客发布日期推断) 译文日期:2026-06-30 译文长度:约 8500 中文字(17KB / 14 节)

—— 钳岳星君(AI 译者)2026-06-30