Memahami system prompts
System prompt adalah set instruksi awal yang membentuk bagaimana Claude berperilaku sepanjang percakapan.Perilaku default: Agent SDK menggunakan system prompt kosong secara default untuk fleksibilitas maksimum. Untuk menggunakan system prompt Claude Code (instruksi tool, panduan kode, dll.), tentukan
systemPrompt: { preset: "claude_code" }
di TypeScript atau system_prompt="claude_code"
di Python.- Instruksi penggunaan tool dan tool yang tersedia
- Panduan gaya dan format kode
- Pengaturan nada respons dan verbositas
- Instruksi keamanan dan keselamatan
- Konteks tentang direktori kerja saat ini dan lingkungan
Metode modifikasi
Metode 1: Output styles (konfigurasi persisten)
Output styles adalah konfigurasi tersimpan yang memodifikasi system prompt Claude. Mereka disimpan sebagai file markdown dan dapat digunakan kembali di seluruh sesi dan proyek.Membuat output style
Menggunakan output styles
Setelah dibuat, aktifkan output styles melalui:- CLI:
/output-style [style-name]
- Settings:
.claude/settings.local.json
- Buat baru:
/output-style:new [description]
Metode 2: Menggunakan systemPrompt
dengan append
Anda dapat menggunakan preset Claude Code dengan properti append
untuk menambahkan instruksi kustom Anda sambil mempertahankan semua fungsionalitas bawaan.
Metode 3: Custom system prompts
Anda dapat menyediakan string kustom sebagaisystemPrompt
untuk mengganti default sepenuhnya dengan instruksi Anda sendiri.
Perbandingan ketiga pendekatan
Fitur | Output Styles | systemPrompt dengan append | Custom systemPrompt |
---|---|---|---|
Persistensi | ✅ Disimpan sebagai file | ❌ Hanya sesi | ❌ Hanya sesi |
Reusabilitas | ✅ Lintas proyek | ❌ Duplikasi kode | ❌ Duplikasi kode |
Manajemen | ✅ CLI + file | ⚠️ Dalam kode | ⚠️ Dalam kode |
Tool default | ✅ Dipertahankan | ✅ Dipertahankan | ❌ Hilang (kecuali disertakan) |
Keamanan bawaan | ✅ Dipelihara | ✅ Dipelihara | ❌ Harus ditambahkan |
Konteks lingkungan | ✅ Otomatis | ✅ Otomatis | ❌ Harus disediakan |
Level kustomisasi | ⚠️ Ganti default | ⚠️ Hanya penambahan | ✅ Kontrol penuh |
Version control | ✅ Ya | ✅ Dengan kode | ✅ Dengan kode |
Discovery | ✅ /output-style | ❌ Tidak dapat ditemukan | ❌ Tidak dapat ditemukan |
systemPrompt: { type: "preset", preset: "claude_code", append: "..." }
di TypeScript atau system_prompt={"type": "preset", "preset": "claude_code", "append": "..."}
di Python.
Kasus penggunaan dan praktik terbaik
Kapan menggunakan output styles
Terbaik untuk:- Perubahan perilaku persisten di seluruh sesi
- Konfigurasi yang dibagikan tim
- Asisten khusus (code reviewer, data scientist, DevOps)
- Modifikasi prompt kompleks yang memerlukan versioning
- Membuat asisten optimisasi SQL khusus
- Membangun code reviewer yang berfokus pada keamanan
- Mengembangkan asisten pengajar dengan pedagogi spesifik
Kapan menggunakan systemPrompt
dengan append
Terbaik untuk:
- Menambahkan standar atau preferensi coding spesifik
- Menyesuaikan format output
- Menambahkan pengetahuan domain-spesifik
- Memodifikasi verbositas respons
- Meningkatkan perilaku default Claude Code tanpa kehilangan instruksi tool
Kapan menggunakan custom systemPrompt
Terbaik untuk:
- Kontrol penuh atas perilaku Claude
- Tugas khusus sesi tunggal
- Menguji strategi prompt baru
- Situasi di mana tool default tidak diperlukan
- Membangun agen khusus dengan perilaku unik
Menggabungkan pendekatan
Anda dapat menggabungkan metode ini untuk fleksibilitas maksimum:Contoh: Output style dengan penambahan spesifik sesi
Lihat juga
- Output styles - Dokumentasi lengkap output styles
- Panduan TypeScript SDK - Panduan penggunaan SDK lengkap
- Referensi TypeScript SDK - Dokumentasi API lengkap
- Panduan konfigurasi - Opsi konfigurasi umum