Представьте: вы тегаете бота в Slack-треде с багом и закрываете ноутбук. Через двадцать минут приходит готовый PR с фиксом — агент прочитал тред, поднял контейнер, воспроизвёл проблему, нашёл причину и отправил решение. Это не фантазия, а базовый сценарий Oz.
Oz — надстройка над терминалом Warp. Если Warp даёт одного интерактивного агента в терминале, то Oz превращает его в конвейер: агенты работают в облаке, в изолированных Docker-контейнерах, запускаются по триггерам из Slack, Linear, GitHub Actions или по cron-расписанию.
Платформа работает с тремя движками — Warp Agent, Claude Code и OpenAI Codex — и связывает их общим слоем данных: транскрипты, память, артефакты доступны всем агентам независимо от того, какой harness их запустил. Один агент может подхватить работу, которую начал другой.
Что это
Oz — слой оркестрации облачных AI-агентов, разработанный командой Warp. Warp — терминал на Rust со встроенным AI-агентом; Oz — инфраструктура, которая позволяет тем же агентам работать не только локально, но и в облаке: параллельно, по расписанию, по внешним триггерам.
Грубая аналогия: если Warp — это REPL для одного агентного диалога, то Oz — cron плюс CI-раннер плюс оркестратор для тех же агентов. Только вместо shell-скриптов здесь — промпты и Skills, а вместо Jenkins-пайплайнов — Slack-треды и Linear-тикеты.
Возможности, которые Oz добавляет к локальному Warp-агенту:
- облачный запуск — агент работает в Docker-контейнере на серверах Warp, локальная машина свободна;
- параллельная координация — десятки агентов одновременно, каждый в своём изолированном окружении;
- триггеры из внешних систем — Slack, Linear, GitHub Actions, cron, CLI, REST API, веб-интерфейс;
- наблюдаемость — каждый запуск оставляет лог, транскрипт сессии, артефакты и статус;
- передача контекста — локальную сессию можно передать в облако командой handoff без потери истории.
Важно: Одиночный агент в терминале — это инструмент 2025 года. Параллельный конвейер с триггерами и расписанием — инфраструктура 2026-го. Oz проводит между ними границу.
Зачем нужно
Все задачи, которые Oz берёт на себя, делятся на три группы: агент отвечает на внешнее событие (реактивный режим), агент запускается автоматически по таймеру (проактивный режим), несколько агентов координируются для одной цели (оркестрационный режим).
Реактивные сценарии
Разработчик упоминает @Oz в Slack-треде, где описан баг. Дальше происходит цепочка: Oz собирает контекст треда и прикреплённые логи, разворачивает Docker-контейнер с репозиторием проекта, воспроизводит проблему, локализует причину, открывает pull request и пишет результат обратно в тред. Никаких отдельных команд — только тег в сообщении.
Совет: реактивный режим требует заранее настроенный Environment — профиль с Docker-образом и подключёнными репозиториями. Создаётся один раз через /create-environment в Warp и переиспользуется для всех последующих запусков.
Линейная аналогия работает через Linear: @Oz на issue запускает агента, который читает описание задачи, вытягивает контекст из прикреплённых документов и публикует готовый PR. Прогресс отображается в комментариях к тикету — разработчик видит статус без переключения контекста.
В CI-пайплайне триггер срабатывает при падении тестов или линтера. Агент получает логи, диагностирует причину, отправляет фикс-PR. Утром разработчик видит не красный билд, а готовое решение.
Режим handoff решает другую проблему: вы начали задачу в терминале, но она оказалась объёмной — скажем, 40 минут на рефакторинг. Команда handoff переносит сессию в облако: контекст, история диалога и артефакты переезжают автоматически. Ноутбук закрывается, агент дорабатывает в контейнере. Результат проверяется из терминала, браузера или телефона.
Проактивные сценарии (по расписанию)
Cron-расписание — способ автоматизировать рутину без участия человека:
oz schedule create \
--name "Weekly Dead Code Cleanup" \
--cron "0 10 * * 1" \
--environment <ENV_ID> \
--prompt "Scan for dead code, unused imports, and stale feature flags. Open a PR with removals."
По понедельникам в 10:00 агент сканирует кодовую базу, находит мёртвый код и открывает PR с предложением удалить. Разработчик ревьюит — не сканирует вручную.
- Зависимости: агент проверяет package.json, requirements.txt, Cargo.toml на security-обновления, обновляет, прогоняет тесты и отправляет PR.
- Триаж: каждое утро агент проходит открытые GitHub Issues, сортирует по приоритету и серьёзности, расставляет лейблы и назначает ответственных по правилам.
- Документация: раз в неделю агент сверяет README и API-документацию с актуальным кодом. Нашёл расхождения — обновляет и открывает PR.
Оркестрационные сценарии (multi-agent)
Когда задача слишком крупная для одного агента, включается оркестрация. Warp Agent берёт роль супервизора: разбивает задачу на подзадачи и раздаёт их worker-агентам — Claude Code и Codex. Каждый worker работает параллельно в собственном контейнере.
Пример: монолит мигрируют на микросервисы. Супервизор делит работу по сервисам — каждый worker-агент переводит свой кусок independently.
Fan-out/fan-in: одна задача дробится на N частей, каждый агент берёт свой фрагмент — файл, модуль, сервис. Результаты сливаются в один PR.
Пример: обновление SDK в 50 микросервисах. Каждый агент берёт один сервис, обновляет зависимость, прогоняет тесты. Через 30 минут — 50 готовых PR.
Critic/Verifier — итеративный цикл: один агент пишет код, второй ревьюит. Если найдены проблемы — замечания уходят первому, цикл повторяется до прохождения.
Multi-repo — скоординированные изменения через несколько репозиториев: агент обновляет контракт в API-сервисе, параллельно адаптирует клиентскую библиотеку и синхронизирует документацию.
Специализированные сценарии
- Автоматический PR-ревью: каждый PR прогоняется через Oz-агента — проверка type safety, обработки ошибок, код-стайла и потенциальных багов.
- Генерация тестов: после мержа PR агент анализирует изменения и создаёт юнит-тесты для нового кода, открывает отдельный PR с тестами.
- Миграция фреймворков: переход с React на Next.js или Express на Fastify — агент проходит файл за файлом, сохраняя логику и адаптируя синтаксис.
- Инцидент-ответ: алерт из PagerDuty или Datadog триггерит агента — он анализирует логи, локализует причину, предлагает или применяет фикс, отчитывается в инцидент-канал.
- Генерация проекта: Oz получает спецификацию и разворачивает полное приложение — структура, код, конфигурация, тесты, CI/CD — в изолированном контейнере.
Как устроено
Архитектура
Платформа построена из четырёх слоёв. Триггеры — Slack, Linear, GitHub Actions, cron, CLI, API, веб-приложение — отправляют запросы в Control Plane. Control Plane содержит оркестратор, планировщик, модуль авторизации и систему наблюдаемости. Execution Layer — набор Docker-окружений, в каждом из которых исполняется агент. Сами агенты — Warp Agent, Claude Code или Codex — подключаются к Execution Layer.
Каждый запуск агента — это задача (task) с четырьмя атрибутами:
- Промпт и контекст — текст запроса плюс данные триггера: Slack-тред, Linear-issue, PR-метаданные.
- Environment — Docker-образ, репозитории, setup-команды для подготовки окружения.
- Жизненный цикл — статус проходит путь created → running → completed или failed.
- Транскрипт и артефакты — полная запись действий агента: что он делал, какие команды выполнял, что получил.
Ключевые компоненты
| Компонент | Что делает | Где настраивать |
|---|---|---|
| Environments | Контекст выполнения: Docker-образ, репозитории, setup-команды. Каждый запуск — чистый контейнер | CLI: oz environment create, Web: oz.warp.dev |
| Skills | Переиспользуемые инструкции: определяют, что агент делает. Environment определяет, где | Файлы в .warp/skills/ репозитория |
| Integrations | Подключение внешних триггеров: Slack, Linear, GitHub Actions | CLI: oz integration create, Web: oz.warp.dev |
| Schedules | Cron-расписания для автоматического запуска | CLI: oz schedule create, Web: oz.warp.dev |
| Secrets | Безопасное хранение и инъекция токенов, API-ключей, паролей в runtime | Warp Secrets Manager |
| Agent Memory | Персистентная память: агенты запоминают, что сработало (и что нет), между сессиями и harness’ами | Автоматически, с ручной настройкой |
| Session Sharing | Команда подключается к работающему агенту в реальном времени — наблюдение и корректировка | Из терминала, веба или мобильного |
Environments: среда выполнения
Environment — базовая единица инфраструктуры Oz. Без него платформа не знает, где запускать агента. Environment собирается из трёх частей:
- Docker-образ (обязателен) — toolchain и runtime. Подходят стандартные образы вроде node:22 или python:3.12, кастомные образы или готовые dev-образы от Warp.
- Репозитории — один или несколько Git-репозиториев, которые клонируются в контейнер при запуске.
- Setup-команды — npm ci, pip install -r requirements.txt, сборка, миграции — всё, что нужно для подготовки кода.
Внимание: Alpine-образы не работают — Oz требует glibc. Выбирайте Debian, Ubuntu или стандартные образы Docker Hub без префикса alpine.
Быстрый путь — команда /create-environment в Warp:
# Из директории проекта
/create-environment
# Или с указанием репозиториев
/create-environment ./frontend ./backend
# Или по URL
/create-environment https://github.com/your-org/api.git
Warp определяет языки и фреймворки автоматически, подбирает Docker-образ и предлагает setup-команды.
Тот же результат через CLI:
oz environment create \
--name "My Project" \
--docker-image node:22 \
--repo your-org/frontend \
--repo your-org/backend \
--setup-command "cd frontend && npm ci" \
--setup-command "cd backend && pip install -r requirements.txt"
Управление environments:
# Список environments
oz environment list
# Детали
oz environment get <ENV_ID>
# Обновить образ
oz environment update <ENV_ID> --docker-image node:22
# Добавить репозиторий
oz environment update <ENV_ID> --repo your-org/new-service
# Удалить
oz environment delete <ENV_ID>
Важно: один Environment — на кодовую базу или группу связанных репозиториев. Тот же Environment переиспользуется для Slack, Linear, CLI и расписаний. Не нужно создавать отдельный под каждый триггер.
Skills: переиспользуемые workflow
Skill — файл с инструкциями для агента, который лежит в репозитории рядом с кодом. Если Environment отвечает на вопрос «где», Skill — на вопрос «что делать». Skills можно версионировать и ревьюить через тот же Git-флоу, что и основной код.
Зачем нужны Skills:
- Повторяемость — любой, кто запустит Skill, получает одинаковый результат.
- Автоматизация — привязка Skill к cron-расписанию даёт регулярную автоматику без ручного запуска.
- Командная работа — Skills живут в репозитории, проходят code review, имеют историю изменений.
Пример Skill-файла:
<!-- .warp/skills/dead-code-cleanup.md -->
# Dead Code Cleanup
Scan the codebase for:
- Unused imports
- Dead functions (not called anywhere)
- Stale feature flags
- Commented-out code blocks older than 30 days
For each finding, remove the dead code and open a single PR
with a clear description of what was removed and why.
Warp автоматически подхватывает Skills из директорий:
.warp/skills/, .agents/skills/, .claude/skills/, .codex/skills/, .cursor/skills/, .gemini/skills/, .copilot/skills/, .factory/skills/, .github/skills/, .opencode/skills/
Запуск Skill — локально или в облаке:
# Локально
oz agent run --skill "your-org/repo:dead-code-cleanup"
# В облаке
oz agent run-cloud \
--environment <ENV_ID> \
--skill "your-org/repo:dead-code-cleanup" \
--prompt "Focus on the /src/legacy directory"
Skill + cron-расписание:
oz schedule create \
--name "Weekly Dead Code" \
--cron "0 10 * * 1" \
--environment <ENV_ID> \
--skill "your-org/repo:dead-code-cleanup"
Warp ведёт публичный репозиторий готовых Skills — warpdotdev/oz-skills на GitHub. Можно брать оттуда как отправную точку и адаптировать под свой проект.
Интеграции
Slack. Команда oz integration create slack —environment <ENV_ID> подключает бота. После этого тег @Oz в сообщении или треде (или в личных сообщениях боту) запускает агента — он читает контекст, поднимает Environment, выполняет задачу и постит результат обратно.
Linear. Настройка через oz integration create linear —environment <ENV_ID>. Тег @Oz на issue — агент читает описание, берёт задачу в работу и публикует PR.
GitHub Actions. Oz-агенты запускаются из CI-пайплайна. Билд упал — агент получает логи и пытается починить автоматически.
Веб-приложение. oz.warp.dev — полный веб-интерфейс с мобильной поддержкой: запуск агентов, управление расписаниями, просмотр Skills, подключение к активным сессиям, настройка Environments и интеграций.
Multi-agent паттерны
Oz поддерживает пять архитектурных паттернов для координации нескольких агентов:
| Паттерн | Как работает | Когда использовать |
|---|---|---|
| Supervisor / Worker | Warp Agent декомпозирует задачу и распределяет подзадачи между Claude Code и Codex | Крупные фичи, миграции, рефакторинги |
| Fan-out / Fan-in | Задача раздаётся N агентам параллельно, результаты собираются | Массовые обновления, миграции зависимостей |
| Critic / Verifier | Один агент генерирует код, второй проверяет — итеративный цикл до прохождения | Критичный код, security-sensitive изменения |
| Swarm | Множество агентов работают над общей задачей через Shared Data Plane | Исследовательские задачи, комплексные кодовые базы |
| DAG | Граф зависимостей: агент B запускается после завершения агента A | Пайплайны: сборка → тесты → деплой |
Harness: три движка агентов
Oz работает с тремя движками (harness’ами), каждый со своими сильными сторонами:
| Harness | Сильные стороны |
|---|---|
| Warp Agent | Сложные long-running задачи, оркестрация sub-агентов, Full Terminal Use (psql, gdb, REPL), Computer Use |
| Claude Code | Расследование багов, frontend/UI задачи, работа с дизайн-системами |
| Codex | Миграции кодовых баз, координация релизов, масштабные рефакторинги |
CLI: основные команды
Запуск агентов — три варианта:
# Локальный запуск
oz agent run --prompt "Fix the failing test in src/auth"
# Облачный запуск
oz agent run-cloud \
--environment <ENV_ID> \
--prompt "Refactor the payment module"
# С указанием Skill
oz agent run-cloud \
--environment <ENV_ID> \
--skill "your-org/repo:skill-name" \
--prompt "Additional context"
Управление расписаниями:
# Создать
oz schedule create \
--name "Daily Dep Update" \
--cron "0 8 * * *" \
--environment <ENV_ID> \
--prompt "Check for dependency security updates"
# Список
oz schedule list
# Удалить
oz schedule delete <SCHEDULE_ID>
Управление интеграциями:
# Создать Slack-интеграцию
oz integration create slack --environment <ENV_ID>
# Создать Linear-интеграцию
oz integration create linear --environment <ENV_ID>
API и SDK
Oz предоставляет REST API для программного управления. Пример запроса на запуск задачи:
{
"prompt": "Migrate auth module to OAuth 2.1",
"config": {
"environment_id": "<ENV_ID>",
"skill_spec": "your-org/repo:oauth-migration"
}
}
Через API доступны три операции:
- создание и запуск задач;
- получение статусов и результатов;
- построение внутренних дашбордов мониторинга.
Shared Data Plane: общий контекст
Ключевое преимущество Oz — все агенты, независимо от harness, работают с единым слоем данных. Пять типов данных доступны всем:
- Транскрипты сессий — полная история взаимодействия с агентом.
- Артефакты — файлы, PR, результаты работы.
- Skills — переиспользуемые инструкции, общие для всех агентов.
- Rules — командные конвенции и правила.
- Agent Memory — персистентная память, накапливаемая между сессиями.
Claude Code может продолжить работу, которую начал Warp Agent — контекст не теряется. Ошибки, обнаруженные одним агентом, автоматически доступны остальным через общую память.
Когда использовать
Oz подходит, если совпадают хотя бы два условия:
- Задача занимает больше 10 минут — ноутбук хочется освободить.
- Нужен параллельный запуск нескольких агентов одновременно.
- Агент должен реагировать на внешние события — Slack, CI, Linear.
- Требуется регулярная автоматика по cron-расписанию.
- Команде нужна видимость: что агент делает, возможность вмешаться.
- Результат должен быть воспроизводимым — один Environment для каждого запуска.
- Нужен аудит: кто запустил, что сделал, какой код изменил.
Пример
Быстрый старт — от установки до первого облачного агента за 10 минут.
Шаг 1. Установите Warp — warp.dev
Шаг 2. Создайте Environment:
/create-environment
Шаг 3. Подключите GitHub — Warp предложит установить GitHub App при создании Environment.
Шаг 4. Запустите агента в облаке:
oz agent run-cloud \
--environment <ENV_ID> \
--prompt "List all TODO comments in the codebase and create GitHub issues for each"
Шаг 5. Подключите Slack (опционально):
oz integration create slack --environment <ENV_ID>
Безопасность и соответствие
| Аспект | Реализация |
|---|---|
| Сертификация | SOC 2 Type II |
| Данные | Zero Data Retention — данные не сохраняются и не используются для обучения моделей |
| Секреты | Warp Secrets Manager — безопасная инъекция токенов и ключей в runtime |
| Изоляция | Каждый запуск — отдельный Docker-контейнер, уничтожается после завершения |
| Self-hosting | Агенты работают в вашей инфраструктуре: VPC, дата-центр, собственные серверы |
| Аудит | Полный лог каждого запуска: кто инициировал, что сделано, какие файлы изменены |
| SSO и SCIM | На Enterprise-плане |
Hosting: где выполняются агенты
| Вариант | Для кого |
|---|---|
| Warp-hosted (по умолчанию) | Большинство пользователей — Warp предоставляет инфраструктуру, вы запускаете агентов |
| Self-hosted | Компании с compliance-требованиями — агенты в вашем облаке, VPC или дата-центре, Oz управляет оркестрацией |
Self-hosting работает в двух режимах:
- Managed worker — daemon на вашей машине, Oz оркестрирует агентов в Docker-контейнерах.
- Unmanaged — вы запускаете oz agent run напрямую в вашем CI, Kubernetes или dev-окружении.
Тарифы и требования
| Способ запуска | Требования |
|---|---|
| CLI / API (индивидуально) | Минимум 20 кредитов на балансе. Команда Warp не требуется |
| Интеграции (Slack, Linear) | Команда Warp на плане Build, Max или Business. Минимум 20 кредитов у команды |
| Self-hosted | Командная подписка |
Внимание: BYOK (Bring Your Own Key) не поддерживается для облачных запусков. Собственные API-ключи работают только локально — все облачные запуски расходуют кредиты Warp.
Один агент в терминале — это инструмент. Два десятка в облаке с расписанием, триггерами и общим контекстом — это инфраструктура. Oz проводит границу между ними.
Ограничения
Ограничения
Что учитывать
Перед внедрением Oz нужно понимать границы платформы.
Alpine-образы — Oz требует glibc.
Образы на базе musl (Alpine) не запустятся — используйте Debian, Ubuntu или стандартные образы Docker Hub.
BYOK для облака — Bring Your Own Key работает только локально.
Облачные запуски расходуют кредиты Warp — подключить собственные API-ключи нельзя.
Минимум 20 кредитов — Для CLI/API нужно 20 кредитов на балансе.
Интеграции (Slack, Linear) требуют командную подписку Build, Max или Business плюс 20 кредитов у команды.
Один Environment на кодовую базу — Environment создаётся один раз и переиспользуется для всех триггеров.
Отдельные окружения под Slack, Linear и cron — лишний расход и рассинхронизация.
Антипаттерны
Антипаттерны
Чего не делать
Типичные ошибки при работе с Oz.
Не использовать Alpine — Oz требует glibc.
Alpine-образы на базе musl не запустятся — выбирайте Debian, Ubuntu или стандартные образы Docker Hub.
Не плодить Environment под каждый триггер — Один Environment на кодовую базу.
Переиспользуйте его для Slack, Linear, CLI и расписаний. Отдельный Environment под каждый канал — рассинхронизация конфигурации.
Не запускать критичный код без Critic/Verifier — Для security-sensitive изменений используйте паттерн Critic/Verifier — один агент генерирует, второй проверяет.
Одиночный запуск без проверки на критичных участках — риск.
Чеклист
Чеклист
Проверка перед запуском
Проверьте эти пункты перед первым облачным запуском агента.
Environment создан
— Docker-образ на базе Debian/Ubuntu, репозитории подключены, setup-команды выполняются без ошибок.
GitHub App установлен
— Warp предложит установку при создании Environment — без этого PR не откроются.
Slack/Linear интеграция настроена
— oz integration create выполнен, бот @Oz доступен в канале или проекте.
Кредитов достаточно — Минимум 20 на балансе для CLI/API.
Для интеграций — командная подписка Build, Max или Business.
Skill определён для регулярных задач
— Если запускаете по расписанию — Skill-файл лежит в .warp/skills/ и содержит чёткие инструкции.
Harness выбран правильно
— Warp Agent для long-running и оркестрации, Claude Code для UI и багов, Codex для миграций и рефакторингов.
Ссылки
Ссылки
- Сайт: Oz от Warp
- Сайт: Веб-приложение Oz
- Документация: Agent Platform — docs.warp.dev
- Репозиторий: Публичные Skills — warpdotdev/oz-skills
- Сайт: Dev-образы Warp — github.com/warpdotdev
- Документация: Changelog — docs.warp.dev/changelog