Песочницы
Песочница — это изолированный микро-VM Firecracker, который вы запускаете по требованию, выполняете внутри код и удаляете по завершении. Каждая песочница — полноценная Linux-среда со своей файловой системой, сетью и пространством процессов — загружается за миллисекунды, а не минуты.
Песочницы — вычислительная основа для ИИ-агентов, интерпретаторов кода, оценок и задач в стиле CI на Lizard. Если сервис — это долгоживущее развертывание, привязанное к репозиторию, то песочница — эфемерная, программная и одноразовая — создавайте песочницу для каждой задачи в пределах емкости вашего аккаунта.
import { Sandbox } from '@lizard-build/sdk';
const sandbox = await Sandbox.create('base', { project: 'my-project' });
const { stdout } = await sandbox.process.exec('echo "hello from Lizard"');
console.log(stdout); // hello from Lizard
await sandbox.kill();Когда использовать песочницу
| Используйте песочницу, когда… | Используйте сервис, когда… |
|---|---|
| Агенту нужно выполнить недоверенный или сгенерированный код | Вы развертываете приложение, которое должно работать постоянно |
| Нужен чистый, одноразовый Linux за каждой задачей | Нужен стабильный URL <name>.<region>.onlizard.com и TLS |
| Нужно распараллелить множество изолированных задач | У вас есть один всегда работающий процесс |
| Нагрузка кратковременная или приостанавливается | Нагрузка привязана к git и автоматически переразвертывается |
После того как агент создал работающее приложение внутри песочницы, вы можете продвинуть его в постоянный сервис с помощью lizard up — без Dockerfile.
Почему они быстрые
- Микровычислители Firecracker — отдельный Linux-гость для каждой песочницы. У рантаймов приложений разные правила изоляции. Аппаратная виртуализация отделяет гостя от хоста. Контролируйте учетные данные и сетевой доступ для кода, которому не доверяете.
- Приостановка и возобновление — приостановка замораживает vCPU микро-VM. Память, файловая система и запущенные процессы сохраняются как есть, поэтому возобновление продолжает ровно с того же места — без переустановки пакетов или повторного прогрева кэшей. Именно это позволяет долгим сессиям агентов выживать при отдельных вызовах. Состояние хранится в памяти хоста, а не на диске, поэтому не выживает при сбое хоста. См. приостановка и возобновление.
- Загрузка из шаблона — каждый узел заранее создает эталонный снимок для каждого шаблона, поэтому
create— это восстановление, а не холодная загрузка.
Шаблоны
Песочница загружается из шаблона (в панели управления он также называется снимком). Доступны два встроенных шаблона:
| Шаблон | Содержимое | Подходит для |
|---|---|---|
base | Debian Linux, Node.js 26 и Lizard CLI | Командные оболочки общего назначения и среды сборки |
code-interpreter-v1 | Python 3.14 + Node.js 26, с HTTP API выполнения кода на порту 8080 | ИИ-интерпретаторы кода — управляйте через CodeSandbox |
base — по умолчанию. Публичный API создания принимает эти два имени шаблона. Загрузка пользовательских шаблонов через этот API не предусмотрена.
Жизненный цикл
Песочница переходит между тремя состояниями:
create ──▶ running ⇄ paused ──▶ stopped
(killed or expired)- running — гость может выполнять команды, работать с файлами и обслуживать открытые порты.
- paused — vCPU остановлены. Память гостя и состояние процессов остаются на хосте; это не устойчивый снимок или резервная копия.
- stopped — песочница завершена через удаление или истечение срока. Её локальная файловая система больше недоступна.
SDK по умолчанию отправляет время жизни 5 минут. При прямом вызове API создания можно передать timeoutMs: 0, чтобы отключить ограничение срока действия. Передавайте явный таймаут, когда скрипт должен вести себя одинаково на всех клиентах, и освобождайте песочницу по завершении задачи. Команды не сбрасывают время жизни.
Приостановка предназначена для сохранения оставшегося времени работы. Проверьте текущую проблему жизненного цикла перед тем, как полагаться на приостановку дольше исходного срока. Для хранения постоянных файлов используйте том; приостановленный гость не выживает при сбое хоста.
Ресурсы и лимиты
Каждая песочница работает на фиксированных 4 vCPU / 4096 MiB RAM. Публичный API создания не имеет настройки размера для каждой песочницы. Каждая песочница наследует ресурсы своего шаблона.
Регион выбирается автоматически с учётом доступных ресурсов; в панели управления можно указать нужный регион. Для квот приложений и доступных ресурсов песочниц могут действовать разные правила. См. лимиты.
Способы управления песочницами
| Способ управления | Подходит для | Начните здесь |
|---|---|---|
| SDK (JS / Python) | Агенты, приложения и скрипты — включая с сохранением состояния, многоязычное выполнение через CodeSandbox | Быстрый старт · Справочник SDK |
| Панель управления | Ручное создание, терминал, SSH, мониторинг | Панель управления |