Pengembangan yang dioptimalkan untuk agen

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:

  1. 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.
  2. 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.sh di 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.

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 :

  1. Di konsol Google Cloud , buka Workstation configurations.

    Buka Konfigurasi workstation

  2. Klik tambahkan Buat, atau klik konfigurasi yang ada, lalu klik edit Edit.

  3. Lengkapi bagian Informasi dasar, lalu lanjutkan ke Setelan mesin.

  4. Di bagian Waktu tunggu tidak ada aktivitas, tetapkan durasi waktu tunggu tidak ada aktivitas, seperti 30 menit.

  5. Di drop-down Tindakan saat tidak ada aktivitas, pilih Tangguhkan (atau Tangguhkan workstation saat waktu tunggu tidak ada aktivitas berakhir).

  6. 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.sh di 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.sh di 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:

  1. 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.pid
    
  2. Notification: 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:

  1. 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.pid
    
  2. Notification: 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.
  • gcloud CLI: Jalankan perintah gcloud workstations start:

    gcloud workstations start WORKSTATION_NAME \
      --cluster=CLUSTER_NAME \
      --region=LOCATION \
      --config=CONFIG_NAME
    

    Ganti 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