Перейти к содержимому
Экосистема AI Vibe

Разборы

Bivack: облачный sandbox для coding agents на AWS Lambda MicroVM

Редакция 21 сентября 2026 г.

Bivack: облачный sandbox для coding agents на AWS Lambda MicroVM

Три развилки для соло с Claude Code, MCP и hooks на ноутбуке: оставить всё локально, отдать фоновые задачи hosted agents вендора или поднять свою MicroVM с домом на S3 и доступом из браузера. Gunnar Grosch в разборе Bivack разбирает третий путь: per-user AWS Lambda MicroVM, выбор между терминалом и VS Code workbench без SSH и граница изоляции, за которую платите, пока VM не уснула.

MicroVM под агента: локальный стек, дом на S3 и таймеры сна

Типичный agentic stack на личном компьютере: Claude Code с Bedrock, hooks, MCP-серверы и плагины, всё на локальном терминале и диске. Bivack переносит agent CLI на MicroVM: в образе деплоя опционально Claude, Codex, OpenCode и Kiro, плюс инфраструктурные CLI; в примере автора включён только Claude (CLAUDE=latest), остальное подключается осознанно из‑за размера image.

Один MicroVM на пользователя, не на каждого агента: все выбранные CLI делят одну машину и один workspace. Дом на Amazon S3 Files (NFS) монтируется при старте VM и переживает suspend и terminate: медленнее локального диска, но не исчезает вместе с сессией. SSH нет; вручную: tools/exec.js и tools/run-remote.js, снять стек: ./scripts/teardown.sh.

Для unattended-режима в образе жёсткие дефолты (bypass permissions у Claude, обход approvals у Codex и allow-all у Kiro): изоляция на уровне MicroVM, а не «доверчивый ноутбук».

Облачный sandbox не always-on. В deploy.env три рычага:

Параметр Дефолт Смысл для agent-сессии
IDLE_MAX_SECONDS 2 часа без входящего трафика → suspend Ушли с ноутбука на пару часов, VM уснула
IDLE_SUSPEND_SECONDS 30 минут Окно, в котором suspend ещё можно возобновить
MAX_LIFETIME_SECONDS 8 часов Потолок жизни одной VM, дальше recycle

Travel day укладывается в дефолты; «weekend batch job» упирается в восьмичасовой потолок и idle-окно. После двух часов без трафика VM уходит в suspend, процесс агента обрывается, home на S3 остаёт. Память задаётся MEMORY_MIB: 4 GB по умолчанию, burst до 4×; отдельных цифр vCPU Grosch не называет.

VS Code в браузере: WebSocket вместо SSH

Доступ из browser terminal (xterm.js) или browser build VS Code, не SSH и не HTTP-редактор с самой VM. Узкое место ingress: endpoint MicroVM принимает auth только в заголовке X-aws-proxy-auth, обычный браузер не ставит его на navigation и subresource loads. Workbench это self-hosted клиент с authenticated WebSocket к агенту внутри VM: FileSystemProvider, терминал и watch через один сокет.

В UI кнопки terminal и editor; один home, одни логины, одна машина; клик по пути в терминале открывает файл в редакторе. Ограничения IDE жёсткие: только extensions с web entrypoint, нет Microsoft/GitHub sign-in и Settings Sync, Source Control в workbench нет, git и gh в терминале; настройки IDE в IndexedDB браузера, не на VM (workspace .vscode/settings.json на машине остаётся).

Для vibe-coding агент и файлы в облачной VM, а «редактор рядом с агентом» собирается отдельным фронтенд-проектом, не переносом локального VS Code.

Изоляция между пользователями и логины внутри sandbox

Граница между пользователями: MicroVM (Firecracker snapshot); биллинг compute, пока VM «awake». В sandbox нет credentials хостингового AWS-аккаунта: execution role умеет mount S3 Files и lookup своего endpoint; свою инфраструктуру пользователь подключает профилями в ~/.aws в home.

В шаблоне Remote Developer (rDev) в sandbox были Bedrock и широкие boundary-limited права в hosting account; Bivack убирает hosting-account access из sandbox. Компрометация агента не достаёт до AWS-аккаунта, где крутится stack, но может достать до всего, куда пользователь залогинился внутри (~/.claude, ~/.codex, ~/.kiro, gh, git, AWS SSO cache). На shared deployment оператор stack теоретически читает home в bucket: trade-off «компания vs personal deploy».

Внутри VM пользователь coder с passwordless sudo и открытым outbound internet, это не hardened jail. Cognito с admin-created users, JWT через API Gateway → Lambda выдаёт short-lived token и endpoint; sub мапится на один S3 access point и одну MicroVM.

Счёт, альтернативы и старт deploy

Абсолютной «цены соло в месяц» Grosch не фиксирует; есть ориентиры и контрасты.

  • Compute: MicroVM тарифицируется пока running; в suspend compute не капает, платится storage home.
  • NAT: дефолт NAT_MODE это t4g.nano masquerade («a few dollars a month»); NAT_MODE=gateway это managed NAT Gateway («roughly ten times» monthly cost инстанса).
  • Budget: при BUDGET_EMAIL опциональный AWS Budget, дефолт BUDGET_USD $25/month, алерты на 80% и 100%.
  • S3 Files + versioning: churn home раздувает версии; рекомендован lifecycle на noncurrent versions (expire через неделю в примере).

Сравнение: hosted agents (Claude Code/Codex in cloud, background agents Cursor/Copilot/Devin) дают меньше ops, модель и инфра вендора, код в их аккаунтах, но не вашу среду; VPS ~$5/month это shared kernel, always-on, home умирает с box; rDev это lineage (per-user Lambda MicroVMs, Cognito, WebSocket terminal, S3 home), Bivack добавляет workbench, chooser, deploy/teardown, NAT modes, budget и убирает hosting creds.

Model spend на аккаунтах провайдеров пользователя, без sandbox-level cap. Preview dev server из браузера не встроен (тот же header constraint); нужен tunnel изнутри VM. Stack single region.

Репозиторий: git clone https://github.com/gunnargrosch/bivack; первый deploy 5–10 минут на image build. Prerequisites: AWS CLI ≥2.35.10 (MicroVMs), SAM ≥1.163.0, Node 20, регион с Lambda MicroVMs (в примере us-east-1).

Перед agent-workflow стоит пройтись по пяти пунктам:

  1. Уложится ли типичный agent-сеанс в 8 часов VM и 2 часа idle до suspend.
  2. Готовы ли к медленному home на S3 Files vs локальный SSD на ноутбуке.
  3. Нужен ли git/PR из workbench UI или достаточно terminal + gh.
  4. Кто владеет секретами в ~/.claude / SSO cache при shared deploy.
  5. Настроены ли lifecycle на S3 и budget alert, чтобы versioning не съел счёт.

Если hosted agents вендора закрывают ваш сценарий, Bivack избыточен. Если нужны ваши MCP, hooks и образ с выбранными CLI без отдачи кода в чужой аккаунт, схема MicroVM + persistent home осмысленный эксперимент ценой ops и таймеров вместо «вечно включённого» ноутбука.

Источники

  • Gunnar Grosch, «Building Bivack: A Cloud Dev Sandbox for Coding Agents on AWS Lambda MicroVMs», Dev.to: Dev.to (доступ 2026-09-21 UTC, обогащение по полному тексту поста).