Представь: ты просишь ИИ-агента «собери отчёт, сходи в три сервиса, подтяни файлы, приведи всё к одному виду» — и он… начинает не думать, а ждать. Потому что где-то там под капотом ему надо поднять «коробку», в которой можно безопасно выполнить кусочек кода. Коробка эта называется контейнер. Штука полезная, но по скорости запуска иногда как офисный принтер: вроде рядом стоит, но ты уже успел постареть.
Cloudflare выкатили в открытую бету Dynamic Workers — способ запускать код для ИИ-агентов не в контейнерах, а в очень лёгких «песочницах». Компания обещает запуск за миллисекунды, память — считанные мегабайты, и главное: такой «мини-исполнитель» может стартовать на той же машине и даже в том же потоке, где пришёл запрос.
По их оценке — примерно в 100 раз быстрее, чем типичный контейнер, и в 10–100 раз экономнее по памяти.
Почему Cloudflare вообще полезли в «песочницы»
У Cloudflare есть идея, которую они называют Code Mode. Смысл простой: большие модели часто работают лучше, когда им дают не «100 инструментов и инструкцию, как ими по очереди щёлкать», а нормальный программный интерфейс — и просят написать небольшой код, который сам сделает всю логику.
Не «вызови инструмент 1, потом инструмент 2, потом инструмент 3…», а «вот тебе интерфейс — напиши короткую функцию, которая достанет данные, отфильтрует, склеит и вернёт результат».
Cloudflare утверждают, что когда они переводят шлюз к инструментам агента в такой формат, расход токенов — это, грубо говоря, «слова», которые модель обрабатывает и за которые платишь — падает на 81%. Меньше токенов: дешевле и быстрее. Но появляется новая проблема: где безопасно исполнять код, который модель только что сочинила?
Вот тут и нужен лёгкий и массовый «исполнитель».
Три «коробки» для запуска кода — и почему они не одинаковые
Если упростить до бытового уровня, есть три способа изолировать запуск чужого кода.
Изоляты — это как много отдельных кабинок внутри одного здания. Быстро, компактно, но кабинка — не отдельная квартира: не всё туда уместится. У Cloudflare это давно работает в Workers.
Контейнеры — это уже «квартира с мебелью»: удобно переносить, привычно для разработчиков, но чтобы каждый раз открывать новую квартиру ради одной минуты работы — дороговато.
Микро-виртуальные машины — это почти отдельный домик: границы крепче, но домик всё равно надо поднять, и он тяжелее «кабинок».
Cloudflare не говорит, что контейнеры исчезнут. Они говорят другое: если у тебя миллионы мелких «однодневных» задач от агентов, контейнер становится слишком жирным решением.
Что такое Dynamic Workers по-человечески
Dynamic Worker Loader — это интерфейс, который позволяет одному агенту создать другой прямо на лету, подкинув ему код (часто этот код пишет модель). Код выполнился — песочницу можно выбросить.
Плюс фокус в том, что это не история про «где бы найти тёплый контейнер в кластере». Dynamic Worker может запуститься там же, где родился запрос. Меньше лишних прыжков по инфраструктуре — меньше задержек.
Cloudflare также давят на масштаб: Workers у них уже умеют переваривать миллионы запросов в секунду, и Dynamic Workers наследуют эту «массовость». Идея звучит так: «давайте каждому запросу — свежую изоляцию», без того чтобы всё упёрлось в холодный старт контейнеров.
Но безопасно ли это?
Cloudflare довольно честно признают: защищать изолятную песочницу сложнее, чем полагаться на «железные» границы виртуалок.
Их ответ — «мы этим живём почти десять лет». В арсенале быстрые выкаты патчей движка, второй слой песочницы поверх, автоматическое «оцепление» подозрительных арендаторов, защита от целого класса атак на совместную память и сканирование кода на вредные паттерны.
Ставка такая: да, это тоньше, но мы уже научились держать это в узде на масштабе публичного веба.
Почему они так упирают в TypeScript
Ещё один неожиданный тезис Cloudflare: для агентов TypeScript — язык программирования, которого в обучающих данных моделей очень много, — часто лучше, чем стандартные описания интерфейсов через многостраничные схемы.
Логика простая: длинные схемы бывают многословны и в описании, и в использовании. TypeScript короче, понятнее модели и может передавать «форму» интерфейса компактно. Dynamic Worker может обращаться к таким интерфейсам почти как к локальной библиотеке, при этом оставаясь по другую сторону границы безопасности.
HTTP они не отменяют — просто предлагают более «узкий и аккуратный» путь для машинно-сгенерированного кода.
Полезная штука для бизнеса: секреты не отдаём агенту
В релизе есть практичная деталь: перехват всех исходящих запросов из Dynamic Worker.
Что это даёт: можно внедрять учётные данные «на выходе», переписывать запросы, блокировать их, подменять ответы — и не показывать модели реальные секреты. Агенту не надо знать ключи, токены и прочую корпоративную «кровь». Он просто говорит «хочу сходить туда», а ты уже решаешь, можно ли, как именно и с какими правами.
В компаниях это обычно важнее, чем «о, у нас плюс 20% скорости».
Есть подвох: язык
Система лучше всего летает, когда агент пишет на JavaScript или TypeScript. Другие языки формально поддерживаются, но для маленьких мгновенных задач JS будет стартовать быстрее.
И тут начнётся вечная дискуссия «почему не мой любимый язык». Cloudflare парирует просто: у людей есть религии, у агентов — нет. Звучит провокационно, но в их мире логично: если песочница заточена под JS, самый дешёвый путь — пусть агент и пишет на JS.
Дорого ли это и для каких задач вообще нужно
Cloudflare позиционируют Dynamic Workers как фундамент для автоматизаций, где агент сам ходит в сервисы, собирает данные и преобразует файлы, а также для платформ, где пользователи генерируют код и его надо безопасно запускать. Один из примеров — платформа, где пользователь общается в чате, а модель пишет код, собирая приложения и интеграции с популярными сервисами. Там речь уже про миллионы запусков в день, и именно такие объёмы быстро превращают «лишние 300 мс старта» в системную боль.
По деньгам: доступно в открытой бете на платном плане Workers. Биллинг обещают $0.002 за уникально загруженный Worker в день, но во время беты эта плата отключена. Cloudflare отдельно намекают: на фоне стоимости генерации кода моделью само исполнение — обычно копейки.
Контейнер — чемодан. Карман — другая история
Раньше песочница была «технической деталью где-то снизу». Cloudflare явно пытаются сделать её стратегическим слоем: если агенты начинают постоянно писать и исполнять маленькие программы, то скорость старта, цена и контроль доступа становятся почти такими же важными, как «ум» модели.
Контейнер — это чемодан на колёсиках. Удобно, надёжно, но таскать его ради похода в соседний магазин странно.
Dynamic Workers — это карман. Достал, сделал, убрал. И похоже, Cloudflare ставят на то, что у ИИ-агентов таких «походов в магазин» будет больше, чем «переездов с чемоданом».