Cloud Workstations menyediakan lingkungan runtime yang dioptimalkan untuk agen coding AI interaktif dan otonom, seperti Antigravity CLI dan Claude Code. Saat menjalankan alur kerja pengembangan agentic, agen sering kali melakukan tugas asinkron yang berjalan lama (seperti pembuatan kode, refaktorisasi mendalam, dan eksekusi uji) atau dijeda saat menunggu input dan peninjauan manusia.
Waktu tunggu tidak ada aktivitas workstation standar dapat mematikan dan menghapus VM workstation sementara selama periode tidak ada aktivitas yang lama, sehingga menghentikan container dan mengharuskan konteks agen diinisialisasi ulang. Pengembangan yang dioptimalkan untuk agen menyelesaikan masalah ini dengan menggabungkan dua fitur utama:
- Penangguhan workstation (
IdleAction.SUSPEND): Fitur ini secara otomatis menangguhkan VM workstation saat mencapai waktu tunggu tidak aktif daripada menghentikannya. Menangguhkan workstation akan mempertahankan RAM, proses yang sedang berjalan, file yang terbuka, dan konteks agen aktif mesin virtual ke penyimpanan persisten, sekaligus menghentikan biaya komputasi vCPU dan memori. - Hook tetap aktif siklus proses: Hook ini memungkinkan agen AI menjalankan
skrip tetap aktif di latar belakang (
/google/scripts/keep_alive.sh) selama pemrosesan aktif untuk mencegah waktu tunggu habis, dan menghentikan skrip saat menunggu input pengguna atau setelah menyelesaikan tugas, sehingga workstation dapat memasuki status tidak ada aktivitas dan ditangguhkan.
Cara kerja pengoptimalan agen
Pengoptimalan agen memastikan status persisten, efisiensi biaya, dan operasi yang lancar selama tugas yang berjalan lama:
- Pemrosesan aktif: Saat agen mulai menjalankan petunjuk pengguna, hook siklus proses akan memulai
/google/scripts/keep_alive.shdi latar belakang. Skrip ini mengirim sinyal tetap aktif secara berkala yang mencegah Cloud Workstations menandai workstation sebagai tidak aktif. - Menunggu input pengguna atau penyelesaian tugas: Saat agen menyelesaikan tugasnya atau dijeda untuk meminta peninjauan atau input tambahan dari developer, hook peristiwa akan menghentikan proses tetap aktif di latar belakang.
- Penangguhan otomatis: Tanpa sinyal tetap aktif yang aktif atau traffic masuk, timer tidak ada aktivitas workstation akan menghitung mundur hingga mencapai nilai minimum waktu tidak ada aktivitas yang dikonfigurasi. Setelah waktu tunggu habis, Cloud Workstations akan mengalihkan workstation ke
STATE_SUSPENDED, bukan menonaktifkannya. - Lanjutan instan: Saat developer kembali dan terhubung kembali (melalui konsol Google Cloud , IDE, atau SSH), workstation akan langsung dilanjutkan dari penyimpanan persisten dengan status agen penuh, sesi terminal, dan konteks ruang kerja tetap utuh.
Mengonfigurasi penangguhan workstation
Untuk mengaktifkan penangguhan workstation, perbarui konfigurasi workstation Anda dengan
idleAction yang ditetapkan ke SUSPEND dan durasi idleTimeout dalam detik, seperti
1800s selama 30 menit.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan
kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus
login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Konsol
Untuk mengonfigurasi penangguhan pada konfigurasi workstation di konsol Google Cloud :
Di konsol Google Cloud , buka Workstation configurations.
Klik tambahkan Buat, atau klik konfigurasi yang ada, lalu klik edit Edit.
Lengkapi bagian Informasi dasar, lalu lanjutkan ke Setelan mesin.
Di bagian Waktu tunggu tidak ada aktivitas, tetapkan durasi waktu tunggu tidak ada aktivitas, seperti 30 menit.
Di drop-down Tindakan saat tidak ada aktivitas, pilih Tangguhkan (atau Tangguhkan workstation saat waktu tunggu tidak ada aktivitas berakhir).
Selesaikan langkah-langkah konfigurasi lainnya, lalu klik Buat (atau Simpan).
gcloud
Untuk membuat konfigurasi workstation baru dengan penangguhan yang diaktifkan, jalankan perintah
gcloud workstations configs create
dengan flag --idle-action=suspend:
gcloud workstations configs create CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
Untuk memperbarui konfigurasi workstation yang ada agar menggunakan penangguhan, jalankan perintah
gcloud workstations configs update:
gcloud workstations configs update CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
Ganti kode berikut:
CONFIG_NAME: nama konfigurasi workstation.CLUSTER_NAME: nama cluster workstation.LOCATION: region tempat cluster workstation berada.
REST
Untuk mengonfigurasi penangguhan menggunakan REST API, tetapkan idleAction ke SUSPEND dan
idleTimeout ke durasi yang dipilih di payload
workstationConfigs:
{
"idleTimeout": "1800s",
"idleAction": "SUSPEND"
}
Mengonfigurasi agen dengan hook tetap aktif contoh
Image dasar yang telah dikonfigurasi sebelumnya di Cloud Workstations telah diinstal sebelumnya dengan contoh file konfigurasi agen di /google/samples/agents/keepalive/. Contoh ini menunjukkan cara mengonfigurasi agen coding AI untuk mengelola siklus proses tetap aktif secara otomatis.
Cara kerja hook tetap aktif agen
Agen coding AI modern menyediakan sistem hook peristiwa yang mengeksekusi perintah pada tonggak pencapaian siklus proses utama:
- Hook mulai eksekusi: Dipicu sebelum agen mulai memproses input pengguna. Hook meluncurkan
/google/scripts/keep_alive.shdi latar belakang dan menulis ID proses (PID) latar belakang ke file sementara (misalnya,/tmp/agent_keep_alive.pid). - Hook tunggu input pengguna / notifikasi: Dipicu saat agen menyelesaikan tugasnya atau berhenti sejenak untuk meminta input pengguna. Hook membaca PID dari
file sementara dan menghentikan proses
keep_alive.shdi latar belakang.
Konfigurasi Claude Code
Claude Code mendukung hook peristiwa siklus proses yang dikonfigurasi dalam setelannya. Contoh file konfigurasi untuk Claude Code berada di:
/google/samples/agents/keepalive/claude/
Di Claude Code, hook peristiwa berikut mengelola proses tetap aktif:
UserPromptSubmit: Hook berjalan saat pengguna mengirimkan perintah. Skrip ini memulai skrip tetap aktif di latar belakang:/google/scripts/keep_alive.sh & echo $! > /tmp/claude_keep_alive.pidNotification: Hook berjalan saat Claude Code memancarkan notifikasi atau berhenti untuk input pengguna. Tindakan ini akan menghentikan proses latar belakang keep-alive yang aktif:if [ -f /tmp/claude_keep_alive.pid ]; then kill "$(cat /tmp/claude_keep_alive.pid)" 2>/dev/null || true rm -f /tmp/claude_keep_alive.pid fi
Untuk menerapkan contoh konfigurasi, salin atau gabungkan contoh file dari
/google/samples/agents/keepalive/claude/ ke direktori konfigurasi Claude Anda (misalnya, ~/.claude/settings.json atau konfigurasi level project).
Konfigurasi Antigravity CLI
Antigravity CLI mendukung hook peristiwa siklus proses yang ditentukan dalam setelannya. Contoh file konfigurasi untuk Antigravity CLI berada di:
/google/samples/agents/keepalive/gemini/
Di Antigravity CLI, hook peristiwa berikut mengelola proses tetap aktif:
BeforeAgent: Hook berjalan sebelum Antigravity CLI mulai mengeksekusi tindakan. Perintah ini memulai skrip tetap aktif di latar belakang:/google/scripts/keep_alive.sh & echo $! > /tmp/gemini_keep_alive.pidNotification: Hook berjalan saat agen menyelesaikan gilirannya atau memerlukan masukan pengguna. Menghentikan proses tetap aktif:if [ -f /tmp/gemini_keep_alive.pid ]; then kill "$(cat /tmp/gemini_keep_alive.pid)" 2>/dev/null || true rm -f /tmp/gemini_keep_alive.pid fi
Untuk menerapkan konfigurasi contoh, salin atau gabungkan file contoh dari
/google/samples/agents/keepalive/gemini/ ke direktori konfigurasi Antigravity CLI
Anda (misalnya, ~/.gemini/config.yaml atau setelan project).
Integrasi agen kustom
Jika Anda membuat atau menggunakan agen AI kustom, Anda dapat menerapkan pola tetap aktif yang sama dengan meluncurkan /google/scripts/keep_alive.sh sebagai proses latar belakang selama eksekusi agen aktif dan menghentikan proses saat agen memasuki status tidak ada aktivitas atau menunggu.
Melanjutkan workstation yang ditangguhkan
Saat workstation dalam status STATE_SUSPENDED, Anda dapat melanjutkannya kapan saja:
- KonsolGoogle Cloud : Di konsol Google Cloud , buka halaman Workstations, lalu klik Launch atau Start di samping workstation yang ditangguhkan.
gcloudCLI: Jalankan perintahgcloud workstations start:gcloud workstations start WORKSTATION_NAME \ --cluster=CLUSTER_NAME \ --region=LOCATION \ --config=CONFIG_NAMEGanti kode berikut:
WORKSTATION_NAME: nama workstation.CLUSTER_NAME: nama cluster workstation.LOCATION: region tempat cluster workstation berada.CONFIG_NAME: nama konfigurasi workstation.
Koneksi browser atau SSH: Membuka URL web workstation atau terhubung menggunakan SSH akan otomatis memicu workstation untuk dilanjutkan.
Setelah dilanjutkan, semua buffer terminal, riwayat perintah agen, dan file ruang kerja akan dipulihkan persis seperti saat Anda meninggalkannya.
Langkah berikutnya
- Buat konfigurasi workstation.
- Pelajari lebih lanjut coding yang dibantu agen AI dengan Gemini CLI.
- Pelajari Image dasar yang telah dikonfigurasi sebelumnya.
- Pelajari cara Menghubungi dukungan SSH.