Holo4 — это агентная модель, которая работает в разных средах: на десктопах, в вебе, на Android, в песочнице для кода и против бизнес-API. Разбираем, что именно означает «одна и та же модель» в этих средах, как устроен рецепт обучения и что показывают замеры. Нетривиальность в том, что универсальность здесь достигается не набором специализированных моделей под каждую платформу, а общим набором весов и общим способом взаимодействия с софтом.
Что значит «одна и та же модель» в разных средах
Holo4 запускается на десктопах, в вебе, на Android, в песочнице для кода и против бизнес-API, и это одна и та же модель, вызываемая одинаково. Общими для всех сред остаются сам набор моделей — 27B denseмодель на 27 миллиардов параметров, где на каждом шаге задействуются все параметры и 35B-A3B Mixture of Expertsмодель на 35 миллиардов параметров, где на каждом шаге работает лишь часть из них — около 3 миллиардов активных, доступные через H Models API, — и способ взаимодействия с софтом через любой доступный интерфейс: GUI, код, MCPпротокол, через который модель подключается к внешним инструментам и сервисам и вызывает их и API.
Различаются среды применения интерфейсов. Holo4 кликает и печатает на экране, пишет и запускает собственный код, вызывает MCP или API-инструменты — используя то, что подходит задаче. Обучение тоже общее: модель обучалась через supervisedобучение на размеченных примерах, где модели показывают правильные ответы и reinforcement learningобучение методом проб, где модель получает награду за удачные действия на большом наборе сред и задач, включая сгенерированные Agentic Task Factoryвнутренний набор конвейеров, который строит интерактивные среды и проверяемые задачи из документации.
Что подаётся на вход и что модель возвращает
Известен конкретный пример входной задачи — промпт для 3D-моделирования Эйфелевой башни в FreeCAD, где заданы масштаб, ориентация, размеры и требования к геометрии. Для этого примера промпт и harnessсреда запуска агента, которая выполняет его действия и управляет контекстом одинаковы для обеих моделей, а полный текст задания выглядит так:
Build a 3D model of the Eiffel Tower in FreeCAD, at a scale of 1 mm to 1 metre,
centred on the origin and aligned to the X and Y axes.Выход модели в Runtime Agentic Task Factoryрежим выполнения задач, в котором результат оценивается по изменению состояния или трассировке инструментов описан как изменение состояния или трассировка инструментов (score state delta or tool trace), а также как траектории шагов, доступные для воспроизведения. Типы сред перечислены как web apps, MCP-серверы, desktop и OS, а также гибридные среды, предоставляющие одно состояние через GUI и MCP, — но отдельного описания формата промпта и выхода для каждого типа среды нет.
Рецепт обучения
Рецепт описан лишь частично. Модель обучалась через supervised и reinforcement learning на большом наборе сред и задач, включая сгенерированные Agentic Task Factory. Порядок этапов, наличие отдельного предобучения, SFT или RL, а также использование адаптеров не описаны.
Agentic Task Factory — это внутренний набор агентных конвейеров, который строит интерактивные среды и проверяемые задачи только из документации, например скриншотов реальных сайтов или открытого ПО. На данный момент он произвёл около 10 000 задач по веб-приложениям, MCP-серверам и десктопным средам, включая гибридные среды.
Улучшения абсолютны в процентных пунктах: на OSWorld CUA GUI с 21.0 до 76.3 (+55.3), на OSWorld 2.0 CUA + Code с 0.2 до 7.9 (+7.7), на AutomationBench MCP с 19.4 до 35.6 (+16.2), на PinchBench Terminal с 84.7 до 88.6 (+3.9), на ALE (Linux, Code) Terminal с 0.6 до 8.5 (+7.9). Эти улучшения показывают, что рецепт хорошо переносится и может превратить генералистскую модель в агентного эксперта, и ничто в нём не зависит от размера.
Оба размера доступны сегодня на H Models API, веса на Hugging Face в BF16, FP8, NVFP4 и 4-bit GGUF, рядом с малой моделью Holotron4 NanoМалая агентная модель, которую тот же рецепт обучения превращает из Nemotron 3 Nano Omni и которая доступна рядом с Holo4 27B и 35B-A3B.. В ближайшие дни будут выпущены оптимизированные DSpark drafter checkpoints для дальнейшего ускорения инференса.
Как формируются задачи и траектории
Задачи в Agentic Task Factory формируются так: кодирующие агенты по документации строят среду, задачи и их верификаторы, затем GUI-агенты пытаются решить каждую задачу, а их неудачи возвращаются в цикл attempt → audit → hardenцикл доработки задач: попытка решить задачу, разбор причин неудачи и ужесточение задачи и её верификатора, чтобы отсеять слишком лёгкие и неоднозначные варианты. Задача сохраняется только если её верификатор падает на нетронутом seed, проходит на golden state, отвергает любой near miss, и при этом агент решил её через реальный интерфейс.
Итоговое распределение: около 4 000 задач веб-приложений (40%), около 3 000 задач MCP-серверов (30%) и около 3 000 десктопных и OS-задач (30%).
AgentNet — это инструмент, с помощью которого собрали датасет AgentNet: более 22 600 демонстраций на Windows, macOS и Ubuntu, охватывающих свыше двухсот приложений и сайтов. Фильтрация и верификация в AgentNet многоуровневые: аннотатор сам решает, отправлять ли данные, затем записи проходят ручную проверку на конфиденциальность и автоматическое сканирование крупной моделью, выявляющей уцелевшие чувствительные фрагменты.
Цикл шага агента
Цикл шага описан только на уровне обучения и оценки, без деталей формирования наблюдения. OpenCUAсистема, которая превращает «сырые» человеческие демонстрации в пары «состояние — действие» для обучения vision-language-моделей преобразует «сырые» человеческие демонстрации в пары «состояние — действие» для обучения vision-language-моделей, а затем дополняет траектории chain-of-thought-рассуждениями. Эта цепочка структурирована на три уровня: общее наблюдение за экраном, аналитические размышления с планом дальнейших шагов и конкретное исполнимое действие.
Holo4 взаимодействует с софтом через любой доступный интерфейс: GUI, код, MCP и API, используя тот, что подходит задаче. AgentNetBench — офлайн-бенчмарк, в котором на каждый шаг предусмотрено несколько корректных действий, что делает оценку моделей более гибкой.
Управление контекстом и длинные задачи
Harness — это цикл, который выполняет действия модели и управляет её контекстом на протяжении сотен шагов. Одно из крупнейших изменений harness — надёжная память, способная отслеживать сотни шагов, и shell на самой десктопной машине. Среди изменений harness также указан context passthrough during memory compactionпри сжатии памяти, когда накопленный контекст сокращают, чтобы уложиться в лимит, нужные сведения не теряются, а переносятся дальше.
Для Holo4 заявлен контекст 256K с ценой входных токенов $0.03 cached и $0.30 за 1M. При этом в конфигурации воркера заданы MAX_MODEL_LEN со значением 8192 и максимальная длина модели 8192.
Для многошаговых задач приведены примеры с числом вызовов и токенов. Построение модели Эйфелевой башни в FreeCAD — 84 вызова и 1.3M токенов у Holo4 27B, 60 вызовов и 1.0M токенов у Qwen3.8 27B. Логотип H — 94 вызова и 1.5M токенов у Holo4 27B, 118 вызовов и 1.9M токенов у Qwen3.8 27B. Pac-Man — 68 вызовов, 2.4M токенов и 268 строк у Holo4 27B против 197 вызовов, 11.4M токенов и 327 строк у Qwen3.8 27B. Для Pac-Man задано, что игра должна работать без присмотра и бесконечно, без ввода с клавиатуры, а игрок движется простой эвристикой: на каждой развилке направляется к ближайшей точке-пеллете, если только призрак не близко, и тогда уходит от призрака. Планирование, чекпоинты и иные механизмы памяти, кроме упомянутой надёжной памяти в harness, не описаны.
Работа с GUI и проверка результата
Агент взаимодействует с GUI через клики и ввод на экране. Для проверки результата действия используется оценка изменения состояния: в рантайме Agentic Task Factory указан score state delta or tool trace, то есть проверка по разнице состояний или по трассировке инструментов. Кроме того, верификаторы задач проходят гейты: задача сохраняется только если верификатор не проходит на нетронутом начальном состоянии, проходит на эталонном состоянии и отвергает все близкие, но неверные варианты.
В OpenCUA действия записываются как пары «состояние — действие»: скриншот компьютера плюс шаг пользователя (клик, нажатие и т. п.). AgentNetBench — офлайн-бенчмарк, в котором на каждый шаг предусмотрено несколько корректных действий.
Работа с кодом в песочнице
Holo4 может запускаться в code sandbox. Среда выполнения использует один Docker-образ, в котором человек работает через noVNC, а агент — через CDP/MCP, а результат оценивается по дельте состояния или трассировке инструментов. Запуск штрафуется за касание того, чего касаться не следует.
Ошибки агентов на задачах направляются в циклы аудита и ужесточения, а неудачные попытки возвращаются в этап Build по схеме attempt → audit → harden. Для harness указано, что агенту дали надёжную память на сотни шагов и shell на самой десктопной машине.
Что видит пользователь
Клиент видит поток шагов выполнения: по клику на экран можно воспроизвести прогон. Также доступен просмотр траекторий — каждый шаг можно воспроизвести на trajectories.hcompany.ai или скачать с Hugging Face. В интерфейсе прогон воспроизводится по шагам, а результат выполнения представлен как изменение состояния или трасса вызовов инструментов. Промежуточные артефакты в виде скриншотов также присутствуют: входные данные включают скриншоты.
Развёртывание и конфигурация
В worker-holo4 движком развёртывания указан vllm, а образ — runpod/worker-v1-vllm:v2.27.0. GPU задан как 1x RTX 6000 Ada, при этом точность fp8 и максимальная длина модели 8192. Переменная GPU_MEMORY_UTILIZATIONдоля памяти GPU, которую разрешено занять движку установлена в 0.90, MAX_CONCURRENCYпредельное число одновременных запросов, которые воркер обрабатывает параллельно — в 30, MAX_MODEL_LENмаксимальная длина модели, то есть предельный размер контекста в токенах — в 8192. Также заданы MODEL_NAME=Hcompany/Holo4-35B-A3B, QUANTIZATION=fp8 и TENSOR_PARALLEL_SIZEчисло GPU, между которыми распределяются слои модели=1.
Для быстрого развёртывания используется команда runpodctl serverless create с параметром --hub-id, куда подставляется листинг vllm, и параметром --model-reference со значением hf://Hcompany/Holo4-35B-A3B:
runpodctl serverless create --hub-id <vllm listing> --model-reference hf://Hcompany/Holo4-35B-A3BПеред слиянием бандла прогоняется набор тестов против живого эндпоинта командой node hub-test-suite.mjs с параметрами --repo <owner>/<name> и --prefix h-company-holo4-holo4-27b-gguf-holo4-35b-a3b-gguf-, а также флагом --create.
Как сравнивали и что получилось
Стенд и методология
Замеры проводились на одной видеокарте RTX 6000 Ada с точностью fp8, движком vllm и образом runpod/worker-v1-vllm:v2.27.0. Максимальная длина модели задавалась 8192, а переменная MAX_MODEL_LEN также установлена в 8192. Ограничения ресурсов включали GPU_MEMORY_UTILIZATION = 0.90, MAX_CONCURRENCY = 30 и TENSOR_PARALLEL_SIZE = 1. Модель — Hcompany/Holo4-35B-A3B, квантование fp8.
Чтобы повторить замер, сначала запускают набор тестов против живого эндпоинта:
node hub-test-suite.mjs --repo <owner>/<name> --prefix h-company-holo4-holo4-27b-gguf-holo4-35b-a3b-gguf- --createЗатем для быстрого пути создают serverless-воркер командой runpodctl serverless create с --hub-id и --model-reference. Собираемые метрики — Startup s (время запуска), TTFT ms (время до первого токена), tok/s (пропускная способность) и $/1M output tokens (стоимость за 1M выходных токенов). Стоимость за 1M выходных токенов вычисляется как почасовая ставка, делённая на измеренную пропускную способность, при допущении одного насыщенного воркера без простоя, поэтому это нижняя граница.
Результаты
| GPU | $/hr | Startup s | TTFT ms | tok/s | $/1M output tokens |
|---|---|---|---|---|---|
| 1x RTX 6000 Ada fp8 | $0.84 | 362.6 | 351.9 | 123.7 | $1.89 |
Результаты на бенчмарках
По OSWorld 2.0 приведены: Holo4 27B — 61.7%, Holo4 35B-A3B — 30.9%, Opus 5.5 — 81.8%. Указано, что Holo4 уступает только сильнейшим закрытым моделям на длинных рабочих процессах, но делает это при на порядки меньшем числе параметров и гораздо меньшей стоимости.
Оговорки
Оценки собраны в разных условиях: наборы задач, их подмножества и обвязки различаются между строками. Для части моделей приведены отдельные пометки: Opus 5 (70.2%) и GPT-5.6 Sol (66.2%) используют max-effort partial rewards на офлайн-наборе v2026.08.08 из графика запуска OpenAI, а прочие справочные баллы взяты из карточек моделей и официального лидерборда.
Стоимость на задачу указана при конкретных тарифах: по тарифам H Models API для Holo4 и по прайс-листу Alibaba Cloud для Qwen3.8 27B, исходя из токенов собственных запусков. Для AutomationBench баллы взяты из публичного набора, а стоимость — из официального лидерборда, который работает на закрытом наборе. Публичный балл показывается до тех пор, пока Holo4 не оценён на официальном закрытом наборе. Для стоимости на собственном железе указано, что это нижняя граница.
Что из этого следует на практике
- Универсальность Holo4 — это общий набор весов и общий способ вызова, а не отдельная модель под каждую платформу. Выбор интерфейса (GUI, код, MCP, API) происходит на уровне задачи, а не на уровне сборки модели.
- Рецепт обучения не зависит от размера: тот же рецепт превращает Nemotron 3 Nano OmniБазовая генералистская модель, которую тот же рецепт обучения превращает в Holotron4 Nano — агентную модель, значительно улучшенную на GUI-процессах и в средах с MCP, API или кодовыми песочницами. в Holotron4 Nano, и улучшения абсолютны в процентных пунктах над базовой моделью. Это значит, что рецепт можно переносить на модели разного масштаба.
- Качество задач в Agentic Task Factory обеспечивается жёсткими гейтами верификатора: задача сохраняется только если верификатор падает на нетронутом seed, проходит на golden state, отвергает любой near miss, и агент решил её через реальный интерфейс. Это отсекает задачи, которые можно решить случайно или не через реальный интерфейс.
- Для длинных многошаговых задач ключевым элементом обвязки названы надёжная память на сотни шагов и shell на самой десктопной машине.
- При развёртывании важно учитывать расхождение: заявленный контекст 256K против MAX_MODEL_LEN = 8192 в конфигурации воркера. Это ограничение задано явно и влияет на то, сколько контекста реально доступно при таком развёртывании.
- Цифры стоимости на собственном железе — нижняя граница: расчёт предполагает одного насыщенного воркера без простоя, поэтому в реальной эксплуатации стоимость на 1M выходных токенов будет выше.
- Сравнения на бенчмарках собраны в разных условиях (разные наборы задач, подмножества и обвязки), а для части моделей — из карточек и лидерборда. Прямое сопоставление цифр между строками требует осторожности.
Где смотреть в коде
- runpod-workers/worker-holo4/README.md: performance and cost
- runpod-workers/worker-holo4/README.md: merging this bundle
- runpod-workers/worker-holo4/README.md: path while this is in review