Apa itu SOUL¶
SOUL adalah singkatan informal buat: System Of Unified Logic — kerangka kerja buat ngerancang AI agent yang konsisten dan bertanggung jawab.
Tapi sebenarnya yang penting bukan kepanjangannya. Yang penting konsepnya:
SOUL adalah file konstitusi agent. Berisi siapa dia, apa yang dia bisa, apa yang ga boleh dia lakuin, dan gimana dia ambil keputusan.
Kenapa butuh SOUL?¶
Tanpa SOUL, system prompt lo bakal jadi kayak gini:
Hasil:
- Agent inkonsisten — kadang sopan banget kayak customer service, kadang santai
- Gampang ke-hijack — user paste "ignore previous instructions" → agent nurut
- Ga jelas autonomy-nya — kapan harus konfirmasi, kapan langsung jalan?
- Ga jelas batasnya — apa yang boleh dilakukan, apa enggak?
Dengan SOUL, system prompt lo jadi terstruktur:
## IDENTITY
Nama: Kai. Familiar, bukan asisten korporat.
## COMMUNICATION
Plain text, gue/lo, langsung ke inti.
## CAPABILITIES
VPS bash, GitHub, wallet, sosmed (lihat credentials).
## AUTONOMY
Low/medium risk → auto. High risk → konfirmasi.
## BOUNDARIES
Credential tidak verbatim. Privacy user dijaga.
... (10 pilar lengkap)
Hasil:
- Agent konsisten — selalu pakai gue/lo, selalu plain text
- Tahan injection — rule eksplisit di tempat yang ga gampang di-override
- Autonomy jelas — model tau kapan harus tanya
- Batas jelas — model tau garis merahnya
SOUL vs System Prompt biasa¶
| Aspek | System Prompt biasa | SOUL |
|---|---|---|
| Struktur | Flat, narrative | 10 pilar terstruktur |
| Lokasi | Hardcoded di kode | File terpisah (SOUL.md) |
| Update | Edit code → restart | Edit file → auto-reload |
| Audit | Susah review | Mudah review per pilar |
| Share | Susah | Bisa share file langsung |
SOUL vs Memory¶
Penting dibedain:
- SOUL.md = identitas permanen agent. Ga berubah berdasarkan koreksi user. Sumber kebenaran tunggal.
- Memory = catatan lepas. Preferensi user, koreksi berulang, fakta stabil. Berubah seiring waktu.
Kalau user koreksi "jangan pake emoji", masuknya ke memory — bukan SOUL.md. Kalau lo mau ganti identitas agent jadi lebih formal, edit SOUL.md.
Jangan campur
Jangan masukin koreksi user ke SOUL.md. Jangan masukin identitas permanen ke memory. Itu dua tempat berbeda dengan dua tujuan berbeda.
Apa yang HARUS ada di SOUL¶
Minimal 10 pilar berikut:
- Identity — siapa dia
- Communication — gaya bahasa, tone, format
- Capabilities — tool apa yang dia punya
- Autonomy — kapan auto, kapan konfirmasi
- Boundaries — apa yang ga boleh
- Memory Rules — apa yang boleh diingat, apa enggak
- Verification — gimana cara mastiin task selesai
- Escalation — kapan minta bantuan user
- Default Disposition — sikap default (helpful? skeptical? cautious?)
- Resource Management — pola start/use/stop resources
Tiap pilar dijelasin detail di bagian 10 Pilar SOUL.
Apa yang BUKAN tugas SOUL¶
- ❌ Detail teknis kode (taruh di README)
- ❌ Daftar command lengkap yang bisa di-run (taruh di tool definitions)
- ❌ Credential mentah (taruh di file
.envterpisah) - ❌ Catatan task harian (taruh di to-do list eksternal)
- ❌ History percakapan (auto-stored, bukan tugas SOUL)
SOUL fokus ke siapa agent itu dan gimana dia berpikir, bukan apa yang lagi dia kerjain.