- AI एजेंट के code execution के लिए हल्का सैंडबॉक्स, container की तुलना में 100 गुना तेज़ startup speed और 10~100 गुना बेहतर memory efficiency प्रदान करता है
- V8 JavaScript engine की isolate तकनीक पर आधारित, कुछ मिलीसेकंड में शुरू होता है और केवल कुछ मेगाबाइट इस्तेमाल करता है, इसलिए हर request पर नया सैंडबॉक्स बनाकर हटाने वाला संचालन संभव है
- Agent tool call के बजाय TypeScript code सीधे लिखकर और चलाकर Code Mode तरीके से token usage को 81% तक घटा सकता है
- HTTP filtering, credential injection, virtual filesystem जैसी security और utility libraries भी साथ देता है, जिससे agent development ecosystem बनाना आसान होता है
- Container-आधारित सैंडबॉक्स की cost, latency और scalability सीमाओं से आगे बढ़कर, consumer-scale agent services को संभव बनाने वाला infrastructure बदलाव
पृष्ठभूमि: एजेंट code execution की सुरक्षा समस्या
- Agent (या MCP server) को AI द्वारा तुरंत बनाए गए code को चलाना हो, तो वह code सुरक्षित environment में चलना चाहिए
- App के अंदर
eval() से सीधे चलाने पर malicious user prompt injection के ज़रिए vulnerability डाल सकता है
- Application और बाहरी दुनिया से अलग किया गया सैंडबॉक्स चाहिए, और code को केवल वही खास capabilities मिलनी चाहिए जिनकी उसे ज़रूरत है
मौजूदा container तरीके की सीमाएँ
- अभी industry का अधिकांश हिस्सा Linux-आधारित container को सैंडबॉक्स के रूप में इस्तेमाल करता है
- Container को boot होने में सैकड़ों मिलीसेकंड लगते हैं और run करने में सैकड़ों मेगाबाइट memory लगती है
- Latency से बचने के लिए इन्हें warm state में रखना पड़ता है, और एक ही container को कई tasks के लिए reuse करने से security घटती है
- जहाँ हर end user के पास agent हो और हर agent code लिखे, ऐसे consumer-scale पर container पर्याप्त नहीं हैं
Dynamic Worker Loader: हल्का सैंडबॉक्स
- ऐसा API जिससे Cloudflare Worker runtime पर code specify करके अपने ही sandbox के भीतर तुरंत नया Worker बना सकता है
- पिछले सितंबर की Code Mode post में इसे experimental feature के रूप में पेश किया गया था, और अब यह open beta में सभी paid Workers users के लिए उपलब्ध है
- Worker बनाते समय
compatibilityDate, mainModule, modules से code दिया जाता है, env से RPC stub पास किया जाता है, और globalOutbound से internet access को block या intercept किया जा सकता है
100 गुना तेज़ speed
- Dynamic Workers, Cloudflare Workers platform द्वारा 8 साल से इस्तेमाल किए जा रहे उसी sandboxing mechanism V8 isolate पर आधारित हैं
- Isolate, Google Chrome में इस्तेमाल होने वाले उसी V8 JavaScript execution engine का instance है
- Startup में कुछ मिलीसेकंड और memory usage कुछ मेगाबाइट होने के कारण, यह container की तुलना में लगभग 100 गुना तेज़ और 10~100 गुना अधिक memory efficient है
- हर user request पर नया isolate बनाकर, code का एक हिस्सा चलाकर, फिर उसे हटा देना संभव है
असीम scalability
- कई container-आधारित sandbox provider global concurrent sandbox count और creation speed पर limits लगाते हैं
- Dynamic Worker Loader उसी तकनीक का API है जो platform को चलाती रही है, इसलिए ऐसी limits नहीं हैं
- प्रति सेकंड 10 लाख requests संभालते हुए भी, हर request के लिए अलग Dynamic Worker sandbox लोड कर parallel execution किया जा सकता है
zero latency
- One-shot Dynamic Workers आम तौर पर उन्हें बनाने वाले Worker के उसी machine, उसी thread पर चलते हैं
- Warm sandbox खोजने के लिए दुनिया भर में communication की ज़रूरत नहीं पड़ती, request जहाँ पहुँचती है वहीं तुरंत execution हो जाता है
- Cloudflare के सैकड़ों global locations में यह समर्थित है
केवल JavaScript execution environment
- Container की तुलना में इसकी एकमात्र सीमा यह है कि agent को JavaScript लिखनी होगी
- Workers तकनीकी रूप से Python और WebAssembly भी support करते हैं, लेकिन agent द्वारा तुरंत बनाए गए छोटे code snippets के लिए JavaScript कहीं अधिक तेज़ी से load और execute होती है
- LLM सभी प्रमुख भाषाओं में सक्षम हैं और JavaScript का training data बहुत विशाल है
- Web की प्रकृति के कारण JavaScript sandboxing के लिए डिज़ाइन की गई भाषा है
TypeScript में परिभाषित tool API
- MCP केवल flat tool-calling schema परिभाषित करता है, और OpenAPI REST API को दर्शाता है, लेकिन schema और calling code दोनों verbose होते हैं
- JavaScript के लिए exposed API में TypeScript सबसे बेहतर single answer है
- TypeScript interface, उसी OpenAPI spec की तुलना में कहीं कम tokens में API को सटीक रूप से describe कर सकता है
- Workers Runtime, sandbox और host code के बीच Cap'n Web RPC bridge अपने आप सेट करता है, जिससे agent API को local library की तरह call कर सकता है
HTTP filtering और credential injection
globalOutbound option से सभी HTTP requests के लिए callback register करके request inspection, rewrite, auth key injection, block आदि किया जा सकता है
- Credential injection (token injection): जब agent authentication वाले service को HTTP request भेजता है, तो outgoing request में credentials जोड़ दिए जाते हैं ताकि agent खुद secret credentials न जान सके
- यह तब उपयोगी है जब कोई well-known API agent training data में शामिल हो, या जब sandbox के भीतर REST API-आधारित library चलाई जा रही हो
- लेकिन अगर compatibility की आवश्यकता न हो, तो TypeScript RPC interface HTTP से बेहतर है: कम token consumption, ज़्यादा concise calling code, और API surface को सटीक रूप से सीमित करना आसान
परखी हुई security architecture
- Isolate-आधारित sandbox का attack surface hardware virtual machine से ज़्यादा जटिल होता है, और V8 के security bugs सामान्य hypervisor की तुलना में अधिक बार मिलते हैं
- लगभग 10 वर्षों का isolate-आधारित platform को secure करने का अनुभव है
- V8 security patches को Chrome से पहले, कुछ घंटों के भीतर production में deploy किया जाता है
- Custom second-layer sandbox और risk assessment-आधारित dynamic tenant cordoning लागू है
- MPK जैसे hardware features का उपयोग करके V8 sandbox को मजबूत किया गया है
- TU Graz के साथ मिलकर Spectre defense जैसी नई सुरक्षा तकनीकें विकसित की गई हैं
- Malicious patterns की automatic scanning, blocking और अतिरिक्त sandboxing systems भी चलाए जाते हैं
helper libraries
Code Mode (@cloudflare/codemode)
- यह library model द्वारा generated code को Dynamic Workers के ज़रिए AI tools पर execute करना आसान बनाती है
- इसका core
DynamicWorkerExecutor() है, जो code normalization के माध्यम से सामान्य formatting errors संभालता है और globalOutbound fetcher तक सीधे पहुँच सकता है
codeMcpServer({ server, executor }) मौजूदा MCP Server को wrap करके tool surface को एकल code() tool से बदल देता है
openApiMcpServer({ spec, executor, request }) OpenAPI spec और executor लेकर search() और execute() tools वाला पूरा MCP Server अपने आप बनाता है
bundling (@cloudflare/worker-bundler)
- Dynamic Workers की अपेक्षा के अनुसार pre-bundled modules बनाता है
- Source files और
package.json देने पर npm dependency resolution, esbuild से bundling, और Worker Loader के अनुरूप module map लौटाता है
createApp के जरिए server Worker, client JavaScript और static assets को साथ bundle करने वाली full-stack app support भी मिलती है
- Content type, ETag और SPA routing संभालने वाली built-in asset serving भी शामिल है
file manipulation (@cloudflare/shell)
- Dynamic Worker के अंदर agent को virtual filesystem उपलब्ध कराता है
state object के typed methods से read, write, search, replace, diff, glob, JSON query/update, archive आदि किए जा सकते हैं
- Storage को durable Workspace (SQLite + R2) में backup किया जाता है, जिससे runs के बीच files बनी रहती हैं
searchFiles, replaceInFiles, planEdits जैसे बड़े operations के जरिए RPC round trips कम से कम होते हैं — individual file loop की जगह एक ही call
- Batch writes डिफ़ॉल्ट रूप से transactional हैं: एक भी write fail होने पर पिछली writes अपने आप rollback हो जाती हैं
- Pre-built TypeScript type declarations और system prompt templates भी दिए जाते हैं
उपयोग के मामले
Code Mode का उपयोग
- Agent sequential tool calls की जगह एक TypeScript function लिखकर कई API calls को chain कर सकता है, उसे Dynamic Worker में चला सकता है और केवल final result लौटाता है
- Context window में intermediate steps की जगह सिर्फ output जाता है, इसलिए latency और token usage दोनों घटते हैं
- Cloudflare MCP server इसी तरह बनाया गया है: पूरे Cloudflare API को सिर्फ 2 tools (search, execute) और 1,000 से कम tokens में expose किया गया है
custom automation बनाना
- Zite ऐसा app platform बना रहा है जहाँ users chat interface के ज़रिए interaction करते हैं
- LLM backend में TypeScript लिखकर CRUD apps बनाता है, Stripe·Airtable·Google Calendar जोड़ता है, और backend logic चलाता है
- हर automation अपने अलग Dynamic Worker में चलती है और केवल उसी endpoint के लिए ज़रूरी specific services और libraries तक पहुँच रखती है
- Zite के CTO Antony Toron के अनुसार, यह एक "तुरंत, isolated और सुरक्षित execution layer" है, और benchmark किए गए सभी platforms में speed और library support के मामले में सबसे बेहतर, साथ ही अभी हर दिन लाखों execution requests संभाल रहा है
AI-generated applications चलाना
- AI से पूरी applications generate करने वाले platform बनाने में इसका उपयोग किया जा सकता है
- हर app को on-demand generate किया जाता है और दोबारा बुलाए जाने तक cold storage में रखा जाता है
- तेज़ startup time के कारण active development के दौरान changes का preview करना आसान होता है
- Generated code के network requests को block या intercept करके AI-generated apps का सुरक्षित execution सुनिश्चित किया जा सकता है
pricing
- Dynamically loaded Workers पर प्रति दिन unique Worker load के आधार पर $0.002 charge होगा (सामान्य Workers की CPU time और invocation charges अलग)
- AI-generated "Code Mode" use case में सभी Workers one-shot होते हैं, इसलिए प्रति load $0.002 लागत आती है, जो code generation के inference cost की तुलना में आम तौर पर नगण्य है
- Beta अवधि के दौरान $0.002 शुल्क माफ़ है
अभी कोई टिप्पणी नहीं है.