DeepReinforce が Ornith-1.0 を公開:自律的に RL スキャフォールドを学習するオープンソースコーディングモデルファミリー
本文の状態
日本語全文を表示中
詳細モードで約8分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
MarkTechPost
DeepReinforce は、自律的に強化学習の枠組みを学習できる「Ornith-1.0」というオープンソースのコーディングモデルファミリーを発表した。このモデルは 9B から 397B の 4 サイズで構成され、Gemma 4 や Qwen 3.5 をベースに後方学習されている。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るSource Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
DeepReinforce が、エージェント型コーディングに特化したオープンソースモデルファミリー「Ornith-1.0」をリリースしました。このシリーズは 9B の密着型モデルから、397B の混合専門家(MoE)フラッグシップまで全 4 サイズを用意しています。すべてのチェックポイントは MIT ライセンスの下で Hugging Face で公開されており、事前学習済みモデルである Gemma 4 や Qwen 3.5 をベースにポストトレーニングされています。
多くのコーディングエージェントは、モデルと人間が設計した固定されたハネス(枠組み)を組み合わせるものですが、Ornith-1.0 はその枠組み自体を自ら学習して生成します。DeepReinforce の研究チームによると、同規模のオープンモデルの中で最高性能を達成しています。
TL;DR
- Ornith-1.0 は 9B、31B、35B-MoE、397B-MoE のサイズで提供され、MIT ライセンスの下で Gemma 4 と Qwen 3.5 をベースに構築されています。
- このモデルは強化学習(RL)の過程で自ら枠組みを学習し、ハネスと解決策の両方を同時に最適化します。
- Ornith-1.0-397B は主要なベンチマークにおいて Claude Opus 4.7 を上回りますが、Opus 4.8 やより大規模な GLM-5.2-744B には及びません。
- リワードハッキングを防ぐため、「固定された信頼境界」「決定論的モニター」「凍結された LLM 判定器」という 3 つの層が機能しています。
Ornith-1.0 とは何か?
Ornith-1.0 は、コーディングエージェント向けに調整された推論モデルのセットです。バリエーションには 9B Dense、31B Dense、35B MoE、397B MoE が含まれます。特に 35B モデルは混合専門家(MoE)アーキテクチャを採用しており、トークンごとに約 3B のパラメータが活性化されます。また、ローカルでの高速推論を可能にする FP8 や GGUF 形式のビルドも公開されています。
各モデルは推論能力を備えており、最終回答の前に thought ブロックから応答を開始します。サービングレシピには推論パーサーが実装されているため、トレース情報は reasoning_content フィールドに分離して返されます。また、エージェントループ用の適切に構造化されたツール呼び出しも出力可能です。
デプロイは非常に簡単です。9B モデルの bf16 版サイズは約 19GB で、80GB の GPU 1 枚で動作します。サービングレシピは vLLM、SGLang、Transformers を対象としており、各モデルは OpenAI 互換のエンドポイントを公開しています。そのため、標準的なエージェントフレームワークをコード変更なしでそのまま利用できます。
インタラクティブな解説
#### セルフ・スキャフォールディングのアイデア
多くのコーディングエージェントは、ハネスとも呼ばれる「スキャフォールド(足場)」に依存しています。このスキャフォールドは、モデルをメモリ、ツール、エラーハンドリング、オーケストレーションロジックで包み込む役割を果たします。通常、AI チームはタスクカテゴリごとに手作業でスキャフォールドを設計します。
Ornith-1.0 は、スキャフォールドを学習可能なオブジェクトとして扱います。強化学習(RL)の過程で、スキャフォールドはモデルの方針と共進化します。各 RL ステップは 2 つの段階で実行されます。
まず、モデルがタスクと既存のスキャフォールドを読み込み、改良されたスキャフォールドを提案します。次に、そのスキャフォールドとタスクを用いて、解決策のロールアウト(試行)を生成します。ロールアウトから得られた報酬は、両方の段階にフィードバックされます。
つまり、モデルは単なる回答だけでなく、オーケストレーション自体の作成も最適化されるのです。学習が進むにつれて、より高い報酬を得るスキャフォールドが自動的に変異・選択され、手作業によるハネス設計なしでタスク固有の戦略が自然に生まれます。
トレーニングはパイプライン RL 設定を用いて非同期で実行されます。古く、オフポリシーのトークンには重み付けを減衰させ、一定の閾値を超えたものは除外します。最適化にはトークンレベルの GRPO オブジェクトが用いられます。
報酬ハッキングへの対策
モデルにスキャフォールド(足場)の作成を任せることは、報酬ハッキングのリスクを招きます。例えば、スキャフォールドが利用可能なテストファイルを読み込んで期待される出力をハードコードしたり、環境内に置かれたオラクル解をコピーしたりする可能性があります。DeepReinforce チームは、これに対抗するための 3 つの防御層を提案しています。
最外層の信頼境界は固定され、不変です。環境、ツールの表面、テストの分離はモデルの手の届く範囲の外に置かれます。モデルが変化させるのは、内部のポリシースキャフォールドのみです。
決定論的なモニターが禁止された行動を検知します。アクセス制限のあるパスの読み込みや検証スクリプトの編集を試みると、報酬はゼロとなります。これらの軌道(トラジェクトリ)はアドバンテージ計算から除外されます。
さらに、凍結された 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 は Terminal-Bench 2.1 で Claude Opus 4.7 (スコア 70.3) を上回る 77.5 を記録しましたが、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 というスコアを叩き出しています。
- Benchmark:Ornith-1.0-397B / Qwen 3.5-397B / Qwen 3.7-Max / GLM-5.2-744B / Minimax-M3-428B / DeepSeek-V4-Pro-1.6T / Claude Opus 4.7 / Claude Opus 4.8
- Terminal-Bench 2.1:77.5 / 53.5 / 73.5 / 81.0 / 64 / 64 / 70.3 / 85
- SWE-Bench Verified:82.4 / 76.4 / 80.4 / –– / 80.6 / 80.8 / 87.6 / ––
- SWE-Bench Pro:62.2 / 51.6 / 60.6 / 62.1 / 59 / 55.4 / 64.3 / 69.2
- SWE-Bench Multilingual:78.9 / 69.3 / 78.3 / –– / 76.2 / –– / –– / ––
- NL2Repo:48.2 / 36.8 / 47.2 / 48.9 / 42.1 / –– / 69.7 / ––
- ClawEval Avg:77.1 / 70.7 / 65.2 / –– / 75.8 / 78.2 / –– / ––
ユースケースとクイックスタート
これらのモデルは、ターミナルネイティブなコーディングエージェントやリポジトリ規模のタスクを想定して設計されています。具体的な活用シーンとしては、複数ファイルにわたるリファクタリング、バグの特定、テスト駆動型パッチの適用などが挙げられます。
9B モデルは、レイテンシとコストが重要なエッジ環境や単一 GPU 構成に適しています。一方、397B モデルは、長期かつ多段階にわたるタスクにおいて最大限の精度を発揮します。
例えば、開発者はローカルで 9B モデルを実行して、失敗したテストスイートの原因を特定できます。また、プラットフォームチームは 397B モデルを自社サーバーでホストし、社内用のコーディングエージェントとして運用することも可能です。
vLLM を使えば、推論サーバーの構築はワンライナーで完了します:
Copy CodeCopiedUse a different Browser
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)) # the trace
print(msg.content) # the final answer思考の過程は reasoning_content に、最終的な回答は content に格納されます。推奨されるサンプリングパラメータは temperature=0.6、top_p=0.95、top_k=20 です。また、このモデルは OpenHands、OpenClaw、OpenCode とも連携可能です。
原文を表示
DeepReinforce has released Ornith-1.0, an open-source model family built for agentic coding. The lineup spans four sizes, from a 9B dense model to a 397B mixture-of-experts flagship. Every checkpoint ships under the MIT license on Hugging Face. The models are post-trained on top of pretrained Gemma 4 and Qwen 3.5.
Most coding agents pair a model with a fixed, human-designed harness. Ornith-1.0 instead learns to write its own. The DeepReinforce research team reports state-of-the-art results among open models of comparable size.
TL;DR
Ornith-1.0 ships in 9B, 31B, 35B-MoE, and 397B-MoE sizes under MIT, built on Gemma 4 and Qwen 3.5.
The model learns its own scaffold during RL, jointly optimizing the harness and the solution.
Ornith-1.0-397B tops Claude Opus 4.7 on both headline benchmarks, but not Opus 4.8 or the larger GLM-5.2-744B.
Three layers — fixed trust boundary, deterministic monitor, frozen LLM judge — guard against reward hacking.
What is Ornith-1.0?
Ornith-1.0 is a set of reasoning models tuned for coding agents. The variants are 9B Dense, 31B Dense, 35B MoE, and 397B MoE. The 35B model is mixture-of-experts and activates roughly 3B parameters per token. FP8 and GGUF builds are also published for faster local serving.
Each model is a reasoning model. Replies open with a <think> block before the final answer. The serving recipes enable a reasoning parser, so that trace returns in a separate reasoning_content field. The models also emit well-formed tool calls for agent loops.
Deployment is straightforward. The 9B model is about 19GB in bf16 and serves on a single 80GB GPU. Serving recipes target vLLM, SGLang, and Transformers. Each model exposes an OpenAI-compatible endpoint. Standard agent frameworks therefore work without code changes.
Interactive Explainer
The Self-Scaffolding Idea
Most coding agents rely on a scaffold, also called a harness. A scaffold wraps the model with memory, tools, error handling, and orchestration logic. AI teams usually hand-design one scaffold per task category.
Ornith-1.0 treats the scaffold as a learnable object instead. During reinforcement learning, the scaffold co-evolves with the model’s policy. Each RL step runs in two stages.
First, the model reads the task and its previous scaffold. It then proposes a refined scaffold. Second, it uses that scaffold and the task to generate a solution rollout. Reward from the rollout flows back to both stages.
So the model is optimized to author orchestration, not just answers. Over training, higher-reward scaffolds are mutated and selected automatically. Per-task strategies emerge without hand-engineered harness design.
Training also runs asynchronously, using a pipeline-RL setup. A staleness weight downweights older, off-policy tokens and drops them past a threshold. The optimization uses a token-level GRPO objective.
Guarding Against Reward Hacking
Letting a model write its own scaffold invites reward hacking. A scaffold could read visible test files and hardcode expected outputs. It could also copy an oracle solution sitting in the environment. DeepReinforce team describes three defense layers.
The outer trust boundary is fixed and immutable. The environment, tool surface, and test isolation stay outside the model’s reach. The model evolves only its inner policy scaffold.
A deterministic monitor flags banned actions. Reading withheld paths or editing verification scripts earns zero reward. Those trajectories are excluded from the advantage computation.
A frozen LLM judge acts as a veto. It sits on top of the verifier, not as the primary reward.
Benchmark
DeepReinforce reports vendor numbers across several agentic coding benchmarks. At flagship scale, Ornith-1.0-397B posts 77.5 on Terminal-Bench 2.1 and 82.4 on SWE-Bench Verified. On SWE-Bench Verified, that 82.4 trails only Claude Opus 4.8 (87.6) among the listed models. On Terminal-Bench 2.1, the picture is more mixed.
Ornith-1.0-397B beats Claude Opus 4.7 (70.3) on Terminal-Bench 2.1. But it trails Claude Opus 4.8 (85) and the larger GLM-5.2-744B (81.0). So the ‘state-of-the-art’ claim is scoped to open models of comparable size.
The smaller models carry the efficiency case. The 35B model scores 64.2 on Terminal-Bench 2.1, above Qwen 3.5-397B’s 53.5. The 9B model reaches 43.1 on Terminal-Bench 2.1 and 69.4 on SWE-Bench Verified.
BenchmarkOrnith-1.0-397BQwen3.5-397BQwen3.7-MaxGLM-5.2-744BMinimax-M3-428BDeepSeek-V4-Pro-1.6TClaude Opus 4.7Claude Opus 4.8
Terminal-Bench 2.177.553.573.581.0646470.385
SWE-Bench Verified82.476.480.4––80.680.887.6
SWE-Bench Pro62.251.660.662.15955.464.369.2
SWE-Bench Multilingual78.969.378.3––76.2––
NL2Repo48.236.847.248.942.1––69.7
ClawEval Avg77.170.765.2––75.878.2–
Use Cases and a Quick Start
The models target terminal-native coding agents and repository-scale work. Practical fits include multi-file refactors, bug localization, and test-driven patches. The 9B model suits edge or single-GPU setups where latency and cost matter. The 397B model targets maximum accuracy on long, multi-step tasks.
For example, a dev can run the 9B model locally to triage a failing test suite. A platform team can self-host the 397B model for an internal coding agent.
Serving is a one-liner with vLLM:
Copy CodeCopiedUse a different Browser
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
Then call it with any OpenAI client:
Copy CodeCopiedUse a different Browser
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)) # the <think> trace
print(msg.content) # the final answer
The reasoning trace returns in reasoning_content, with the answer in content. Recommended sampling is temperature=0.6, top_p=0.95, top_k=20. The model also plugs into OpenHands, OpenClaw, and OpenCode.
Check out the Model Weights and Technical details. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us
The post DeepReinforce Releases Ornith-1.0: An Open-Source Coding Model Family That Learns Its Own RL Scaffolds appeared first on MarkTechPost.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み