- Gemini CLI mulai secara resmi mendukung arsitektur multiagen yang dapat mendelegasikan tugas kompleks dan berulang kepada subagen spesialis
- Setiap subagen berjalan di lingkungan terisolasi dengan jendela konteks independen, instruksi sistem kustom, dan kumpulan alat khusus
- Subagen kustom didefinisikan dengan file Markdown dan YAML frontmatter, serta bisa dibagikan dengan tim di tingkat global maupun proyek
- Beberapa subagen dapat dijalankan secara paralel, sehingga total waktu untuk banyak tugas seperti riset dan refactoring bisa dipangkas secara signifikan
- Bersama agen bawaan default (generalist, cli_help, codebase_investigator), delegasi tugas eksplisit dimungkinkan lewat sintaks @agent, sehingga skalabilitas alur kerja pengembangan berbasis CLI meningkat
Konsep subagen dan manfaat utama
- Subagen adalah agen spesialis yang bekerja bersama sesi utama Gemini CLI; saat menerima tugas kompleks, Gemini CLI berperan sebagai orkestrator strategis dan mendelegasikan subtugas ke subagen yang paling sesuai
- Setiap subagen memiliki tools, server MCP, instruksi sistem, dan jendela konteks sendiri, lalu dijalankan dalam keadaan sepenuhnya terisolasi
- Seluruh eksekusi subagen, termasuk puluhan pemanggilan alat, pencarian file, dan menjalankan pengujian, digabungkan menjadi satu respons lalu dikembalikan ke agen utama
- Ini mencegah jendela konteks utama cepat penuh dan menjaga interaksi lanjutan tetap cepat serta efisien dari sisi biaya
- Tiga manfaat utamanya:
- Agen utama dapat fokus pada tujuan keseluruhan, pengambilan keputusan, dan respons akhir
- Kecepatan kerja meningkat dengan menjalankan subagen spesialis untuk riset, penelusuran kode, analisis, dan pengujian secara paralel
- Karena subagen mengembalikan ringkasan atau respons terformat, sesi utama terlindung dari context rot dan context pollution
Membuat subagen kustom
- Subagen kustom didefinisikan di file Markdown (
.md) menggunakan YAML frontmatter
- Jika ditempatkan di
~/.gemini/agents, ia terdaftar sebagai agen global untuk alur kerja pribadi; jika dikomit ke .gemini/agents di repositori, ia bisa dibagikan dengan tim di tingkat proyek
- File definisi agen juga dapat disertakan di direktori
agents/ pada Gemini CLI extensions agar dibundel sebagai bagian dari ekstensi
- Contoh konfigurasi agen
frontend-specialist yang disediakan:
- Frontmatter mendefinisikan
name, description, tools(read_file, grep_search, glob, list_directory, web_fetch, google_web_search), model: inherit, dan lainnya
- Instruksi sistem menetapkan peran Senior Frontend Specialist dan UI/UX Architect
- Prinsip utamanya mencakup desain arsitektur modular, optimasi performa berbasis Core Web Vitals, dan kepatuhan aksesibilitas WCAG 2.1+
- Panduannya mencakup mengutamakan API native browser, desain komponen Atomic, umpan balik visual untuk tiap status (loading, skeleton, error, status kosong, sukses), Progressive Enhancement, dan desain yang berfokus pada pemeliharaan
- Peran agen ini dibatasi pada analisis dan usulan perbaikan, serta tidak langsung mengubah kode
- Jika file ditempatkan di
.gemini/agents/frontend-specialist.md, Gemini CLI akan langsung mengenalinya sebagai spesialis baru
Eksekusi paralel
- Gemini CLI mendukung eksekusi subagen paralel, sehingga beberapa subagen atau banyak instans dari subagen yang sama bisa dijalankan secara bersamaan
- Saat perlu meneliti 5 topik berbeda atau melakukan refactor pada beberapa komponen terpisah, banyak agen dapat didispatch sekaligus untuk memangkas total waktu secara signifikan
- Contoh permintaan eksplisit: "Run the frontend-specialist on each package in parallel."
- Hal yang perlu diperhatikan:
- Penggunaan subagen paralel untuk pekerjaan pengeditan kode skala besar bisa menimbulkan konflik dan risiko kode tertimpa antaragen
- Karena permintaan dikirim bersamaan saat berjalan paralel, batas penggunaan (usage limits) bisa tercapai lebih cepat
Subagen bawaan dan cara pakainya
- Tiga subagen yang disertakan secara default di Gemini CLI:
- generalist: agen serbaguna dengan akses ke semua alat, cocok untuk tugas yang intensif per giliran seperti batch refactoring atau menjalankan perintah dengan output besar (pada dasarnya salinan agen Gemini CLI biasa yang digunakan sebagai subagen)
- cli_help: agen ahli untuk Gemini CLI itu sendiri, dengan akses langsung ke dokumentasi Gemini CLI untuk menjawab pertanyaan terkait fitur
- codebase_investigator: dikhususkan untuk penelusuran codebase, pemetaan arsitektur, analisis akar penyebab bug, dan memahami dependensi di seluruh sistem
- Gemini CLI melakukan routing otomatis berdasarkan description subagen, tetapi tugas juga bisa didelegasikan secara eksplisit ke agen tertentu dengan sintaks @agent
- Contoh:
@frontend-specialist minta review aplikasi dan tandai area yang perlu ditingkatkan
- Contoh:
@generalist perbarui header lisensi di seluruh proyek
- Contoh:
@codebase_investigator petakan alur autentikasi
- Menambahkan nama subagen setelah simbol @ akan membuat tugas diproses di dalam jendela konteks terisolasi milik agen tersebut
- Untuk melihat semua subagen yang saat ini dikonfigurasi, jalankan perintah
/agents di dalam Gemini CLI
1 komentar
Gemini CLI sih bakal bagus kalau bisa jalan dengan benar, tapi hampir selalu ngadat.