agents
.
Gambaran Umum
Subagen dapat didefinisikan dalam dua cara saat menggunakan SDK:- Secara Programatis - Menggunakan parameter
agents
dalam opsiquery()
Anda (direkomendasikan untuk aplikasi SDK) - Berbasis Sistem File - Menempatkan file markdown dengan frontmatter YAML di direktori yang ditentukan (
.claude/agents/
)
agents
, yang menyediakan pengalaman pengembangan yang lebih terintegrasi untuk aplikasi SDK.
Manfaat Menggunakan Subagen
Manajemen Konteks
Subagen mempertahankan konteks terpisah dari agen utama, mencegah kelebihan informasi dan menjaga interaksi tetap fokus. Isolasi ini memastikan bahwa tugas-tugas khusus tidak mencemari konteks percakapan utama dengan detail yang tidak relevan. Contoh: Subagenresearch-assistant
dapat menjelajahi puluhan file dan halaman dokumentasi tanpa mengacaukan percakapan utama dengan semua hasil pencarian perantara - hanya mengembalikan temuan yang relevan.
Paralelisasi
Beberapa subagen dapat berjalan secara bersamaan, secara dramatis mempercepat alur kerja yang kompleks. Contoh: Selama tinjauan kode, Anda dapat menjalankan subagenstyle-checker
, security-scanner
, dan test-coverage
secara bersamaan, mengurangi waktu tinjauan dari menit menjadi detik.
Instruksi dan Pengetahuan Khusus
Setiap subagen dapat memiliki prompt sistem yang disesuaikan dengan keahlian, praktik terbaik, dan batasan tertentu. Contoh: Subagendatabase-migration
dapat memiliki pengetahuan detail tentang praktik terbaik SQL, strategi rollback, dan pemeriksaan integritas data yang akan menjadi noise yang tidak perlu dalam instruksi agen utama.
Pembatasan Alat
Subagen dapat dibatasi pada alat tertentu, mengurangi risiko tindakan yang tidak diinginkan. Contoh: Subagendoc-reviewer
mungkin hanya memiliki akses ke alat Read dan Grep, memastikan ia dapat menganalisis tetapi tidak pernah secara tidak sengaja memodifikasi file dokumentasi Anda.
Membuat Subagen
Definisi Programatis (Direkomendasikan)
Definisikan subagen langsung dalam kode Anda menggunakan parameteragents
:
Konfigurasi AgentDefinition
Field | Type | Required | Description |
---|---|---|---|
description | string | Ya | Deskripsi bahasa alami tentang kapan menggunakan agen ini |
prompt | string | Ya | Prompt sistem agen yang mendefinisikan peran dan perilakunya |
tools | string[] | Tidak | Array nama alat yang diizinkan. Jika dihilangkan, mewarisi semua alat |
model | 'sonnet' | 'opus' | 'haiku' | 'inherit' | Tidak | Override model untuk agen ini. Default ke model utama jika dihilangkan |
Definisi Berbasis Sistem File (Alternatif)
Anda juga dapat mendefinisikan subagen sebagai file markdown di direktori tertentu:- Level proyek:
.claude/agents/*.md
- Tersedia hanya dalam proyek saat ini - Level pengguna:
~/.claude/agents/*.md
- Tersedia di semua proyek
agents
) mengambil prioritas atas agen berbasis sistem file dengan nama yang sama.
Bagaimana SDK Menggunakan Subagen
Saat menggunakan Claude Agent SDK, subagen dapat didefinisikan secara programatis atau dimuat dari sistem file. Claude akan:- Memuat agen programatis dari parameter
agents
dalam opsi Anda - Auto-deteksi agen sistem file dari direktori
.claude/agents/
(jika tidak ditimpa) - Memanggil mereka secara otomatis berdasarkan pencocokan tugas dan
description
agen - Menggunakan prompt khusus mereka dan pembatasan alat
- Mempertahankan konteks terpisah untuk setiap pemanggilan subagen
agents
) mengambil prioritas atas agen berbasis sistem file dengan nama yang sama.
Contoh Subagen
Untuk contoh komprehensif subagen termasuk code reviewer, test runner, debugger, dan security auditor, lihat panduan Subagen utama. Panduan ini mencakup konfigurasi detail dan praktik terbaik untuk membuat subagen yang efektif.Pola Integrasi SDK
Pemanggilan Otomatis
SDK akan secara otomatis memanggil subagen yang sesuai berdasarkan konteks tugas. Pastikan fielddescription
agen Anda dengan jelas menunjukkan kapan harus digunakan:
Pemanggilan Eksplisit
Pengguna dapat meminta subagen tertentu dalam prompt mereka:Konfigurasi Agen Dinamis
Anda dapat mengkonfigurasi agen secara dinamis berdasarkan kebutuhan aplikasi Anda:Pembatasan Alat
Subagen dapat memiliki akses alat yang dibatasi melalui fieldtools
:
- Hilangkan field - Agen mewarisi semua alat yang tersedia (default)
- Tentukan alat - Agen hanya dapat menggunakan alat yang terdaftar
Kombinasi Alat Umum
Agen read-only (analisis, tinjauan):Dokumentasi Terkait
- Panduan Subagen Utama - Dokumentasi subagen komprehensif
- Panduan Konfigurasi SDK - Gambaran umum pendekatan konfigurasi
- Pengaturan - Referensi file konfigurasi
- Perintah Slash - Pembuatan perintah kustom