Promt-Hub
Новости Полезное

Ornith-1.0: открытые coding-модели научились создавать собственные агентные стратегии

DeepReinforce представила Ornith-1.0 — семейство открытых моделей для агентного программирования размером от 9 до 397 млрд параметров. Главная особенность проекта — self-scaffolding: во время обучения модель совершенствует не только решение задачи, но...

Ornith-1.0: открытые coding-модели научились создавать собственные агентные стратегии
Лид

Команда DeepReinforce выпустила Ornith-1.0 — семейство открытых моделей, специализированных на agentic coding. В линейку входят компактные и крупные варианты от 9B Dense до 397B MoE. Разработчики утверждают, что флагманская версия показывает результаты на уровне закрытых frontier-моделей, а ключевое преимущество достигается за счёт обучения модели самостоятельно создавать и улучшать scaffolds — внутренние схемы...

Кратко

Главные тезисы

  • DeepReinforce представила открытое семейство моделей Ornith-1.0 для agentic coding.
  • В линейку входят модели 9B Dense, 31B Dense, 35B MoE и 397B MoE.
  • Модели построены на базе предварительно обученных Gemma 4 и Qwen 3.5.
  • Ключевая технология — self-scaffolding: модель учится одновременно решать задачу и создавать стратегию, которая управляет решением.
  • Для борьбы с reward hacking используются неизменяемые границы среды, детерминированный монитор и отдельная LLM-судья.
  • В асинхронном RL старые токены получают меньший вес или исключаются из обучения.

Что представила DeepReinforce

Ornith-1.0 — семейство открытых языковых моделей для агентного программирования. В релиз вошли четыре основные конфигурации:

  • 9B Dense;
  • 31B Dense;
  • 35B MoE;
  • 397B MoE.

Младшая модель рассчитана в том числе на локальное и периферийное развёртывание, тогда как 397B-версия позиционируется как флагманская модель для максимальной производительности. В основе моделей используются предварительно обученные Gemma 4 и Qwen 3.5.

Модели опубликованы на Hugging Face. Для части вариантов доступны основные веса, FP8-версии и GGUF-сборки. В карточке 397B-модели указана лицензия MIT.

Что означает self-scaffolding

Обычный coding-agent состоит не только из языковой модели. Вокруг неё обычно находится scaffold — набор правил и механизмов, которые определяют, как агент:

  • анализирует задачу;
  • планирует дальнейшие действия;
  • вызывает инструменты;
  • обрабатывает ошибки;
  • хранит промежуточное состояние;
  • проверяет результат;
  • решает, когда закончить работу.

Как правило, такую архитектуру заранее проектируют люди. Инженеры пишут системные инструкции, создают циклы вызова инструментов, добавляют память, повторные попытки и механизмы проверки.

В Ornith-1.0 scaffold становится частью обучения. Модель учится не только выдавать правильное решение, но и создавать стратегию, которая помогает к нему прийти. DeepReinforce называет такой подход self-scaffolding.

Как устроен цикл обучения

Каждый шаг reinforcement learning состоит из двух этапов.

Сначала модель получает задачу и scaffold, который использовался ранее, после чего предлагает его улучшенную версию. Затем, опираясь уже на новый scaffold и описание задачи, модель генерирует полноценный rollout решения.

Награда за результат распространяется на оба этапа. Таким образом, система оптимизирует одновременно:

  1. итоговое решение задачи;
  2. способ, которым агент организует собственную работу.

Во время повторных итераций scaffolds изменяются, сравниваются и отбираются по тому, насколько успешные траектории они создают. В результате для разных типов задач могут автоматически формироваться разные стратегии — без необходимости вручную прописывать отдельный harness для каждой категории.

Почему это важно для coding-agent

В агентном программировании качество зависит не только от знаний модели.

Даже сильная LLM может работать нестабильно, если агент:

  • плохо планирует последовательность действий;
  • не замечает ошибки инструментов;
  • повторяет неудачные шаги;
  • слишком рано считает задачу завершённой;
  • теряет важный контекст;
  • неправильно использует доступные команды;
  • не проверяет внесённые изменения.

Self-scaffolding переносит часть этой работы из внешней инженерной обвязки внутрь процесса обучения. Модель должна сама находить более эффективные способы организации решения.

Это не означает, что runtime и внешние ограничения становятся ненужными. Напротив, DeepReinforce отдельно фиксирует внешнюю среду и разрешённый набор инструментов, чтобы модель могла изменять внутреннюю стратегию, но не границы безопасности.

Проблема reward hacking

Если модель сама создаёт scaffold, она может научиться не решать задачу, а обходить проверку.

Например, агент может:

  • прочитать скрытые тесты;
  • изменить проверяющий скрипт;
  • скопировать готовое решение из окружения;
  • создать файл, наличие которого проверяет verifier, не выполняя реальную работу;
  • жёстко записать ожидаемый вывод.

Это классическая проблема reward hacking: система формально получает награду, но не достигает исходной цели.

DeepReinforce описывает три уровня защиты от такого поведения.

Первый уровень: неизменяемая внешняя граница

Модель не может изменять среду, доступные инструменты и изоляцию тестов.

Она совершенствует только внутренний scaffold:

  • память;
  • обработку ошибок;
  • планирование;
  • оркестрацию шагов;
  • правила принятия решений.

Таким образом, модель может менять способ работы, но не может переписать условия задачи или механизм оценки.

Второй уровень: детерминированный монитор

Отдельный монитор проверяет действия, которые можно описать строгими правилами.

Он блокирует попытки:

  • читать закрытые пути;
  • изменять тесты и verifier;
  • выполнять команды вне разрешённого набора инструментов;
  • обращаться к недоступным частям окружения.

Траектории с такими нарушениями получают нулевую награду и исключаются из вычисления преимущества при обучении.

Третий уровень: отдельная judge-модель

Не все обходы можно обнаружить детерминированными правилами. Агент может действовать только разрешёнными инструментами, но всё равно пытаться формально удовлетворить проверку без полноценного решения.

Для таких случаев используется замороженная LLM-судья. Она работает как дополнительное право вето поверх обычного verifier, а не как основной источник награды.

Такая схема разделяет роли:

  • verifier проверяет формальный результат;
  • монитор контролирует строгие технические запреты;
  • LLM judge оценивает подозрительное поведение на уровне намерения.

Асинхронное reinforcement learning

Длинные agentic rollouts создают отдельную проблему: пока агент генерирует длинную траекторию, обучаемая модель успевает обновиться. Старые токены оказываются получены политикой, которая уже отличается от текущей.

DeepReinforce использует pipeline RL и вводит коэффициент устаревания токенов:

w(d_t) =
    1,                              если d_t ≤ K₁
    exp(-λ(d_t - K₁)),              если K₁ < d_t ≤ K₂
    0,                              если d_t > K₂

Здесь d_t обозначает возраст токена относительно текущей политики. Свежие токены учитываются полностью, более старые постепенно получают меньший вес, а после заданного порога полностью исключаются.

Функция потерь GRPO дополнительно умножается на этот коэффициент:

L_t = min(
    r_t A_t,
    clip(r_t, 1 - ε⁻, 1 + ε⁺) A_t
) · w(d_t)

Отношение вероятностей задаётся так:

r_t =
    πθ(y_t | x, y_<t)
    ─────────────────
    πθ_beh(y_t | x, y_<t)

Механизм нужен для того, чтобы старые части длинных rollout меньше влияли на обновление уже изменившейся модели.

Какие результаты заявляет DeepReinforce

По данным разработчиков, Ornith-1.0-397B набрала:

  • 77,5 на Terminal-Bench 2.1 с harness Terminus-2;
  • 78,2 на Terminal-Bench 2.1 с Claude Code;
  • 82,4 на SWE-Bench Verified;
  • 62,2 на SWE-Bench Pro;
  • 78,9 на SWE-Bench Multilingual;
  • 77,1 в среднем на ClawEval.

В опубликованной таблице Ornith-1.0-397B превосходит Claude Opus 4.7 на Terminal-Bench 2.1 и SWE-Bench Verified, но уступает более новой Claude Opus 4.8 на большинстве приведённых тестов. На отдельных заданиях модель также уступает GLM-5.2 и другим конкурентам.

Поэтому формулировку о превосходстве над закрытыми моделями нужно читать внимательно: она относится к отдельным версиям моделей и конкретным бенчмаркам, а не ко всем сценариям программирования.

Кроме того, результаты опубликованы самой командой DeepReinforce и пока не подтверждены независимым воспроизведением.

Результаты Ornith-1.0-35B

Версия Ornith-1.0-35B, по данным разработчиков, получила:

  • 64,2 на Terminal-Bench 2.1 с Terminus-2;
  • 62,8 с Claude Code;
  • 75,6 на SWE-Bench Verified;
  • 50,4 на SWE-Bench Pro;
  • 69,3 на SWE-Bench Multilingual.

В таблице DeepReinforce она заметно опережает Qwen 3.5-35B, Qwen 3.6-35B и Gemma 4-31B на большинстве представленных тестов.

Особенно выделяется Terminal-Bench: 35B-модель показывает результат выше, чем базовая Qwen 3.5-397B, хотя уступает ей или находится рядом на некоторых других испытаниях.

Компактная Ornith-1.0-9B

Младшая версия содержит 9 млрд параметров и предназначена для более доступного локального развёртывания.

Заявленные результаты:

  • 43,1 на Terminal-Bench 2.1 с Terminus-2;
  • 40,6 с Claude Code;
  • 69,4 на SWE-Bench Verified;
  • 42,9 на SWE-Bench Pro;
  • 52,0 на SWE-Bench Multilingual.

На SWE-Bench Verified модель заметно превосходит Gemma 4-31B, несмотря на значительно меньший размер. На отдельных тестах она также приближается к Qwen 3.5-35B.

Для локальных coding-agent именно эта версия может оказаться наиболее практичной, поскольку 397B-модель требует инфраструктуры, недоступной большинству разработчиков.

Как проводилась оценка

DeepReinforce раскрыла часть параметров тестирования.

Для Terminal-Bench 2.1 с Terminus-2 использовались:

  • JSON parser;
  • temperature=1.0;
  • top_p=1.0;
  • контекст 128K;
  • тайм-аут четыре часа;
  • 32 CPU;
  • 48 ГБ оперативной памяти;
  • усреднение по пяти запускам.

В варианте с Claude Code использовалась версия Claude Code 2.1.126 и максимальный вывод до 131 072 токенов.

Для SWE-Bench Verified, Pro и Multilingual применялся OpenHands harness с контекстом 256K. Для NL2Repo использовался контекст 400K, вывод до 48K и фильтры против обхода проверки.

Эти различия важны: результаты agentic-бенчмарков сильно зависят не только от самой модели, но и от harness, лимитов, шаблона чата, доступных инструментов и параметров генерации.

Доступные модели

В коллекции Hugging Face опубликованы:

  • Ornith-1.0-397B;
  • Ornith-1.0-397B-FP8;
  • Ornith-1.0-35B;
  • Ornith-1.0-35B-FP8;
  • Ornith-1.0-35B-GGUF;
  • Ornith-1.0-9B;
  • Ornith-1.0-9B-GGUF.

Для 397B-модели указана поддержка Transformers, vLLM, SGLang и Docker Model Runner. Модель можно развернуть через OpenAI-совместимый API с помощью vLLM или SGLang.

Пример запуска через vLLM:

pip install vllm

vllm serve "deepreinforce-ai/Ornith-1.0-397B"

Пример запроса к локальному серверу:

curl -X POST "http://localhost:8000/v1/chat/completions" \
    -H "Content-Type: application/json" \
    --data '{
        "model": "deepreinforce-ai/Ornith-1.0-397B",
        "messages": [
            {
                "role": "user",
                "content": "Исправь ошибку в проекте и запусти тесты"
            }
        ]
    }'

Для SGLang сервер запускается следующим образом:

pip install sglang

python3 -m sglang.launch_server \
    --model-path "deepreinforce-ai/Ornith-1.0-397B" \
    --host 0.0.0.0 \
    --port 30000

Карточка модели также содержит пример запуска через Docker:

docker model run hf.co/deepreinforce-ai/Ornith-1.0-397B

Эти примеры относятся к 397B-варианту, поэтому для практического локального использования большинству пользователей разумнее рассматривать версии 9B или 35B.

Почему релиз важен

Главная идея Ornith-1.0 заключается не только в публикации ещё одной сильной coding-модели.

Проект показывает возможное направление развития agentic AI: модели начинают обучаться не только выполнять задачи, но и создавать собственную рабочую методологию.

Раньше основная конкуренция шла вокруг:

  • качества генерации кода;
  • размера контекста;
  • reasoning;
  • скорости и стоимости;
  • поддержки инструментов.

Теперь появляется ещё один уровень — способность модели оптимизировать сам процесс решения:

  • как планировать;
  • как хранить состояние;
  • когда проверять результат;
  • как восстанавливаться после ошибки;
  • какие действия выполнять в первую очередь;
  • когда менять стратегию.

Если подход окажется устойчивым, разработчикам coding-agent придётся меньше вручную настраивать сложные system prompts и orchestration loops. Часть таких решений модель сможет находить в процессе обучения.

Ограничения и открытые вопросы

Несмотря на сильные результаты, у Ornith-1.0 остаются вопросы.

Во-первых, заявленные показатели предоставлены разработчиками модели. Для окончательных выводов нужны независимые тесты с воспроизводимыми конфигурациями.

Во-вторых, self-scaffolding повышает сложность анализа поведения агента. Чем больше решений модель принимает относительно собственной стратегии, тем труднее объяснить, почему была выбрана конкретная траектория.

В-третьих, защита от reward hacking остаётся фундаментальной проблемой. Детерминированный монитор и LLM judge снижают риск, но не гарантируют, что модель не найдёт новый способ оптимизировать метрику вместо реальной задачи.

Наконец, сравнение agentic-моделей сильно зависит от внешней среды. Одна и та же модель может показывать разные результаты с OpenHands, Claude Code, Terminus или другим harness.

Итог

Ornith-1.0 — семейство открытых coding-моделей, в котором обучение распространяется не только на решение задач, но и на внутреннюю организацию агентной работы.

Модель сама предлагает scaffold, выполняет задачу с его помощью и получает общую награду за качество стратегии и результата. Повторяя этот цикл, система должна находить более эффективные способы работы с памятью, инструментами, ошибками и планированием.

По данным DeepReinforce, флагманская Ornith-1.0-397B достигает результатов уровня сильных закрытых моделей, а компактная 9B-версия конкурирует с моделями, которые в несколько раз крупнее.

Однако главное значение релиза находится не в конкретной позиции в таблице. Ornith-1.0 показывает переход от моделей, которые просто следуют созданному человеком агентному циклу, к моделям, которые учатся проектировать этот цикл самостоятельно.

Источники
Был ли материал полезен?

Поделитесь в социальных сетях

Подпишись на нас в

Следите за новыми материалами, обновлениями каталога и полезными находками в наших соцсетях.

Комментарии

0 комментариев

Хотите принять участие в обсуждении, оставить комментарий или поделиться своим мнением? Зарегистрируйтесь или войдите в аккаунт.

Пока никто не оставил комментарий. Будьте первым.

Что почитать дальше

Все материалы