SOUL.md: Kenapa 50 Baris Ini Lebih Penting dari Model AI Lo
SOUL.md itu file paling penting
SOUL.md itu file paling penting di setup Setiap Agent lo. Bukan model-nya. Bukan tools-nya. Bukan skills-nya. Hnaya 1 file yang berisi 50 baris yang namanya SOUL.md.
Kenapa? Karena setiap sesi, setiap turn, setiap profil, SOUL.md yang dibaca pertama. Dia yang nentuin AI lo bakal jadi apa sebelum yang lain dimuat.
SOUL.md Itu Apa Sih Sebenernya?
Bayangin lo punya karyawan baru tiap pagi. Tiap pagi dia lupa semuanya. Lo harus jelasin lagi: "Lo kerja di sini, gaya kerja lo gini, jangan pernah lakuin ini."
SOUL.md itu kayak surat perkenalan yang tiap pagi dikasih ke AI lo. Isinya: lo siapa, gimana cara lo ngomong, apa yang lo prioritaskan, apa yang nggak boleh lo lakuin.
Kalau file ini nggak ada, Hermes bakal pake default: "You are Hermes Agent, an intelligent AI assistant..." โ generic banget, kayak template yang bisa dipake siapa aja.
Letaknya di:
~/.hermes/SOUL.mduntuk profil default~/.hermes/profiles/nama-profil/SOUL.mduntuk profil khusus
Yang penting: SOUL.md selalu dimuat dari HERMES_HOME, bukan dari folder project lo. Jadi personality lo tetap sama mau lo lagi ngoding di project A atau project B.
Kenapa 50 Baris Lebih Penting dari Model Mahal?
Ini matematikanya sederhana.
SOUL.md dimasukin ke setiap turn percakapan. Kalau lo ngobrol 20 turn sama AI, SOUL.md dibaca 20 kali.
SOUL.md 50 baris itu sekitar 400-500 tokens per turn. Dalam 20 turn, itu 8.000 tokens cuma buat identitas.
SOUL.md 200 baris? Sekitar 1.500-2.000 tokens per turn. Dalam 20 turn, 40.000 tokens. Cuma buat bilang "lo siapa".
Dengan prompt caching di Anthropic (diskon ~75% setelah turn pertama), 50 baris cuma makan ~2.400 tokens di 20 turn. 200 baris? ~12.000 tokens.
Bedanya 5x. Dan itu di setiap sesi. Kalau lo jalanin cron jobs terus-terusan, token-nya numpuk.
Jadi pertanyaannya bukan "model apa yang paling bagus?", tapi "SOUL.md lo udah bener belum?"
Apa yang Pantas Masuk SOUL.md (dan Apa yang Nggak)
Ok Ini kesalahan paling umum. Orang masukin semuanya ke SOUL.md. Instruksi project, workflow, dokumentasi API, konfigurasi tools. SOUL.md jadi 200+ baris dan makan token di setiap turn.
Yang masuk SOUL.md:
- Identitas (siapa AI lo, perannya apa)
- Suara (gimana cara ngomong, nada, gaya)
- Nilai (apa yang diprioritaskan, apa yang dihindari)
- Batasan (apa yang nggak boleh dilakuin)
- Prinsip operasi (kapan minta izin, kapan langsung jalan)
Yang nggak masuk SOUL.md:
- Instruksi spesifik project โ taruh di AGENTS.md
- Konvensi ngoding โ taruh di AGENTS.md atau .cursorrules
- Workflow multi-step โ taruh di Skills
- Fakta tentang lo โ taruh di MEMORY.md dan USER.md
- Konfigurasi tools โ taruh di config.yaml
Contoh pembagiannya:
SOUL.md (siapa AI lo):
# Soul
You are a senior fullstack engineer who writes clean, tested code.
You explain decisions briefly. You push back on bad ideas.
# Voice
Direct. Technical. No fluff. Indonesian when talking to Goro.
# Operations
Ship first, discuss later. Tests before code.
# Restrictions
Never commit secrets. Never deploy without review.
AGENTS.md (apa yang project ini butuh, taruh di root project):
# Stack
Next.js 16, Tailwind v4, Prisma, PostgreSQL
# Conventions
- Use functional components
- Error boundaries on all routes
- Prisma for all DB access
SOUL.md jalan bareng lo ke semua project. AGENTS.md ganti tiap lo ganti folder project.
Struktur yang Bener
Dari contoh resmi dan SOUL.md yang performanya paling bagus di komunitas, struktur ini nutupin semua elemen penting dengan token minimal:
Empat section. Masing-masing maksimal 15-20 baris. Total: 50-80 baris.
Contoh starter resmi cuma 18 baris. Bersih. Setiap baris ngubah perilaku AI.
SOUL.md vs /personality
SOUL.md itu identitas permanen. Gimana AI lo berperilaku di semua sesi. Siapa dia.
/personality itu overlay sesi. Untuk sementara ngubah perilaku tanpa ngubah SOUL.md.
/personality codereviewer
Ini load personality khusus dari config.yaml buat sesi ini aja. Sesi baru, overlay hilang, SOUL.md balik lagi.
Kapan pake yang mana?
SOUL.md: Lo pengen AI lo jadi co-founder yang kritis. Itu identitasnya. Permanen.
/personality: Tapi sekarang lo butuh brainstorming bebas tanpa pushback. Pake /personality brainstorm buat sesi ini. Besok, co-founder-nya balik.
Jangan edit SOUL.md buat sesi satu kali terus lupa balikin. Pake /personality.
Profil: Banyak AI dalam Satu Mesin
Setiap profil Hermes punya SOUL.md sendiri, memory sendiri, skills sendiri, config sendiri. Jalanin beberapa profil berarti jalanin beberapa AI.
Strukturnya:
~/.hermes/profiles/researcher/
โโโ SOUL.md # identitas researcher
โโโ config.yaml # model: gpt-5.5
โโโ .env # API keys
โโโ memories/ # memory khusus researcher
โโโ skills/ # skills khusus researcher
โโโ cron/ # jadwal khusus researcher
Dan model-nya harus beda per profil:
researcher: SOUL.md research analyst, model gpt-5.5 (murah, volume tinggi)
coder: SOUL.md senior engineer, model claude-fable-5 (coding terbaik)
content: SOUL.md content strategist, model claude-sonnet-4 (nulis paling bagus)
ops: SOUL.md operations manager, model deepseek-v4-flash (tugas rutin, paling murah)
Model Mana yang Paling Nurut Sama SOUL.md?
Nggak semua model interpretasi SOUL.md lo dengan presisi yang sama.
Claude (Sonnet, Opus, Fable): Paling nurut. Ikutin restrictions dan voice instructions dengan tepat. Jarang menyimpang dari batasan yang lo tulis.
GPT-5.5: Bagus buat instruksi umum. Tapi bisa menyimpang dari voice guidelines yang nuanced di sesi panjang. Perkuat aturan penting di dua tempat: Soul dan Restrictions.
DeepSeek V4 Flash: Nurut instruksi sederhana. Tapi bisa abaikan guidelines behavioral yang halus. Jadi SOUL.md-nya harus pendek dan langsung. "Jangan pernah lakuin X" lebih efektif daripada "berkomunikasi dengan confidence yang terukur".
Model lokal (Qwen, Gemma): Ikutin struktur dasar tapi struggle sama aturan behavioral yang kompleks. Pake SOUL.md sesederhana mungkin. Fokus ke restrictions, bukan voice.
Kalau AI lo terus ngelanggar aturan, seringnya bukan karena SOUL.md lo kurang panjang. Tapi karena model-nya nggak cocok. Ganti model, bukan tambah baris.
Kesalahan yang Sering Terjadi
1. Masukin semuanya ke SOUL.md
Instruksi project, workflow, dokumentasi API. SOUL.md jadi 200 baris. Setiap turn makan 2.000 tokens cuma buat identitas. Pindahin instruksi project ke AGENTS.md. Pindahin workflow ke skills. Pindahin fakta ke MEMORY.md.
2. Nge-desain SOUL.md sempurna dalam sekali jalan
Dokumentasi resmi bilang: "Pendekatan iteratif lebih bagus daripada nyoba nulis personality sempurna sekaligus." Mulai dari 20 baris. Pake Hermes seminggu. Perhatiin di mana dia menyimpang dari yang lo mau. Tambah satu baris. Hapus satu baris. SOUL.md terbaik itu tumbuh dari pengalaman, bukan dirancang dari nol.
3. Copy-paste SOUL.md orang lain tanpa baca
Profile distributions itu powerful, tapi SOUL.md langsung aktif di sesi pertama. SOUL.md yang ditulis asal-asalan atau jahat bisa ngubah perilaku AI lo dengan cara yang nggak lo duga. Baca setiap SOUL.md sebelum make.
4. Nggak pake /personality buat perubahan sementara
Edit SOUL.md buat sesi brainstorming 30 menit, terus lupa balikin. Pake /personality. SOUL.md tetap utuh.
Cara Ngetes SOUL.md Lo
Setelah nulis atau edit SOUL.md, verifikasi:
Test 1 โ Identitas: "Lo siapa? Peran lo apa?" AI harus jelasin dirinya pake identitas dari SOUL.md lo, bukan default.
Test 2 โ Suara: "Jelasin cron job itu apa." Bandingin nada dan gayanya sama yang lo tulis di SOUL.md. Researcher soul harusnya faktual. Co-founder soul harusnya strategis.
Test 3 โ Restriksi: Minta AI lakuin sesuatu yang dilarang SOUL.md lo. Harusnya dia nolak atau minta konfirmasi.
Test 4 โ Token count: Cek berapa token SOUL.md lo. Kalau udah lebih dari 800 tokens, potong.
Test 5 โ Drift (setelah 2 minggu): Mulai sesi baru, ulang test 1-3. AI dengan deep memory bisa menyimpang dari SOUL.md seiring waktu karena konteks yang numpuk lebih berat dari identitas.
SOUL.md dan Memory Jangka Panjang
SOUL.md ngurus identitas (siapa AI lo). Memory ngurus pengetahuan (apa yang dia tahu). Dua-duanya ada batasnya.
Built-in memory ada cap-nya: 2.200 karakter untuk MEMORY.md, 1.375 untuk USER.md. Buat kerjaan yang numpuk pengetahuan selama berminggu-minggu (riset, riwayat klien, strategi konten), itu bisa jadi bottleneck.
Dua cara ngakalin:
External memory providers (Mem0, Honcho): Pake retrieval-based injection, bukan full dump. Cuma memory yang relevan yang dimuat per turn. 72% lebih hemat token.
Obsidian vault: Hermes punya skill Obsidian bawaan. AI bisa baca, cari, dan bikin catatan di vault lo. Obsidian jadi layer memory jangka panjang yang nggak ada batasnya.
SOUL.md ngurus identitas. MEMORY.md ngurus working memory (ada batas). Obsidian ngurus long-term knowledge (semua yang pernah dipelajari, tanpa batas).
Kesimpulan
SOUL.md itu 50-80 baris yang nentuin semuanya: gimana AI lo mikir, ngomong, dan beroperasi. File dengan leverage paling gede di setup lo.
Beda antara AI yang berguna sama AI yang bikin frustrasi biasanya bukan di model. Bukan di tools. Bukan di prompt engineering. Tapi di identitasnya.
Mulai dari 20 baris. Iterasi dari pengalaman. Biar AI lo nulis ulang SOUL.md-nya sendiri setelah sebulan kerja bareng.
SOUL.md yang bagus itu tumbuh, bukan dirancang.
Sumber: YanXbt di X โ