Pengembangan yang dioptimalkan untuk agen

Cloud Workstations menyediakan lingkungan runtime yang dioptimalkan untuk agen coding AI yang otonom dan interaktif, 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, 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 virtual machine, proses yang berjalan, file yang terbuka, dan konteks agen aktif 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 memungkinkan workstation 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 memulai /google/scripts/keep_alive.sh di latar belakang. Skrip ini mengirimkan sinyal keep-alive berkala yang mencegah Cloud Workstations menandai workstation sebagai tidak ada aktivitas.
  • Menunggu input pengguna atau penyelesaian tugas: Saat agen menyelesaikan pekerjaannya atau dijeda untuk meminta peninjauan atau input tambahan dari developer, event hook akan menghentikan proses keep-alive latar belakang.
  • Penangguhan otomatis: Tanpa sinyal tetap aktif yang aktif atau traffic masuk, timer tidak ada aktivitas workstation akan menghitung mundur hingga mencapai nilai batas waktu tidak ada aktivitas yang dikonfigurasi. Setelah waktu tunggu habis, Cloud Workstations akan mentransisikan workstation ke STATE_SUSPENDED, bukan mematikannya.
  • 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 disetel 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 prompt 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 konsolGoogle Cloud :

  1. Di konsol Google Cloud , buka Workstation configurations.

    Buka Konfigurasi workstation

  2. Klik add Create, atau klik konfigurasi yang ada, lalu klik edit Edit.

  3. Selesaikan 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 Tunda (atau Tunda workstation saat waktu tunggu tidak ada aktivitas berakhir).

  6. Selesaikan langkah-langkah konfigurasi yang tersisa, lalu klik Buat (atau Simpan).

gcloud

Untuk membuat konfigurasi workstation baru dengan penangguhan yang diaktifkan, jalankan perintah gcloud workstations configs create dengan tanda --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 dalam payload workstationConfigs Anda:

{
  "idleTimeout": "1800s",
  "idleAction": "SUSPEND"
}

Mengonfigurasi agen dengan contoh hook keep-alive

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 latar belakang (PID) 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 keep-alive:

  1. UserPromptSubmit: Hook berjalan saat pengguna mengirimkan perintah. Perintah ini akan memulai skrip keep-alive di latar belakang:

    /google/scripts/keep_alive.sh & echo $! > /tmp/claude_keep_alive.pid
    
  2. Notification: Hook berjalan saat Claude Code mengirimkan notifikasi atau dijeda untuk input pengguna. Mematikan proses latar belakang keep-alive 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 konfigurasi contoh, salin atau gabungkan file contoh 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 terletak 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. Tindakan ini akan menghentikan proses keep-alive:

    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 membangun atau menggunakan agen AI kustom, Anda dapat menerapkan pola keep-alive 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:

  • Google Cloud Konsol: 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 Anda atau terhubung menggunakan SSH akan otomatis memicu workstation untuk dilanjutkan.

Setelah dilanjutkan, semua buffer terminal, histori perintah agen, dan file ruang kerja akan dipulihkan persis seperti saat Anda meninggalkannya.

Langkah berikutnya