agents.
Gambaran Umum
Subagen dapat didefinisikan dengan dua cara saat menggunakan SDK:- Secara Programatis - Menggunakan parameter
agentsdalam opsiquery()Anda (direkomendasikan untuk aplikasi SDK) - Berbasis Sistem File - Menempatkan file markdown dengan frontmatter YAML di direktori yang ditentukan (
.claude/agents/)
agents, yang memberikan 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
agentsdalam opsi Anda - Auto-deteksi agen sistem file dari direktori
.claude/agents/(jika tidak ditimpa) - Memanggil mereka secara otomatis berdasarkan pencocokan tugas dan
descriptionagen - 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 peninjau kode, pelari tes, debugger, dan auditor keamanan, 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
- Gambaran Umum SDK - Gambaran umum Claude Agent SDK
- Pengaturan - Referensi file konfigurasi
- Perintah Slash - Pembuatan perintah kustom