Subagent
Pelajari bagaimana Bob menggunakan subagent untuk menangani tugas yang fokus dan mandiri dalam konteks terisolasi tanpa mengotori percakapan utama.
Apa itu subagent?
Subagent adalah agen independen yang bisa di-spawn Bob untuk menangani tugas yang fokus dan mandiri. Subagent berjalan di context window terisolasinya sendiri, mengeksekusi pekerjaan yang ditugaskan, lalu mengembalikan ringkasan hasilnya ke percakapan utama.
Subagent berguna untuk pekerjaan yang jika tidak akan menambahkan banyak konten yang tidak relevan ke percakapan yang sedang berjalan—misalnya, mengeksplorasi secara mendalam satu bagian codebase untuk mengumpulkan informasi tertentu sebelum Bob melanjutkan tugas utama.
Cara kerja subagent
Saat Bob me-spawn subagent:
- Agen baru yang independen dibuat dengan context window-nya sendiri.
- Bob meneruskan deskripsi tugas fokus yang harus dikerjakan.
- Kamu diminta menyetujui spawn tersebut sebelum dimulai. Bob menunggu sampai kamu mengonfirmasi.
- Subagent mengeksekusi tugas menggunakan tool yang tersedia baginya.
- Subagent mengembalikan ringkasan temuannya ke Bob.
- Bob menggunakan ringkasan itu untuk melanjutkan percakapan utama.
Subagent berjalan terpisah dari percakapan utama. Ia tidak berbagi state, file, atau hasil tool dengan Bob kecuali Bob secara eksplisit meneruskannya dalam deskripsi.
Jenis subagent
Ada dua jenis subagent, masing-masing cocok untuk tugas yang berbeda:
| Type | Deskripsi | Paling cocok untuk |
|---|---|---|
explore | Eksplorasi codebase read-only, berjalan pada model yang lebih ringan | Mencari dan merangkum kode, menemukan file yang relevan, memahami struktur |
general | Akses tool penuh, berjalan pada model default | Tugas mandiri apa pun yang membutuhkan pembacaan, penulisan, atau command |
Konteks dan riwayat percakapan
Secara default, subagent tidak melihat riwayat percakapan parent. Ini membuat konteksnya tetap ramping dan fokus pada tugas yang sedang dikerjakan.
Saat subagent perlu memahami keputusan, batasan, atau preferensi yang disebutkan sebelumnya dalam percakapan, Bob dapat menyetel fork_context: true untuk meneruskan riwayat percakapan ke subagent.
Batasan mode
Mode tempat kamu bekerja mengontrol jenis subagent apa yang boleh di-spawn Bob. Beberapa mode mengizinkan semua jenis subagent; yang lain membatasi spawn ke jenis tertentu atau tidak mengizinkannya sama sekali. Jika spawn subagent tidak diizinkan oleh mode aktif, Bob akan menyelesaikan pekerjaannya secara langsung tanpa me-spawn subagent.
Kapan Bob menggunakan subagent
Bob menggunakan subagent dengan hemat. Default-nya selalu mengerjakan tugas secara langsung tanpa me-spawn subagent. Subagent hanya dipertimbangkan jika semua hal berikut benar:
- Tugasnya jelas mandiri dan hanya perlu mengembalikan ringkasan.
- Tugas itu akan menambahkan banyak konten yang tidak relevan ke konteks utama.
- Tugas itu tidak bisa diselesaikan dengan satu atau dua pemanggilan tool langsung.
Bob tidak menggunakan subagent untuk:
- Pembacaan file sederhana atau pencarian cepat.
- Operasi satu tool.
- Tugas ketika konteks yang relevan sudah tersedia.
Subagent vs. subtask
Subagent dan subtask saling terkait, tetapi merupakan konsep yang berbeda:
| Subagent | Subtask | |
|---|---|---|
| Visibility | Berjalan diam-diam di background | Muncul di UI dengan breadcrumb dan percakapannya sendiri |
| Interaction | Tidak interaktif—hanya mengembalikan ringkasan | Sepenuhnya interaktif—kamu bisa mengikuti progres dan melanjutkan percakapannya |
| Purpose | Mengumpulkan informasi atau menyelesaikan pekerjaan terisolasi tanpa mengotori konteks utama | Menangani pekerjaan yang cukup kompleks sehingga lebih baik punya pelacakan khusus dan thread terpisah |
| Output | Ringkasan yang dikembalikan ke Bob | Thread percakapan independen |
Gunakan subagent untuk pengumpulan informasi di background. Gunakan subtask untuk pekerjaan kompleks yang mendapat manfaat dari visibilitas dan percakapan khusus.
Membentuk perilaku subagent
Kamu bisa mengontrol apa yang menjadi fokus subagent, bagaimana ia memformat output, dan tool apa yang bisa dipakainya dengan membuat file persona agen di .bob/agents/. File persona memberi subagent role yang jelas dan seperangkat batasan — misalnya, code reviewer yang menghasilkan tabel temuan berdasarkan severity dan secara eksplisit diminta untuk tidak menyarankan perbaikan.
Untuk instruksi setup dan contoh, lihat Persona agen.