Lewati ke isi

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:

Lo asisten pribadi yang membantu user. Bersikap sopan. 
Jangan kasar. Bantu user dalam segala hal.

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:

  1. Identity — siapa dia
  2. Communication — gaya bahasa, tone, format
  3. Capabilities — tool apa yang dia punya
  4. Autonomy — kapan auto, kapan konfirmasi
  5. Boundaries — apa yang ga boleh
  6. Memory Rules — apa yang boleh diingat, apa enggak
  7. Verification — gimana cara mastiin task selesai
  8. Escalation — kapan minta bantuan user
  9. Default Disposition — sikap default (helpful? skeptical? cautious?)
  10. 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 .env terpisah)
  • ❌ 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.