Agent Substrate di GKE menjalankan workload agentic dalam skala besar di cluster Kubernetes. Hal ini mengatasi inefisiensi resource yang umum: agen interaktif (seperti asisten pribadi dan agen coding) sering kali menghabiskan sebagian besar waktunya untuk menunggu input pengguna atau pemicu eksternal. Membiarkan agen yang tidak aktif ini terus berjalan akan menggunakan CPU dan memori yang seharusnya dapat dialokasikan untuk workload aktif.
Agent Substrate di GKE menyelesaikan masalah ini dengan menangguhkan agen yang tidak ada aktivitas dan mengambil snapshot memori aktif (RAM) dan file lokal agen. Saat agen yang ditangguhkan perlu bertindak lagi, sistem akan memulihkan status agen ke sandbox yang tersedia dalam waktu kurang dari satu detik.
Agent Substrate di GKE dibangun berdasarkan kemampuan Agent Sandbox di GKE, dan meningkatkan Agent Sandbox di GKE dengan mengabaikan bottleneck bidang kontrol Kubernetes standar. Hasilnya, platform ini menjalankan jauh lebih banyak agen serentak per mesin dan secara drastis mengurangi waktu startup agen.
Deployment Kubernetes standar (termasuk Agent Sandbox di GKE) mengaitkan setiap workload agen dengan Pod khusus. Meskipun sangat skalabel, Kubernetes dibatasi oleh throughput penjadwalan dan latensi startup Pod. Selain itu, Kubernetes tidak mendukung hibernasi Pod, dan mempertahankan jutaan agen yang tidak ada aktivitas dalam cluster akan menghabiskan batas Pod dan memori bidang kontrol. Untuk menghindari pembayaran komputasi yang tidak digunakan, Anda harus menonaktifkan Pod dan mengelola status agen di penyimpanan eksternal. Agent Substrate di GKE mengatasi batasan penskalaan ini dengan memisahkan status agen dari Pod yang mendasarinya: Agent Substrate menyimpan jutaan snapshot agen yang ditangguhkan di penyimpanan dan memulihkannya sesuai permintaan ke kumpulan bersama Worker yang aktif.
Agent Substrate di GKE adalah sistem open source yang Anda deploy langsung ke cluster GKE Standard Anda sendiri. Meskipun project intinya dikembangkan di repositori Agent Substrate open source, Google menyediakan alat dan skrip deployment yang dioptimalkan untuk GKE di repositori substrate-gke, bagi pelanggan Google Cloud yang memenuhi syarat.
Manfaat Agent Substrate di GKE
Anda dapat menggunakan Agent Substrate di GKE untuk mencapai sasaran berikut:
- Menjalankan kode yang tidak tepercaya dengan aman: Agent Substrate di GKE menerapkan isolasi kernel dan jaringan sehingga Anda dapat menjalankan kode yang dihasilkan AI tanpa membahayakan infrastruktur yang lebih luas.
- Membangun agen stateful yang berjalan lama: memori kerja dan file agen dipertahankan di seluruh sesi. Agen akan melanjutkan dari titik yang tepat saat dijeda.
- Merespons permintaan secara real time: saat permintaan baru memicu agen yang ditangguhkan, sistem akan memulihkan status agen dalam sepersekian detik.
- Mengurangi biaya komputasi: Anda dapat menjalankan lebih banyak agen di lebih sedikit mesin dengan membagikan kumpulan sandbox Worker ke semua agen Anda. Karena agen yang tidak ada aktivitas akan ditangguhkan dan tidak menggunakan CPU dan memori, Anda hanya membayar komputasi saat agen aktif memproses tugas.
Kasus penggunaan
Agent Substrate di GKE dirancang untuk menjalankan agen dalam skala apa pun, mulai dari puluhan hingga jutaan agen serentak. Berikut adalah tiga contoh workload:
- Agen produktivitas: asisten latar belakang jangka panjang yang mempertahankan konteks selama berminggu-minggu. Karena asisten ini menghabiskan sebagian besar waktu untuk menunggu pemicu, menangguhkan workload saat tidak digunakan akan mengurangi biaya komputasi.
- Sandbox sementara: lingkungan on-demand yang terisolasi untuk mengeksekusi kode yang dihasilkan LLM yang tidak tepercaya, menjalankan panggilan alat, atau menganalisis data. Karena sandbox dapat dipulihkan dalam waktu kurang dari satu detik, sistem dapat menyediakan lingkungan sekali pakai untuk tugas yang berdurasi singkat dan merilis resource setelah eksekusi selesai.
- Agen coding: Asisten AI yang melakukan percakapan real-time dengan developer untuk menulis, membangun, dan menguji kode. Agen menjalankan perintah terminal dan mengubah file di dalam sandbox. Saat agen tidak ada aktivitas, sistem akan menangguhkannya hingga developer mengirimkan perintah lain.
Cara kerja Agent Substrate di GKE
Agent Substrate di GKE dibangun di Kubernetes, tetapi Anda tidak perlu memahami Kubernetes untuk menggunakannya. Konsep inti Agent Substrate di GKE adalah sebagai berikut:
- Actor: satu instance agen yang sedang berjalan.
- ActorTemplate: blueprint konfigurasi (menentukan image container, variabel lingkungan, dan resource komputasi) yang digunakan untuk membuat instance Actor.
- Worker: sandbox aman tempat Actor aktif berjalan.
- WorkerPool: sekelompok Worker yang telah dimulai sebelumnya dan tidak ada aktivitas yang terus siap menerima Actor.
Karena Actor tidak terikat dengan Worker tertentu, sistem dapat menangguhkan agen yang tidak ada aktivitas dan menggunakan kembali komputasi yang dikosongkan. Arsitektur ini memungkinkan sistem menjalankan jutaan agen pada sejumlah mesin yang terbatas.
Siklus proses agen standar mengikuti langkah-langkah berikut:
- Perutean: setiap permintaan API yang masuk dari aplikasi Anda menentukan Actor targetnya. Misalnya, saat pengguna mengetik perintah baru ke dalam antarmuka chat, aplikasi Anda akan mengirimkan permintaan yang ditujukan kepada Actor tertentu yang mengelola sesi pengguna.
- Melanjutkan: jika permintaan ditujukan untuk Actor yang ditangguhkan, sistem akan mengklaim Worker hangat dari WorkerPool dan memulihkan snapshot Actor ke Worker tersebut.
- Executing: sistem mengarahkan permintaan ke Worker yang baru aktif ini, dan Actor memproses tugas.
- Menangguhkan: saat Actor menyelesaikan pekerjaannya dan menjadi tidak ada aktivitas, sistem akan mengambil snapshot baru dari memori dan file Actor, menyimpan snapshot ke penyimpanan, dan merilis Worker kosong kembali ke kumpulan.
Isolasi workload dan GKE Sandbox
Agent Substrate di GKE menggunakan gVisor atau Cloud Hypervisor untuk menjalankan setiap workload di sandbox yang mengisolasi kode aplikasi dari kernel host. Penginstalan Agent Substrate di GKE menyertakan runtime gVisor untuk Worker, sehingga Anda tidak perlu mengonfigurasi GKE Sandbox di node GKE yang mendasarinya.
Batasan dan persyaratan
Agent Substrate di GKE memiliki batasan dan persyaratan berikut:
- Versi cluster dan API beta: Agent Substrate di GKE didukung di cluster GKE Standard yang menjalankan versi 1.36 (dengan flag beta diaktifkan) atau versi 1.37 atau yang lebih baru. Versi sebelum 1.36 tidak didukung. Selain itu, GKE memerlukan API beta (
podcertificaterequestsdanclustertrustbundles). Jika Anda mengaktifkan API ini di cluster yang ada yang menjalankan versi 1.36, Anda juga harus mengganti node yang ada agar proyeksi sertifikat Pod diaktifkan di node tersebut. Pada versi 1.37 atau yang lebih baru, node yang ada tidak perlu diganti. - Workload Identity Federation for GKE: Cluster GKE harus mengaktifkan Workload Identity Federation for GKE. Agent Substrate di GKE menggunakan Workload Identity Federation for GKE untuk melakukan autentikasi ke API Google Cloud , seperti Cloud Storage untuk menyimpan snapshot agen.
- Kelompok VM:
- Arsitektur CPU campuran: Agent Substrate di GKE tidak mendukung seri mesin tujuan umum yang berjalan pada arsitektur CPU campuran (seperti jenis mesin E2) karena masalah umum pada gVisor.
- Jenis VM yang seragam per template Actor: menggabungkan jenis VM dalam satu
ActorTemplate(blueprint konfigurasi yang digunakan untuk membuat Actor) tidak didukung. Misalnya, jika cluster Anda memiliki dua node pool yang menggunakan VM C4 dan N2,ActorTemplateharus menyertakan pemilih node yang menentukan satu jenis VM (seperti C4) untuk mencegah Actor untuk template tersebut dibagi di berbagai jenis mesin.
- Dukungan GPU: Passthrough perangkat GPU ke container Actor tidak didukung. Menentukan
nvidia.com/gpuhanya menempatkan Pod pada node yang mendukung GPU, tetapi tidak meneruskan perangkat GPU ke container Actor. Selain itu, gVisor tidak dapat membuat snapshot konteks CUDA aktif. - Jaringan:
- Kebijakan traffic keluar: Aturan
EgressPolicy(kontrol jaringan berdasarkan nama host dan alamat IP) tidak didukung, termasuk kemampuan berikut:- Aturan penolakan default
- Aturan berbasis nama host
- Injeksi kredensial
- Koneksi terbuka: koneksi jaringan terbuka (seperti sesi database atau koneksi ke server MCP) tidak dipertahankan saat agen ditangguhkan. Kode agen Anda harus menangani koneksi ulang ke layanan eksternal saat agen melanjutkan.
- Kebijakan traffic keluar: Aturan
- Kemampuan Observasi dan OpenTelemetry Terkelola: OpenTelemetry Terkelola untuk GKE memiliki batasan berikut:
- Konektor kolektor tidak didukung, sehingga memerlukan penggunaan meteran proxy eksternal untuk tolok ukur telemetri.
- Deployment kolektor menimbulkan overhead cache memori yang diskalakan secara linear dengan jumlah Pod dalam cluster besar.
- TLS tidak didukung di OpenTelemetry Terkelola untuk GKE.
- Penyimpanan: sistem memerlukan Cloud Storage untuk menyimpan snapshot agen Anda.
- Lingkungan penginstalan: Anda tidak dapat menginstal Agent Substrate di GKE di Cloud Shell. Cloud Shell memiliki batas penyimpanan persistent disk sebesar 5 GB yang tidak menyediakan kapasitas disk yang cukup untuk penginstalan. Anda harus menginstal Agent Substrate di GKE dari workstation lokal atau virtual machine (VM) dengan kapasitas disk yang memadai.
Langkah berikutnya
Pelajari cara menginstal Agent Substrate di GKE.
Pelajari kode yang menginstal Agent Substrate di GKE dalam repositori GitHub substrate-gke.