Представлена Ornith-1.5 — крупный шаг на пути к построению foundation-моделей через сквозное самосовершенствование. Ornith-1.5 расширяет фреймворк самостоятельного построения инфраструктуры (self-scaffolding), представленный в Ornith-1.0, до более полного цикла самосовершенствования: модель предлагает новые задачи, генерирует специфичные для задачи scaffold-ы и производит решения (rollouts) для обучения с подкреплением, непрерывно создавая новый учебный опыт, на основе которого продолжает улучшаться.
Ornith-1.5 выпущена в трёх масштабах: 397B MoE, 35B MoE и 9B dense. Модель ориентирована на сильный универсальный интеллект в задачах рассуждения, агентных сценариях и кодинге и демонстрирует state-of-the-art результаты среди открытых моделей сопоставимого размера по широкому набору бенчмарков. Ornith-1.5-397B набирает 86.1 балла на Terminal-Bench 2.1 и 56.0 на DeepSWE, показывая результат на уровне Claude Opus 4.8 (85.0 и 59.0) и опережая ведущие открытые модели схожего масштаба, включая GLM-5.2 (82.7 и 46.2) и DeepSeek-V4-Flash-0731 (82.7 и 54.4). На другом конце спектра находится Ornith-1.5-9B: с квантованной версией Ornith-1.5-9B-Mobile модель можно развернуть прямо на iPhone и Android-устройствах, при этом она существенно превосходит более крупные модели, такие как Gemma 4-31B и Qwen 3.6-35B.

На флагманском масштабе Ornith-1.5-397B набирает 86.1 на Terminal-Bench 2.1 и 56 на DeepSWE, совпадая с показателями Claude Opus 4.8 по обоим бенчмаркам и опережая ведущие открытые модели аналогичного размера, включая GLM-5.2 и DeepSeek-V4-Flash-0731.

Ornith-1.5-35B значительно опережает своего ровесника по размеру Qwen 3.6-35B по всем бенчмаркам кодинга и агентных задач, а несмотря на активацию всего 3B параметров на токен, обходит и dense-модели — Gemma 4-31B и Muse Glimmer-30B от Meta — с большим отрывом в агентном кодинге (68.5 против 43.4 и 51.7 на Terminal-Bench 2.1; 79.0 против 52.0 и 76.0 на SWE-Bench Verified).

Развёртываемая на edge-устройствах Ornith-1.5-9B также показывает заметно сильные результаты: 47.0 на Terminal-Bench 2.1 и 70.6 на SWE-Bench Verified. Несмотря на компактные 9B параметров, модель сравнима или превосходит по производительности гораздо более крупные модели, такие как Gemma 4-31B и Qwen 3.6-35B.
Самосовершенствование через самостоятельно сгенерированные задачи, scaffold-ы и решения
Ornith-1.5 расширяет Ornith-1.0, переводя цикл самосовершенствования от оптимизации scaffold-ов и rollout-ов к совместной оптимизации генерации задач, построения scaffold-ов и решений. Вместо опоры на фиксированный набор задач, подготовленных людьми, и вручную спроектированные harness-ы, Ornith-1.5 непрерывно генерирует новые обучающие задачи, находит эффективные стратегии их решения и улучшает политику через обучение с подкреплением.
Каждый цикл обучения проходит в три этапа. Имея окружение или кодовую базу, инструкции высокого уровня о типе задачи и доступ к истории решения предыдущих задач, система предлагает всё более сложные задачи, выходящие за пределы уже решённого моделью, вскрывая пробелы в возможностях и постоянно расширяя границу обучения.
Для каждой задачи модель затем генерирует или уточняет специфичный scaffold — инструкции, инструменты, стратегию декомпозиции и оркестрацию, используемые для подхода к задаче. При заданных задаче и scaffold-е политика формирует решение (rollout). Награда за rollout распространяется на все три этапа, поэтому система учится не только производить лучшие решения, но и генерировать более полезные обучающие задачи и строить более эффективные scaffold-ы.
Повторяясь на протяжении обучения, это создаёт замкнутый цикл самосовершенствования: более сильные политики позволяют генерировать более сложные и информативные задачи, эволюционирующие scaffold-ы находят лучшие способы раскрыть возможности модели, а более качественные rollout-ы дают всё более эффективные обучающие сигналы. Вместо опоры на статичное распределение обучающих данных или вручную спроектированную архитектуру агента, Ornith-1.5 непрерывно расширяет собственную учебную программу и адаптирует стратегии решения задач, обеспечивая устойчивый рост возможностей в рассуждениях, кодинге и агентных задачах.

Награда за задачу
Для схемы вопрос → scaffold → rollout награда за задачу определяется тремя сигналами: валидность, фронтирная сложность и новизна. Пусть \(q\) обозначает сгенерированный вопрос, \(s\) — его scaffold, а \(\{\tau_i\}_{i=1}^{N}\) — набор решений (rollout-ов). Определим
Здесь \(V\) измеряет, образуют ли сгенерированная задача и scaffold валидную и проверяемую обучающую среду, \(D\) измеряет, находится ли задача около текущей границы возможностей модели на основе производительности rollout-ов, а \(N\) измеряет новизну относительно ранее сгенерированных или обучающих задач. Мультипликативная формулировка стимулирует генератор задач создавать задачи, удовлетворяющие всем трём свойствам одновременно: валидные, соответствующе сложные и не избыточные.
Валидность и проверяемость
Полезная задача должна формировать чётко определённую обучающую среду. Вопрос должен быть связным и решаемым, а scaffold должен корректно выполняться и надёжно оценивать предложенные решения. Определим
на основе таких проверок, как успешность выполнения scaffold-а, прохождение решений с высокой уверенностью, отбраковка явно неверных решений и соответствие оценки спецификации задачи. Валидность также можно рассматривать как жёсткий фильтр:
Это не позволяет некорректно сформулированным задачам или ненадёжным scaffold-ам получать награду просто потому, что они выглядят сложными.
Фронтирная сложность
Среди валидных задач наиболее полезны те, что не тривиальны, но и не невозможны. Сложность оценивается непосредственно по rollout-ам модели.
Для каждой задачи выбирается \(N\) rollout-ов и вычисляется эмпирическая доля успеха
Затем награда назначается задачам, чья доля успеха близка к целевому фронтиру \(p^*\):
\(p^*\) установлен равным 0.2, что отдаёт приоритет задачам, которые сложны, но всё же дают достаточно успешных траекторий для обучения с подкреплением. По мере того как модель совершенствуется и решает задачу более надёжно, награда за неё естественным образом снижается, толкая генератор к более сложным задачам.
Новизна и разнообразие
Одна лишь фронтирная сложность может привести к тому, что модель будет повторно генерировать небольшие вариации одних и тех же задач. Поэтому добавлен член новизны:
где \(\mathcal{B}\) — буфер ранее сгенерированных или обучающих задач. Новизна должна оставаться второстепенной по отношению к валидности и сложности: её роль — снижать избыточность, а не поощрять произвольно странные задачи.
В совокупности эти сигналы стимулируют генератор задач создавать задачи, которые валидны, проверяемы, сложны, но решаемы, и достаточно разнообразны. Поскольку фронтирная сложность измеряется на основе rollout-ов самой текущей модели, итоговая учебная программа автоматически развивается вместе с ростом её возможностей.
Награды за harness и rollout
Для сгенерированного вопроса \(q\) harness \(h\) получает награду за предоставление оценочной среды, которая соответствует задаче, точно отражает качество решения и устойчива к «взлому» награды:
Здесь \(C\) измеряет, насколько верно harness отражает спецификацию задачи, \(F\) измеряет, насколько его награды соответствуют реальному качеству предложенных решений, а \(H\) измеряет устойчивость к сбоям оценщика, обходным путям и поведению, направленному на «взлом» награды.
Каждый rollout \(\tau_i\) оценивается непосредственно сгенерированным harness-ом:
Для проверяемых задач это может быть бинарная награда «прошёл/не прошёл»; для более сложных сред она может сочетать корректность, завершённость задачи, эффективность и соблюдение ограничений. Генерация вопросов, генерация harness-ов и решения (rollout-ы) — все три компонента оптимизируются с помощью GRPO с использованием соответствующих наград, что позволяет всем трём этапам совместно улучшаться в рамках одного цикла самосовершенствования.
Полная таблица результатов
Ornith-1.5-397B
| Бенчмарк | Ornith-1.5 (397B) |
DeepSeek-V4-Flash-0731 (284B) |
GLM-5.2 (753B) |
Claude Opus 4.8 | Kimi K3 (2.8T) |
Ornith-1.0 (397B) |
|---|---|---|---|---|---|---|
| Кодинг | ||||||
| Terminal Bench 2.1 (Terminus-2) | 86.1 | 82.7 | 81 | 85 | 88.3 | 77.5 |
| Terminal Bench 2.1 (Claude Code) | 85.2 | 81.8 | 82.7 | 78.9 | – | 78.2 |
| SWE-bench Verified | 86 | 81.6 | 83 | 85.8 | 86.2 | 82.4 |
| SWE-bench Pro | 65.1 | 64.4 | 62.1 | 68 | – | 62.2 |
| SWE-bench Multilingual | 79.6 | 77.9 | 78.4 | 75.7 | – | 78.9 |
| DeepSWE | 56 | 54.4 | 46.2 | 59 | 67.5 | 8 |
| Frontier-Bench v0.1 | 13.5 | 6.1 | 5.1 | 21.1 | 23 | 2.7 |
| NL2Repo | 59.5 | 54.2 | 48.9 | 69.7 | – | 48.2 |
| SWE Atlas – QnA | 55.6 | 51.6 | 50 | 59.7 | 59.7 | 41.2 |
| Рассуждения | ||||||
| HLE (без инструментов) | 44.6 | 35 | 40.5 | 49.8 | 43.5 | 30.2 |
| HLE (с инструментами) | 56.1 | 50.8 | 54.7 | 57.9 | 56 | 47.5 |
| GPQA Diamond | 92.8 | 91.4 | 91.2 | 93.6 | 93.5 | 88.1 |
| Агентные задачи | ||||||
| MCP-Atlas | 80 | 74.6 | 77.8 | 82.2 | 82.3 | 76.4 |
| Toolathlon-Verified | 71.2 | 70.3 | 48.2 | 76.2 | 73.2 | 43.2 |
| WideSearch | 80.8 | 77.3 | 79 | 72.9 | – | 75.2 |
| BrowseComp | 86.6 | 84.8 | 85.6 | 84.3 | 91.2 | 79.7 |
| ClawEval | 81.4 | 77.6 | 78.8 | 80.2 | – | 77.1 |
Ornith-1.5-35B
| Бенчмарк | Ornith-1.5-35B-A3B | Ornith-1.0-35B-A3B | Qwen3.6-35B-A3B | Gemma-4-31B (dense) |
Muse-Glimmer-30B (dense) |
Qwen3.5-397B (397B) |
|---|---|---|---|---|---|---|
| Кодинг | ||||||
| Terminal Bench 2.1 (Terminus-2) | 67.8 | 64.2 | 52.5 | 42.1 | 51.7 | 53.5 |
| Terminal Bench 2.1 (Claude Code) | 68.5 | 62.8 | 49.2 | – | – | 48.6 |
| SWE-bench Verified | 79 | 75.6 | 73.4 | 52 | 76 | 76.4 |
| SWE-bench Pro | 59.6 | 50.4 | 49.5 | 35.7 | 51.2 | 51.6 |
| SWE-bench Multilingual | 71.4 | 69.3 | 67.2 | 51.7 | – | 69.3 |
| DeepSWE | 22 | 0 | 0 | – | – | 1 |
| Frontier-Bench v0.1 | 5.1 | 1.4 | 1.4 | – | – | 1.4 |
| NL2Repo | 46.2 | 34.6 | 29.4 | 15.5 | – | 36.8 |
| SWE Atlas – QnA | 39.8 | 37.1 | 15.5 | – | – | 20.4 |
| Рассуждения | ||||||
| HLE (без инструментов) | 25.6 | 20.8 | 21.4 | 19.5 | 22 | 28.7 |
| HLE (с инструментами) | 33.4 | 30.1 | 28.9 | 26.5 | – | 48.3 |
| GPQA Diamond | 89.2 | 86.2 | 86 | 84.3 | 83.5 | 88.4 |
| Агентные задачи | ||||||
| MCP-Atlas | 70.2 | 64.4 | 62.8 | 55 | 75.5 | 72.3 |
| Toolathlon-Verified | 48.7 | 42.4 | 41.7 | 40.8 | – | 38.3 |
| WideSearch | 67.8 | 63.4 | 60.1 | 54.2 | – | 74 |
| BrowseComp | 67.6 | 63.5 | 62 | – | – | 78.6 |
| ClawEval | 72.5 | 69.8 | 68.7 | 48.5 | – | 70.7 |
Ornith-1.5-9B
| Бенчмарк | Ornith-1.5-9B | Ornith-1.0-9B | Qwen3.5-9B | Qwen3.6-35B-A3B | Gemma-4-31B (dense) |
|---|---|---|---|---|---|
| Кодинг | |||||
| Terminal Bench 2.1 (Terminus-2) | 46.2 | 43.1 | 21.3 | 52.5 | 42.1 |
| Terminal Bench 2.1 (Claude Code) | 47 | 40.6 | 18.9 | 49.2 | – |
| SWE-bench Verified | 70.6 | 69.4 | 53.2 | 73.4 | 52 |
| SWE-bench Pro | 47.5 | 42.9 | 31.3 | 49.5 | 35.7 |
| SWE-bench Multilingual | 54.4 | 52 | 39.7 | 67.2 | 51.7 |
| NL2Repo | 32.4 | 27.2 | 16.2 | 29.4 | 15.5 |
| SWE Atlas – QnA | 20.6 | 17.9 | 9.2 | 15.5 | – |
| Рассуждения | |||||
| HLE (без инструментов) | 20.2 | 16.8 | 14.7 | 21.4 | 19.5 |
| HLE (с инструментами) | 30.5 | 26.4 | 24.5 | 28.9 | 26.5 |
| GPQA Diamond | 86.4 | 82.5 | 81.7 | 86 | 84.3 |
| Агентные задачи | |||||
| MCP-Atlas | 54.2 | 49.4 | 46.8 | 62.8 | 55 |
| Toolathlon-Verified | 41.2 | 33.4 | 29.6 | 41.7 | 52.8 |
| WideSearch | 59.5 | 55.8 | 53.6 | 60.1 | 54.2 |
| BrowseComp | 56.4 | 44.8 | 41.5 | 62 | – |
| ClawEval | 66.5 | 63.1 | 53.2 | 68.7 | 48.5 |
Примечания
- Все результаты, приведённые для Ornith-1.5, усреднены по пяти независимым запускам.
- Terminal-Bench 2.1 (Terminus-2): оценка проводилась с использованием фреймворка Harbor/Terminus-2 с parser=json, temperature=1.0, top_p=1.0 и контекстным окном 128K. Каждый запуск выполнялся с таймаутом 4 часа, с использованием 32 ядер CPU и 48 ГБ RAM, результаты усреднены по 5 запускам. Шаблон чата Qwen был скорректирован для обеспечения согласованности между обучением и инференсом, а Harbor модифицирован для соответствия ключу reasoning_content в vLLM.
- Terminal-Bench 2.1 (Claude Code): оценка проводилась с использованием Claude Code 2.1.126 с parser=json, temperature=1.0, top_p=1.0, max_new_tokens=131072. Результаты усреднены по 5 запускам. Шаблон чата Qwen также требовал корректировки.
- SWE-Bench Verified, Pro и Multilingual: оценка через harness OpenHands с temp=1.0, top_p=0.95, контекстным окном 256K. На протяжении всей оценки применялись меры защиты от «взлома» награды: из локального образа репозитория удалялась история Git, чтобы исключить доступ к готовым решениям или коммитам; сетевой доступ отключался, что не позволяло модели получать внешнюю информацию или ресурсы.
- DeepSWE: оценка через harness Claude Code с temperature=1.0, top_p=0.95 и контекстным окном 256K.
- SWE Atlas QnA, RF, TW: оценка через harness mini SWE agent с temp=1.0, top_p=0.95, контекстным окном 128K. Результаты усреднены по 5 запускам.
- NL2Repo: с temperature=1.0, top_p=1.0, контекстом 400K, выходом 48K. Доступ к указанным GitHub-репозиториям и pip-пакетам был заблокирован для предотвращения «взлома» награды.
- HLE: оценка проводилась с использованием Claude 4.6 Opus в роли модели-судьи.
- MCP-Atlas: все модели оценивались в режиме размышления (thinking mode) на публичном подмножестве из 500 задач, с таймаутом 10 минут на задачу. В роли модели-судьи использовался Claude 4.8 Opus.
- Tool-Decathlon: использовался официальный сервис оценки с максимальным лимитом токенов 128K.
- ClawEval: агентный бенчмарк по коду на реальных распределениях пользовательских задач; temp=0.6 и контекстное окно 256K.