9 poin oleh GN⁺ 26 hari lalu | Belum ada komentar. | Bagikan ke WhatsApp
  • Sandbox ringan untuk eksekusi kode agen AI, menawarkan waktu startup 100x lebih cepat dan efisiensi memori 10~100x lebih tinggi dibanding container
  • Berbasis teknologi isolate dari mesin JavaScript V8, dapat mulai dalam hitungan beberapa milidetik dan hanya menggunakan beberapa megabita, sehingga memungkinkan pembuatan dan pembuangan sandbox baru untuk setiap permintaan
  • Dengan pendekatan Code Mode, di mana agen menulis dan menjalankan kode TypeScript secara langsung alih-alih memanggil tool, penggunaan token dapat ditekan hingga 81%
  • Menyediakan pustaka keamanan dan utilitas seperti pemfilteran HTTP, credential injection, dan sistem file virtual untuk membangun ekosistem pengembangan agen
  • Melampaui batas biaya, latensi, dan skalabilitas sandbox berbasis container, ini menjadi perubahan infrastruktur yang memungkinkan layanan agen berskala konsumen

Latar belakang: masalah keamanan pada eksekusi kode agen

  • Agar agen (atau server MCP) dapat menjalankan kode yang dibuat AI secara spontan, kode tersebut harus berjalan di lingkungan yang aman
  • Jika dijalankan langsung di dalam aplikasi dengan eval(), pengguna berbahaya dapat menyisipkan kerentanan melalui prompt injection
  • Diperlukan sandbox yang terisolasi dari aplikasi dan dunia luar, serta hanya mengizinkan fungsi tertentu yang memang perlu diakses kode

Batasan pendekatan container yang ada saat ini

  • Saat ini sebagian besar industri menggunakan container berbasis Linux sebagai sandbox
  • Container memerlukan ratusan milidetik untuk boot dan ratusan megabita memori untuk berjalan
  • Untuk mencegah latensi, container perlu dijaga tetap hangat, dan jika container lama dipakai ulang untuk banyak tugas maka keamanan menurun
  • Pada skala konsumen, di mana setiap pengguna akhir memiliki agen dan setiap agen menulis kode, container tidak lagi memadai

Dynamic Worker Loader: sandbox ringan

  • API yang memungkinkan Cloudflare Worker menentukan kode saat runtime lalu langsung membuat Worker baru di dalam sandbox-nya sendiri
  • Diperkenalkan sebagai fitur eksperimental dalam posting Code Mode bulan September lalu, dan kini tersedia dalam open beta untuk semua pengguna Workers berbayar
  • Saat membuat Worker, kode ditentukan melalui compatibilityDate, mainModule, dan modules, stub RPC dikirim melalui env, dan akses internet dapat diblokir atau dicegat melalui globalOutbound

Kecepatan 100x lebih tinggi

  • Dynamic Workers dibangun di atas V8 isolate, mekanisme sandbox yang sama yang telah digunakan platform Cloudflare Workers selama 8 tahun
  • Isolate adalah instance dari mesin eksekusi JavaScript V8 yang sama dengan yang digunakan Google Chrome
  • Startup hanya butuh beberapa milidetik dan penggunaan memori hanya beberapa megabita, sekitar 100x lebih cepat dan 10~100x lebih efisien memori dibanding container
  • Memungkinkan pembuatan isolate baru untuk setiap permintaan pengguna, menjalankan satu potong kode, lalu langsung membuangnya

Skalabilitas tanpa batas

  • Banyak penyedia sandbox berbasis container membatasi jumlah sandbox global yang berjalan bersamaan dan kecepatan pembuatannya
  • Karena Dynamic Worker Loader adalah API dari teknologi yang sama yang menjalankan platform ini, batasan seperti itu tidak ada
  • Dapat menangani jutaan permintaan per detik sambil memuat sandbox Dynamic Worker terpisah untuk setiap permintaan dan menjalankannya secara paralel

Latensi nol

  • Dynamic Workers sekali pakai biasanya dijalankan pada mesin yang sama dan thread yang sama dengan Worker yang membuatnya
  • Tidak perlu komunikasi global untuk mencari sandbox yang sudah hangat; eksekusi langsung dilakukan di lokasi tempat permintaan masuk
  • Didukung di ratusan lokasi global milik Cloudflare

Lingkungan eksekusi khusus JavaScript

  • Satu-satunya batasan dibanding container adalah agen harus menulis JavaScript
  • Workers secara teknis juga mendukung Python dan WebAssembly, tetapi untuk potongan kode kecil yang dibuat spontan oleh agen, JavaScript dapat dimuat dan dijalankan jauh lebih cepat
  • LLM mahir dalam semua bahasa utama, dan data pelatihan untuk JavaScript sangat melimpah
  • Secara alami, JavaScript adalah bahasa yang dirancang untuk sandboxing karena sifat web itu sendiri

API tool yang didefinisikan dengan TypeScript

  • MCP hanya mendefinisikan skema pemanggilan tool yang datar, sementara OpenAPI mengekspresikan REST API, tetapi baik skema maupun kode pemanggilannya sama-sama bertele-tele
  • Untuk API yang diekspos ke JavaScript, TypeScript adalah jawaban terbaik yang paling tepat
  • Interface TypeScript dapat mendeskripsikan API secara akurat dengan jauh lebih sedikit token dibanding spesifikasi OpenAPI yang setara
  • Workers Runtime secara otomatis menyiapkan bridge Cap'n Web RPC antara sandbox dan kode host, sehingga agen dapat memanggil API seperti pustaka lokal

Pemfilteran HTTP dan credential injection

  • Opsi globalOutbound memungkinkan mendaftarkan callback untuk semua permintaan HTTP, sehingga dapat melakukan inspeksi, penulisan ulang, penyisipan kunci autentikasi, atau pemblokiran
  • Credential injection (token injection): saat agen mengirim permintaan HTTP ke layanan yang memerlukan autentikasi, kredensial ditambahkan ke permintaan keluar sehingga agen itu sendiri tidak mengetahui kredensial rahasia
  • Ini berguna ketika API yang sudah dikenal termasuk dalam data pelatihan agen, atau ketika pustaka berbasis REST API dijalankan di dalam sandbox
  • Namun, jika tidak ada kebutuhan kompatibilitas, interface RPC TypeScript lebih unggul daripada HTTP: konsumsi token lebih rendah, kode pemanggilan lebih ringkas, dan permukaan API lebih mudah dibatasi secara presisi

Arsitektur keamanan yang telah teruji

  • Sandbox berbasis isolate memiliki permukaan serangan yang lebih kompleks daripada mesin virtual perangkat keras, dan bug keamanan V8 lebih sering muncul dibanding hypervisor umum
  • Cloudflare memiliki pengalaman hampir 10 tahun dalam mengamankan platform berbasis isolate
  • Patch keamanan V8 dapat dideploy ke produksi dalam hitungan jam, lebih cepat daripada Chrome
  • Diterapkan sandbox lapisan kedua kustom dan cordoning tenant dinamis berbasis penilaian risiko
  • Sandbox V8 juga diperluas dengan memanfaatkan fitur perangkat keras seperti MPK
  • Bekerja sama dengan TU Graz untuk mengembangkan teknik pertahanan baru seperti perlindungan Spectre
  • Mengoperasikan sistem pemindaian otomatis terhadap pola berbahaya serta pemblokiran atau sandboxing tambahan

Pustaka helper

Code Mode (@cloudflare/codemode)

  • Pustaka yang menyederhanakan eksekusi kode buatan model terhadap tool AI menggunakan Dynamic Workers
  • Intinya adalah DynamicWorkerExecutor(), yang menangani kesalahan formatting umum melalui normalisasi kode dan dapat langsung mengakses fetcher globalOutbound
  • codeMcpServer({ server, executor }) membungkus MCP Server yang ada dan mengganti permukaan tool menjadi satu tool code()
  • openApiMcpServer({ spec, executor, request }) menerima spesifikasi OpenAPI dan executor lalu secara otomatis membangun MCP Server lengkap dengan tool search() dan execute()

Bundling (@cloudflare/worker-bundler)

  • Menghasilkan modul yang sudah dibundel sebelumnya sesuai yang diharapkan Dynamic Workers
  • Dengan memberikan file sumber dan package.json, tool ini menyelesaikan dependensi npm, melakukan bundling dengan esbuild, dan mengembalikan peta modul yang diharapkan Worker Loader
  • Mendukung aplikasi full-stack melalui createApp, yang membundel Worker server, JavaScript klien, dan aset statis bersama-sama
  • Termasuk asset serving bawaan yang menangani content type, ETag, dan routing SPA

Manipulasi file (@cloudflare/shell)

  • Menyediakan sistem file virtual bagi agen di dalam Dynamic Worker
  • Dengan metode bertipe pada objek state, agen dapat melakukan read, write, search, replace, diff, glob, query/update JSON, archive, dan lainnya
  • Penyimpanan dicadangkan ke Workspace yang persisten (SQLite + R2), sehingga file tetap tersimpan antar eksekusi
  • Operasi skala besar seperti searchFiles, replaceInFiles, dan planEdits meminimalkan bolak-balik RPC — satu panggilan alih-alih loop per file
  • Penulisan batch secara default bersifat transaksional: jika satu gagal, penulisan sebelumnya otomatis di-rollback
  • Menyediakan deklarasi tipe TypeScript yang sudah dibangun sebelumnya serta template system prompt

Contoh penggunaan

Pemanfaatan Code Mode

  • Alih-alih pemanggilan tool secara berurutan, agen menulis satu fungsi TypeScript yang merangkai beberapa panggilan API, menjalankannya di Dynamic Worker, lalu hanya mengembalikan hasil akhir
  • Karena yang masuk ke context window hanya output, bukan langkah perantara, latensi dan penggunaan token sama-sama menurun
  • Cloudflare MCP server dibangun dengan pendekatan ini: seluruh Cloudflare API diekspos hanya dengan 2 tool (search, execute) dan kurang dari 1.000 token

Membangun otomasi kustom

  • Zite sedang membangun platform aplikasi tempat pengguna berinteraksi melalui antarmuka chat
  • Di balik layar, LLM menulis TypeScript untuk membuat aplikasi CRUD, menghubungkan Stripe, Airtable, dan Google Calendar, serta menjalankan logika backend
  • Setiap otomasi dijalankan dalam Dynamic Worker-nya sendiri dan hanya memiliki akses ke layanan serta pustaka tertentu yang diperlukan endpoint tersebut
  • CTO Zite Antony Toron: sebagai lapisan eksekusi yang instan, terisolasi, dan aman, ini menunjukkan performa terbaik dalam kecepatan dan dukungan pustaka dibanding semua platform yang mereka benchmark, dan kini menangani jutaan permintaan eksekusi setiap hari

Menjalankan aplikasi yang dihasilkan AI

  • Digunakan untuk membangun platform yang menghasilkan aplikasi lengkap dengan AI
  • Setiap aplikasi dibuat secara on-demand lalu disimpan di cold storage sampai dipanggil kembali
  • Waktu startup yang cepat memudahkan preview perubahan selama pengembangan aktif
  • Permintaan jaringan dari kode yang dihasilkan dapat diblokir atau dicegat untuk menjamin eksekusi aman aplikasi buatan AI

Kebijakan harga

  • Workers yang dimuat secara dinamis dikenai biaya $0.002 berdasarkan jumlah Worker unik yang dimuat per hari (di luar biaya waktu CPU dan pemanggilan Workers biasa)
  • Untuk use case AI-generated "Code Mode", karena semua Worker bersifat sekali pakai, biayanya adalah $0.002 per load dan umumnya dapat diabaikan dibanding biaya inferensi untuk pembuatan kode
  • Biaya $0.002 dibebaskan selama periode beta

Belum ada komentar.

Belum ada komentar.