DeepReinforce、Ornith-1.0を公開:独自のRLスキャフォールドを学習するオープンソースコーディングモデルファミリー
DeepReinforceは、Gemma 4とQwen 3.5をベースにしたオープンソースのコーディングモデルファミリーOrnith-1.0をリリースしました。固定のハーネスではなく、強化学習中にモデルが独自のスキャフォールドを学習します。397BフラッグシップモデルはSWE-Bench Verifiedで82.4を記録し、すべての重みはMITライセンスで提供されます。
DeepReinforceは、エージェント型コーディング向けに構築されたオープンソースモデルファミリーOrnith-1.0をリリースしました。ラインナップは9B密結合モデルから397B混合専門家(MoE)フラッグシップまで4つのサイズに及びます。すべてのチェックポイントは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モデルは混合専門家アーキテクチャで、トークンあたり約3Bパラメータを活性化します。FP8およびGGUFビルドも公開されており、ローカルでの高速サーブが可能です。
各モデルは推論モデルです。応答は最終回答の前に推論ブロックで始まります。サービングレシピは推論パーサーを有効にし、トレースが独立したreasoning_contentフィールドで返されるようにします。モデルはまた、エージェントループ用の適切なツール呼び出しを出力します。
デプロイは簡単です。9Bモデルはbf16で約19GBであり、単一の80GB GPUで動作します。サービングレシピはvLLM、SGLang、Transformersを対象としています。各モデルはOpenAI互換のエンドポイントを公開するため、標準のエージェントフレームワークはコード変更なしで動作します。
インタラクティブな説明:自己スキャフォールディングのアイデア
ほとんどのコーディングエージェントはスキャフォールド(ハーネスとも呼ばれる)に依存します。スキャフォールドはモデルにメモリ、ツール、エラーハンドリング、オーケストレーションロジックをラップします。AIチームは通常、タスクカテゴリごとに1つのスキャフォールドを手作業で設計します。
Ornith-1.0はスキャフォールドを学習可能なオブジェクトとして扱います。強化学習中、スキャフォールドはモデルのポリシーと共進化します。各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)を上回りますが、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に参加したり、ニュースレターを購読したりしてください。Telegramにも参加できます。GitHubリポジトリ、Hugging Faceページ、製品リリース、ウェビナーなどのプロモーションについてはお問い合わせください。