Как использовать Unreal Agent: тест CLI-раннера на репозитории
Разбираем, как запустить Unreal Agent на одной задаче в репозитории: установка Go, ключи провайдера, JSONL-логи, сессии, расходы и границы безопасности.

Разберём, как использовать Unreal Agent, чтобы запускать задачи по репозиторию из командной строки, сохранять всю сессию в JSONL и на данных решать, стоит ли встраивать его асинхронную работу с инструментами в собственное приложение. Речь о новом агентном рантайме на Go от Unreal Labs, а не об ассистенте для Unreal Engine. Для первого теста возьмите одну задачу только на чтение: составить обзор репозитория. Зафиксируйте модель, уровень рассуждений, время выполнения, код завершения, расход токенов и изменённые файлы, а затем сравните эти данные с работой вашего текущего агента.
Что такое Unreal Agent на практике
Unreal Agent — это прослойка между моделью и инструментами, которые выполняют работу. Представьте его прорабом на стройке: модель решает, что нужно сделать, а рантайм запускает команды, фиксирует ход работы и определяет, когда показать модели каждый результат.
Главная особенность — асинхронное выполнение инструментов. Когда модель вызывает инструмент, рантайм отмечает задачу как выполняющуюся и оставляет её работать в фоне. После завершения результат добавляется в сессию, и модель вызывается снова. Поэтому долгая команда настройки не блокирует другую полезную работу или новую уточняющую команду.
Проект был запущен Unreal Labs 22 сентября 2026 года. В SDK входят библиотека на Go, устанавливаемый раннер и совместимый с Harbor раннер бенчмарков. Репозиторий распространяется по лицензии MIT.

По данным Unreal Labs, в их продакшен-нагрузках и опубликованных бенчмарках агентов затраты оказались до 40% ниже, чем у Codex, и до 20% ниже, чем у Pi. Это цифры поставщика, а не гарантированная скидка для любой задачи. Заявленный механизм достаточно правдоподобен, чтобы его проверить: меньший объём промпта, компактные результаты инструментов, отказ от субагентов и воркфлоу, а также больше операций с инструментами между вызовами модели. Но проценты бесполезны, пока не совпадают модель, уровень рассуждений, промпт, состояние репозитория и критерии успеха.
Экономика начинается с задачи, а не с бенчмарка
Лицензия MIT не предполагает платы за каждого пользователя раннера, но эксплуатация всё равно стоит денег. Платить придётся за вызовы модели, вычисления, песочницу, интеграцию, логи и инженера, который поддерживает надёжность системы.
Ориентиром может служить бюджет на проверку кода. Тариф Starter у Graphite стоит $20 за пользователя в месяц, а Team — $40 при ежегодной оплате. Годовые тарифы CodeRabbit составляют $24, $48 и $72 за разработчика в месяц. Для команды из 10 разработчиков опубликованный диапазон составляет от $200 до $720 в месяц.
Это не делает Unreal Agent прямой заменой ни одного из этих продуктов. Зато платформенная команда получает открытый рантайм, на котором можно построить один узкий внутренний сценарий. Экономику оценивают просто: полные месячные затраты на такой сценарий, включая модель и поддержку, сравнивают с бюджетом на лицензии или стоимостью рабочего времени, которое он заменяет. Без стоимости успешно завершённой задачи экономия остаётся красивой цифрой без практического смысла.
Как использовать Unreal Agent для одной задачи с чёткими границами
Начните с раннера. Библиотека понадобится командам, которые уже понимают, какое поведение агента нужно встроить в своё приложение.
1. По-настоящему изолируйте репозиторий
-workspace задаёт рабочий каталог для агента и его инструмента Bash, но в документации это не названо песочницей безопасности. Используйте одноразовую копию репозитория или контейнер, удалите продакшен-секреты, ограничьте сетевой доступ и передайте процессу только нужные токены. Промпт «не изменяй файлы» — это инструкция, а не технический запрет. Если вы впервые столкнулись с такой задачей, начните с практических вариантов в материале о песочницах для ИИ-агентов, работающих с кодом.
Проверьте, нет ли в рабочей среде файла .env. Раннер загружает его из выбранного каталога, поэтому даже скопированный репозиторий может открыть забытые учётные данные.
2. Закрепите версию раннера, провайдера, модель и уровень рассуждений
По состоянию на 24 сентября 2026 года актуальный релиз — v0.2.0, опубликованный днём ранее. В README раннера указаны Go 1.27 или новее и тег @latest; для воспроизводимой оценки указывайте тег конкретного релиза.
В примере ниже используются OpenAI, текущая модель по умолчанию в исходном коде — gpt-6-astra — и уровень рассуждений high. Если замените модель, зафиксируйте замену. Запускайте команду на одноразовой копии my-project:
go version
go install github.com/unreallabsai/unreal-agent/cmd/unreal-agent-runner@v0.2.0
export OPENAI_API_KEY="..."
export UNREAL_HARNESS_LLM_PROVIDER="openai"
export UNREAL_HARNESS_LLM_MODEL="gpt-6-astra"
started_at=$(date +%s)
set +e
unreal-agent-runner \
-workspace ./my-project \
-session-directory ./unreal-sessions \
'{"prompt":"Read this repository. Return its purpose, entry points, test command, and three concrete risks. Do not modify files.","model":"gpt-6-astra","thinking_level":"high","session_id":"repo-summary-v1","disallowed_tools":["ViewImage"]}' \
> run.jsonl
run_status=$?
set -e
elapsed_seconds=$(( $(date +%s) - started_at ))
printf 'exit_status=%s elapsed_seconds=%s\n' "$run_status" "$elapsed_seconds"
jq -c 'select(.Kind=="model_response") | .Data.Response.Usage' run.jsonlРаннер также поддерживает openai-codex, openrouter, fireworks и ollama. В запросе можно задать модель, уровень рассуждений, число повторных попыток, ID сессии, системный промпт и исключаемые инструменты. Произвольные инструменты через extra_allowed_tools пока добавить нельзя: поле принимается, но игнорируется.
3. Рассматривайте запуск как набор доказательств
Полезная запись эксперимента состоит из шести частей:
Сессия хранится в unreal-sessions/repo-summary-v1.session.jsonl. Чтобы продолжить её, повторно используйте тот же session_id. Для чистого сравнения задайте новый ID, иначе предыдущий контекст повлияет и на качество, и на стоимость.
Здесь нет собственных замеров производительности, потому что запуск с живым провайдером не выполнялся. Единственные честные цифры — те, которые вы получите на своём репозитории.
Раннер или библиотека: что выбрать?
Раннер подходит для теста промпта, оценки задачи по репозиторию или подключения процесса к CI. Библиотеку стоит выбирать, когда агент должен стать частью вашего продукта, а команда готова взять на себя хранение сессий, жизненный цикл, инструменты, безопасность и интеграцию с провайдером.
Разница примерно такая же, как между готовым электроинструментом и его двигателем. В раннере уже есть корпус, кнопки и переключатели. Библиотека даёт двигатель и свободу самим спроектировать корпус, органы управления и систему защиты. Если выбор зависит от того, кто владеет сессией, ориентиром послужит сравнение Agents API и SDK.

По умолчанию лучше выбрать раннер: работа над интеграцией может замаскировать слабую исходную задачу. Если один и тот же промпт с чёткими границами дважды не даёт полезного результата, API-обёртка не спасёт идею продукта.
Шесть задач для теста — от самой ценной
1. Первичная проверка пул-реквестов, написанных агентами
Команда разработки, получающая крупные пул-реквесты с кодом от ИИ, может передавать раннеру чистую копию репозитория, дифф и команды запуска тестов. Агент изучит затронутый код, выполнит целевые проверки и вернёт пакет данных для ревью с трассировкой в JSONL. Цель не в том, чтобы убрать человека из ревью. Агент заранее берёт на себя типовую проверку репозитория, чтобы ревьюер сосредоточился на архитектуре и рисках.
2. Знакомство нового инженера с репозиторием
Платформенная команда может запускать тот же промпт для обзора при подключении нового инженера к сервису. Результат покажет точки входа, команды запуска тестов, конфигурацию и очевидные риски, а трассировка сессии позволит проверить выводы. Выгода — воспроизводимый первый час работы без необходимости каждый раз просить старшего инженера заново объяснять один и тот же репозиторий.
3. Разбор падающих тестов
При шумном сбое CI разработчик может поручить раннеру воспроизвести один упавший тест, изучить связанные участки кода и отделить вероятную причину от постороннего вывода. Здесь важна асинхронная работа с инструментами: настройка среды, поиск и запуск тестов могут идти параллельно. В результате инженер, который будет исправлять сбой, получит компактный пакет доказательств.
4. Подготовка к обновлению зависимостей
Мейнтейнер может передать агенту ветку с обновлением одной зависимости и попросить его найти затронутые импорты, устаревшие вызовы, пробелы в тестовом покрытии и рекомендации по миграции. Результатом будет чек-лист, а не автоматический мерж. Это ускоряет оценку объёма работ до того, как кто-то выделит на них полноценный инженерный блок.
5. Проверка готовности к релизу
Ответственный за релиз может попросить агента найти изменившиеся части системы, пропущенные миграции, пробелы в документации и релевантные команды тестирования кандида на релиз. Запись сессии сохраняет информацию о том, что именно проверил агент. Такой единообразный предрелизный контроль дополняет детерминированный CI, а не заменяет его.
6. Пакеты данных для эскалации в поддержке
Продуктовый инженер может поместить воспроизводимую проблему клиента в очищенную от чувствительных данных среду репозитория и попросить раннер проследить вероятные пути в коде, воспроизвести симптом и перечислить нерешённые вопросы. В итоге поддержка передает в разработку структурированный пакет данных, не открывая агенту доступ к продакшен-системам клиента.
Два продукта, которые стоит построить
Лучшая идея: ИИ-агент для проверки кода как обязательный гейт
Создайте проверку для GitHub или GitLab, которая запускает Unreal Agent в изолированной среде, сверяет пул-реквест с правилами репозитория, выполняет разрешённые проверки и публикует резюме со ссылками на доказательства для ревьюера. Покупатели — команды, которые создают всё больше кода с помощью агентов.
Спрос очевиден. Запрос ai powered code review platform получает около 1,900 поисковых запросов в месяц в США, а ai code review — около 1,300 при CPC $55.73. Существующие продукты подтверждают бюджет на лицензии от $20 до $72 за разработчика в месяц при годовой оплате.
Минимально продаваемая версия должна поддерживать один хостинг кода, одного провайдера модели, фиксированный промпт для ревью, строгий список разрешённых команд и страницу результата, собранную из JSONL-трассировки. Главная проблема — доверие. Ложные срабатывания, утечка секретов, шумные комментарии и небезопасные команды способны быстро уничтожить ценность. Но это всё равно лучшая возможность: задача возникает часто, измерима и уже привязана к существующему бюджету.
Раннер задач по репозиторию с собственной моделью
Можно создать небольшую внутреннюю панель управления: команда выбирает репозиторий, проверенный шаблон задачи, провайдера, модель и лимит расходов, а затем получает трассировку сессии и результат, готовый к согласованию. За такой сервис будут платить агентства и платформенные команды, которым нужен открытый рантайм, но не хочется самим строить очередь, изоляцию и отчётность.
Запрос open source ai coding agent получает около 5,400 поисковых запросов в месяц в США, имеет коммерческий интент и CPC $13.11. Этот спрос шире, чем на ревью кода, но сам запрос на продукт сформулирован менее конкретно.
В MVP войдут коннектор репозитория, эфемерная рабочая среда, два шаблона задач, настройка провайдера, статус задачи, отчёт по токенам и скачиваемый JSONL. Слабое место — дифференциация. Тонкую обёртку над ранней версией рантайма легко скопировать, а серьёзные покупатели потребуют управление идентификацией, журналы аудита, сетевые политики и надёжную очистку. Побеждать нужно за счёт конкретного сценария и эксплуатационных механизмов, а не имени продукта.
Чего Unreal Agent не решает
Unreal Agent не создаёт полноценную границу защиты для продакшена. Флаг рабочей среды не заменяет песочницу, а встроенный инструмент Bash может действовать внутри переданной ему среды. Изоляция, сетевая политика, учётные данные, согласования и очистка остаются вашей зоной ответственности.
Он не устраняет различия между провайдерами. По данным Unreal Labs, во время их тестов некоторые модели у некоторых инференс-провайдеров, отличных от OpenAI, отклоняли схему, при которой результат инструмента сначала помечается как выполняющийся, а затем завершённый. Проверьте именно ту пару провайдера и модели, которую планируете использовать.
В нём нет сложной оркестрации. Небольшой объём, отказ от субагентов и воркфлоу — часть аргумента в пользу эффективности. Продукт плохо подходит для сценариев, которым из коробки нужны визуальный конструктор процессов, большой каталог управляемых коннекторов или делегирование специализированным агентам.
Он также не доказывает экономию на вашей нагрузке. На итоговый счёт влияют модель, интенсивность рассуждений, кэш, объём вывода инструментов, повторные попытки и успех задачи. Сравнивайте стоимость успешно завершённых задач, а не общее число токенов при разных настройках.
Что сделать в понедельник
В понедельник платформенному инженеру стоит закрепить v0.2.0, подготовить одну копию репозитория без учётных данных и дважды запустить задачу обзора репозитория с одной и той же моделью и уровнем рассуждений. Сохраните JSONL, файл сессии, код завершения, прошедшее время, расход токенов и дифф репозитория. Если оба запуска окажутся полезными и чистыми, повторите ту же задачу с текущим агентом. И только после этого решайте, пробовать ли сценарий ревью или встраивать библиотеку.
Что такое Unreal Agent?
Unreal Agent — агентный рантайм на Go от Unreal Labs, изначально рассчитанный на асинхронную работу. В него входят библиотека на Go, устанавливаемый раннер для командной строки и совместимый с Harbor раннер бенчмарков. К Epic Games Unreal Engine он не относится.
Что нужно для запуска Unreal Agent?
Для установки из исходного кода нужны Go 1.27 или новее, рабочая среда, конфигурация поддерживаемого провайдера, модель и требуемые провайдером учётные данные. Раннер поддерживает OpenAI, OpenAI Codex, OpenRouter, Fireworks и Ollama.
Можно ли продолжить сессию Unreal Agent?
Да. Укажите session_id в JSON-запросе. Повторное использование этого ID продолжит сохранённую сессию, а новый ID создаст новую.
Создаёт ли флаг workspace песочницу для агента?
Нет. Он выбирает рабочий каталог для агента и Bash. Запускайте процесс в отдельной песочнице или одноразовой среде и уже там ограничивайте учётные данные и сетевой доступ.
Unreal Agent дешевле Codex?
По данным Unreal Labs, на их нагрузках и в опубликованных бенчмарках экономия по сравнению с Codex достигает 40%. Это цифра поставщика, а не гарантия. Перед выводами сравните одинаковые модель, уровень рассуждений, промпт, состояние репозитория и критерии успеха.
Если вам нужен управляемый агент для работы с репозиторием, построенный вокруг вашего процесса, начните с разработки ИИ-агента.
- Последнее обновление
- 24 сент. 2026 г.
- Категория
- Build







