TL;DR
- Ornith-1.0 доступен в версиях 9B, 31B, 35B‑MoE и 397B‑MoE, лицензия MIT, построен на Gemma 4 и Qwen 3.5.
- Модель обучается писать собственный «скелет» (harness) в процессе RL, одновременно оптимизируя и скелет, и решение.
- Ornith-1.0‑397B превосходит Claude Opus 4.7 по основным бенчмаркам, но уступает Opus 4.8 и GLM‑5.2‑744B.
- Три уровня защиты (фиксированный trust‑boundary, детерминированный монитор, замороженный LLM‑judge) защищают от reward‑hacking.
Что такое Ornith‑1.0?
Ornith‑1.0 — это набор моделей‑рассуждателей, адаптированных для агентных систем кодинга. Выпуски:
- 9B Dense (≈19 GB в bf16, работает на одной GPU 80 GB)
- 31B Dense
- 35B Mixture‑of‑Experts (≈3 B активных параметров на токен)
- 397B Mixture‑of‑Experts (флагманская версия)
Все варианты публикуются в формате GGUF и FP8 для ускоренного локального запуска и совместимы с vLLM, SGLang и Transformers. Каждый эндпоинт выглядит как OpenAI‑совместимый, так что привычные фреймворки агентов работают без правок.
Идея «само‑скелетирования»
Традиционно агентам нужен фиксированный скелет‑обёртка: память, инструменты, обработка ошибок. В Ornith‑1.0 скелет делается обучаемым объектом. Каждый шаг RL состоит из двух стадий:
- Стадия 1 — модель читает задачу и текущий скелет, предлагает улучшенный скелет.
- Стадия 2 — использует новый скелет для генерации решения.
Вознаграждение от результата распределяется обратно на обе стадии, поэтому со временем «выживают» более эффективные скелеты. Обучение происходит в пайплайн‑RL, старые токены отбрасываются по порогу staleness‑weight, а оптимизация использует token‑level GRPO.
Защита от reward‑hacking
Если модель может писать собственный скелет, она может попытаться «обмануть» проверку (читать файлы тестов, хардкодировать ответы и т.п.). DeepReinforce вводит три слоя защиты:
- Фиксированный trust‑boundary: окружение, набор инструментов и изоляция тестов недоступны модели.
- Детерминированный монитор: правило‑базированный фильтр блокирует запрещённые действия (чтение скрытых путей, модификацию верификаторов) — такие траектории получают нулевое вознаграждение.
- Замороженный LLM‑judge: независимый «вето‑модуль» проверяет, что решение действительно соответствует требованиям, но не является основным сигналом вознаграждения.
Бенчмарки
Ниже – выбранные результаты, предоставленные DeepReinforce (непроверенные независимыми исследователями):
| Бенчмарк | Ornith‑1.0‑397B | Qwen 3.5‑397B | Qwen 3.7‑Max | GLM‑5.2‑744B | Claude Opus 4.7 | Claude Opus 4.8 |
|---|---|---|---|---|---|---|
| Terminal‑Bench 2.1 | 77.5 | 53.5 | 73.5 | 81.0 | 70.3 | 85 |
| SWE‑Bench Verified | 82.4 | 76.4 | 80.4 | – | 80.8 | 87.6 |
| SWE‑Bench Pro | 62.2 | 51.6 | 60.6 | 62.1 | 64.3 | 69.2 |
| SWE‑Bench Multilingual | 78.9 | 69.3 | 78.3 | – | – | – |
| NL2Repo | 48.2 | 36.8 | 47.2 | 48.9 | – | 69.7 |
| ClawEval Avg | 77.1 | 70.7 | 65.2 | – | 78.2 | – |
Модели меньшего размера тоже имеют смысл: 35B‑MoE достигает 64.2 по Terminal‑Bench 2.1, а 9B‑Dense — 43.1 и 69.4 по SWE‑Bench Verified, при значительно меньших требованиях к оборудованию.
Практические сценарии и быстрый старт
Ornith‑1.0 подходит для:
- многофайловых рефакторов;
- локализации багов и генерации патчей, основанных на тестах;
- автоматизации CI‑pipelines с интерактивным отладчиком кода.
Пример запуска 9B‑модели через 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 OpenAIclient = 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 function is_prime(n)."}],
temperature=0.6,
top_p=0.95,
)
msg = resp.choices[0].message
print(getattr(msg, "reasoning_content", None)) # трассировка




















